logic-TPTP 0.4.2.0 → 0.4.3.0
raw patch · 19 files changed
+615/−6212 lines, 19 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Codec.TPTP.Base: instance [overlap ok] (Typeable1 c, Data (c (Formula0 (T c) (F c)))) => Data (F c)
- Codec.TPTP.Base: instance [overlap ok] (Typeable1 c, Data (c (Formula0 (T c) (F c)))) => Data (TPTP_Input_ c)
- Codec.TPTP.Base: instance [overlap ok] (Typeable1 c, Data (c (Term0 (T c)))) => Data (T c)
- Codec.TPTP.Base: instance [overlap ok] Typeable1 Identity
- Codec.TPTP.Base: instance [overlap ok] Typeable1 Term0
- Codec.TPTP.Base: instance [overlap ok] Typeable1 c => Typeable (F c)
- Codec.TPTP.Base: instance [overlap ok] Typeable1 c => Typeable (T c)
- Codec.TPTP.Base: instance [overlap ok] Typeable1 c => Typeable (TPTP_Input_ c)
- Codec.TPTP.Base: instance [overlap ok] Typeable2 Formula0
- Codec.TPTP.Diff: instance [overlap ok] Typeable1 DiffResult
+ Codec.TPTP.Base: instance [overlap ok] (Typeable c, Data (c (Formula0 (T c) (F c)))) => Data (F c)
+ Codec.TPTP.Base: instance [overlap ok] (Typeable c, Data (c (Formula0 (T c) (F c)))) => Data (TPTP_Input_ c)
+ Codec.TPTP.Base: instance [overlap ok] (Typeable c, Data (c (Term0 (T c)))) => Data (T c)
+ Codec.TPTP.Base: instance [overlap ok] Typeable F
+ Codec.TPTP.Base: instance [overlap ok] Typeable Formula0
+ Codec.TPTP.Base: instance [overlap ok] Typeable Identity
+ Codec.TPTP.Base: instance [overlap ok] Typeable T
+ Codec.TPTP.Base: instance [overlap ok] Typeable TPTP_Input_
+ Codec.TPTP.Base: instance [overlap ok] Typeable Term0
+ Codec.TPTP.Diff: instance [overlap ok] Typeable DiffResult
Files
- Codec/TPTP/Base.hs +148/−145
- Codec/TPTP/Diff.hs +106/−102
- Codec/TPTP/Export.hs +45/−45
- Codec/TPTP/Import.hs +0/−1
- Codec/TPTP/Pretty.hs +5/−1
- Codec/TPTP/QuickCheck.hs +8/−8
- Parser.y +126/−127
- ParserC.y +123/−124
- Util.hs +1/−1
- changelog.markdown +8/−0
- dist/build/Lexer.hs +0/−463
- dist/build/Parser.hs +0/−2566
- dist/build/ParserC.hs +0/−2582
- logic-TPTP.cabal +14/−14
- testing/ParseRandom.hs +9/−9
- testing/PrettyPrintFile.hs +8/−9
- testing/TestImportExportImportFile.hs +5/−6
- testing/TestImportExportRandom.hs +7/−7
- testing/compileTests.sh +2/−2
Codec/TPTP/Base.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE CPP, NoMonomorphismRestriction- , StandaloneDeriving + , StandaloneDeriving , TypeSynonymInstances, FlexibleInstances, FlexibleContexts , UndecidableInstances, DeriveDataTypeable, GeneralizedNewtypeDeriving , OverlappingInstances, ScopedTypeVariables@@ -15,7 +15,7 @@ #define MIN_VERSION_base(a,b,c) 1 #endif -- Assume we are using the newest versions when using ghci without cabal- + import Codec.TPTP.QuickCheck import Control.Applicative import Control.Monad.Identity@@ -36,8 +36,11 @@ #if !MIN_VERSION_base(4,7,0) import Util #endif- ++#if !MIN_VERSION_base(4,8,0) deriving instance Data a => Data (Identity a)+#endif+ #if MIN_VERSION_base(4,7,0) deriving instance Typeable Identity #else@@ -45,10 +48,10 @@ #endif -- * Basic undecorated formulae and terms- --- | Basic (undecorated) first-order formulae ++-- | Basic (undecorated) first-order formulae type Formula = F Identity- + -- | Basic (undecorated) terms type Term = T Identity @@ -56,7 +59,7 @@ -- | First-order formulae decorated with state type FormulaST s = F (State s)- + -- | Terms decorated with state type TermST s = T (State s) @@ -92,111 +95,111 @@ -- -- @\(\.\<\=\>\.\) :: 'Formula' -> 'Formula' -> 'Formula'@ (.<=>.) :: Pointed c => (F c) -> (F c) -> F c-x .<=>. y = (F . point) $ BinOp x (:<=>:) y - - +x .<=>. y = (F . point) $ BinOp x (:<=>:) y++ -- | Implication (.=>.) :: Pointed c => (F c) -> (F c) -> F c-x .=>. y = (F . point) $ BinOp x (:=>:) y - +x .=>. y = (F . point) $ BinOp x (:=>:) y+ -- | Reverse implication (.<=.) :: Pointed c => (F c) -> (F c) -> F c-x .<=. y = (F . point) $ BinOp x (:<=:) y - +x .<=. y = (F . point) $ BinOp x (:<=:) y+ -- | Disjunction/OR (.|.) :: Pointed c => (F c) -> (F c) -> F c-x .|. y = (F . point) $ BinOp x (:|:) y - +x .|. y = (F . point) $ BinOp x (:|:) y+ -- | Conjunction/AND (.&.) :: Pointed c => (F c) -> (F c) -> F c-x .&. y = (F . point) $ BinOp x (:&:) y - +x .&. y = (F . point) $ BinOp x (:&:) y+ -- | XOR (.<~>.) :: Pointed c => (F c) -> (F c) -> F c-x .<~>. y = (F . point) $ BinOp x (:<~>:) y - +x .<~>. y = (F . point) $ BinOp x (:<~>:) y+ -- | NOR (.~|.) :: Pointed c => (F c) -> (F c) -> F c-x .~|. y = (F . point) $ BinOp x (:~|:) y - - - +x .~|. y = (F . point) $ BinOp x (:~|:) y+++ -- | NAND (.~&.) :: Pointed c => (F c) -> (F c) -> F c-x .~&. y = (F . point) $ BinOp x (:~&:) y - - +x .~&. y = (F . point) $ BinOp x (:~&:) y++ -- | Negation (.~.) :: Pointed c => (F c) -> F c (.~.) x = (F . point) $ (:~:) x- + -- | Equality (.=.) :: Pointed c => (T c) -> (T c) -> F c-x .=. y = (F . point) $ InfixPred x (:=:) y - +x .=. y = (F . point) $ InfixPred x (:=:) y+ -- | Inequality (.!=.) :: Pointed c => (T c) -> (T c) -> F c-x .!=. y = (F . point) $ InfixPred x (:!=:) y - +x .!=. y = (F . point) $ InfixPred x (:!=:) y+ -- | Universal quantification for_all :: Pointed c => [V] -> (F c) -> F c for_all vars x = (F . point) $ Quant All vars x- + -- | Existential quantification exists :: Pointed c => [V] -> (F c) -> F c exists vars x = (F . point) $ Quant Exists vars x- + -- | Predicate symbol application pApp :: Pointed c => AtomicWord -> [T c] -> F c pApp x args = (F . point) $ PredApp x args- + -- | Variable var :: Pointed c => V -> T c var = (T . point) . Var- + -- | Function symbol application (constants are encoded as nullary functions) fApp :: Pointed c => AtomicWord -> [T c] -> T c fApp x args = (T . point) $ FunApp x args- + -- | Number literal numberLitTerm :: Pointed c => Rational -> T c numberLitTerm = (T . point) . NumberLitTerm- --- | Double-quoted string literal, called /Distinct Object/ in TPTP's grammar ++-- | Double-quoted string literal, called /Distinct Object/ in TPTP's grammar distinctObjectTerm :: Pointed c => String -> T c distinctObjectTerm = (T . point) . DistinctObjectTerm- + infixl 2 .<=>. , .=>. , .<=. , .<~>. infixl 3 .|. , .~|. infixl 4 .&. , .~&. infixl 5 .=. , .!=. -- * General decorated formulae and terms- + -- | See <http://haskell.org/haskellwiki/Indirect_composite> for the point of the type parameters (they allow for future decorations, e.g. monadic subformulae). If you don't need decorations, you can just use 'Formula' and the wrapped constructors above.-data Formula0 term formula = +data Formula0 term formula = BinOp formula BinOp formula -- ^ Binary connective application | InfixPred term InfixPred term -- ^ Infix predicate application (equalities, inequalities) | PredApp AtomicWord [term] -- ^ Predicate application | Quant Quant [V] formula -- ^ Quantified formula | (:~:) formula -- ^ Negation deriving (Eq,Ord,Show,Read,Data,Typeable)- - ++ -- | See <http://haskell.org/haskellwiki/Indirect_composite> for the point of the type parameters (they allow for future decorations). If you don't need decorations, you can just use 'Term' and the wrapped constructors above. data Term0 term = Var V -- ^ Variable | NumberLitTerm Rational -- ^ Number literal | DistinctObjectTerm String -- ^ Double-quoted item- | FunApp AtomicWord [term] -- ^ Function symbol application (constants are encoded as nullary functions) + | FunApp AtomicWord [term] -- ^ Function symbol application (constants are encoded as nullary functions) deriving (Eq,Ord,Show,Read,Data,Typeable)- - - --- | Binary formula connectives ++++-- | Binary formula connectives data BinOp = -- Please don't change the constructor names (the Show instance is significant) (:<=>:) -- ^ Equivalence@@ -212,25 +215,25 @@ -- | /Term -> Term -> Formula/ infix connectives data InfixPred = -- Please don't change the constructor names (the Show instance is significant)- (:=:) | (:!=:) + (:=:) | (:!=:) deriving (Eq,Ord,Show,Read,Data,Typeable,Enum,Bounded)- + -- | Quantifier specification data Quant = All | Exists deriving (Eq,Ord,Show,Read,Data,Typeable,Enum,Bounded)- + -- * Formula Metadata- + -- | A line of a TPTP file: Annotated formula, comment or include statement. type TPTP_Input = TPTP_Input_ Identity {- -- | Annotated formulae AFormula {- name :: AtomicWord - , role :: Role - , formula :: Formula - , annotations :: Annotations - } + name :: AtomicWord+ , role :: Role+ , formula :: Formula+ , annotations :: Annotations+ } | Comment String | Include FilePath [AtomicWord] @@ -247,18 +250,18 @@ forgetTIC (Include p aws) = Include p aws -- | Generalized TPTP_Input-data TPTP_Input_ c = +data TPTP_Input_ c = -- | Annotated formulae AFormula {- name :: AtomicWord - , role :: Role + name :: AtomicWord+ , role :: Role , formula :: F c- , annotations :: Annotations - } + , annotations :: Annotations+ } | Comment String | Include FilePath [AtomicWord] - + deriving instance Eq (c (Formula0 (T c) (F c))) => Eq (TPTP_Input_ c) deriving instance Ord (c (Formula0 (T c) (F c))) => Ord (TPTP_Input_ c) deriving instance Show (c (Formula0 (T c) (F c))) => Show (TPTP_Input_ c)@@ -274,14 +277,14 @@ typeOf = mkTypeOfForRank2Kind "Codec.TPTP.Base" "TPTP_Input_" #endif --- | Annotations about the formulas origin +-- | Annotations about the formulas origin data Annotations = NoAnnotations | Annotations GTerm UsefulInfo deriving (Eq,Ord,Show,Read,Data,Typeable)- + -- | Misc annotations data UsefulInfo = NoUsefulInfo | UsefulInfo [GTerm] deriving (Eq,Ord,Show,Read,Data,Typeable)- + -- | Formula roles newtype Role = Role { unrole :: String } deriving (Eq,Ord,Show,Read,Data,Typeable)@@ -293,18 +296,18 @@ | GVar V | GNumber Rational | GDistinctObject String- | GFormulaData String Formula + | GFormulaData String Formula deriving (Eq,Ord,Show,Read,Data,Typeable)- + -- | Metadata (the /general_term/ rule in TPTP's grammar)-data GTerm = ColonSep GData GTerm +data GTerm = ColonSep GData GTerm | GTerm GData | GList [GTerm] deriving (Eq,Ord,Show,Read,Data,Typeable)- - ++ -- * Gathering free Variables -- class FormulaOrTerm c a where@@ -312,25 +315,25 @@ -- instance FormulaOrTerm Identity Formula where -- elimFormulaOrTerm k _ x = k x- + -- instance FormulaOrTerm Identity Term where -- elimFormulaOrTerm _ k x = k x- + class FreeVars a where -- | Obtain the free variables from a formula or term freeVars :: a -> Set V -- | Universally quantify all free variables in the formula univquant_free_vars :: Formula -> Formula-univquant_free_vars cnf = +univquant_free_vars cnf = case S.toList (freeVars cnf) of [] -> cnf vars -> for_all vars cnf- + instance FreeVars Formula where- freeVars = foldF - freeVars - (\_ vars x -> S.difference (freeVars x) (S.fromList vars)) + freeVars = foldF+ freeVars+ (\_ vars x -> S.difference (freeVars x) (S.fromList vars)) (\x _ y -> (mappend `on` freeVars) x y) (\x _ y -> (mappend `on` freeVars) x y) (\_ args -> S.unions (fmap freeVars args))@@ -346,21 +349,21 @@ --- Have the Arbitrary instances in this module to avoid orphan instances instance Arbitrary TPTP_Input- where arbitrary = frequency [(10, - do + where arbitrary = frequency [(10,+ do x1 <- AtomicWord <$> arbLowerWord x2 <- arbitrary x3 <- arbitrary x4 <- arbitrary return (AFormula x1 x2 x3 x4))- + , (1,- do + do x1 <- arbPrintable return (Comment ("% "++x1)) ) - , (1, Include `fmap` arbLowerWord `ap` + , (1, Include `fmap` arbLowerWord `ap` listOf arbitrary) ] @@ -375,60 +378,60 @@ return NoAnnotations , Annotations `fmap` arbitrary `ap` arbitrary ]- + instance Arbitrary UsefulInfo where arbitrary = oneof [ return NoUsefulInfo- , do + , do x1 <- arbitrary return (UsefulInfo x1) ]- + instance Arbitrary Role where arbitrary = Role `fmap` arbLowerWord- - ++ instance (Arbitrary a, Arbitrary b) => Arbitrary (Formula0 a b) - + where arbitrary = sized go where go 0 = flip PredApp [] `fmap` arbitrary- - go i = ++ go i = oneof [ do ileft <- choose (0,i-1) x1 <- resize ileft arbitrary x2 <- arbitrary- x3 <- resize (i - 1 - ileft) arbitrary + x3 <- resize (i - 1 - ileft) arbitrary return (BinOp x1 x2 x3)- - , do ++ , do x1 <- arbitrary x2 <- arbitrary x3 <- arbitrary return (InfixPred x1 x2 x3)- + , do x1 <- arbitrary x2 <- argsFreq vector return (PredApp x1 x2)- + , do x1 <- arbitrary x2 <- liftM2 (:) arbitrary (argsFreq (\nargs -> vectorOf nargs arbitrary)) x3 <- resize (i-1) arbitrary return (Quant x1 x2 x3)- + , do x1 <- resize (i-1) arbitrary return ((:~:) x1) ]- + instance Arbitrary BinOp where arbitrary = elements- + [ (:<=>:) , (:=>:) , (:<=:)@@ -444,7 +447,7 @@ instance Arbitrary Quant where arbitrary = elements [All,Exists]- + instance Arbitrary a => Arbitrary (Term0 a) where arbitrary = sized go where@@ -453,25 +456,25 @@ go 0 = frequency [ (2,Var <$> arbitrary), (1,FunApp `fmap` arbitrary `ap` return[] ) ] go i = oneof [- do + do x1 <- arbitrary return (Var x1)- - , arbNum NumberLitTerm - - - , do ++ , arbNum NumberLitTerm+++ , do x1 <- arbPrintable return (DistinctObjectTerm x1)- - , do ++ , do x1 <- arbitrary- args <- argsFreq + args <- argsFreq (\nargs -> do parti <- arbPartition nargs (i-1) mapM (flip resize arbitrary) parti )- + return (FunApp x1 args) ] @@ -482,31 +485,31 @@ go 0 = oneof [ fmap GWord arbitrary , fmap GVar arbitrary ]- - go i = - oneof ++ go i =+ oneof [ GWord <$> arbitrary- + ,do x1 <- arbLowerWord- args <- argsFreq + args <- argsFreq (\nargs -> do parti <- arbPartition nargs (i-1) mapM (flip resize arbitrary) parti ) `suchThat` ((/=) [])- + return (GApp (AtomicWord x1) args)- + ,GVar <$> arbitrary- ,arbNum GNumber - + ,arbNum GNumber+ ,GDistinctObject <$> arbPrintable ,GFormulaData `fmap` ((:) '$' `fmap` arbLowerWord) `ap` (sized (\n -> resize (n `div` 2) arbitrary)) ] - - ++ instance Arbitrary GTerm where arbitrary = sized go @@ -515,46 +518,46 @@ go i = oneof [- do + do ileft <- choose(0,i-1) x1 <- resize ileft arbitrary x2 <- resize (i-1-ileft) arbitrary return (ColonSep x1 x2)- + , do x1 <- arbitrary return (GTerm x1)- + , do- args <- argsFreq + args <- argsFreq (\nargs -> do parti <- arbPartition nargs (i-1) mapM (flip resize arbitrary) parti ) `suchThat` (/= [])- + return (GList args) ]- --- | TPTP constant symbol\/predicate symbol\/function symbol identifiers (they are output in single quotes unless they are /lower_word/s). --- --- Tip: Use the @-XOverloadedStrings@ compiler flag if you don't want to have to type /AtomicWord/ to construct an 'AtomicWord' ++-- | TPTP constant symbol\/predicate symbol\/function symbol identifiers (they are output in single quotes unless they are /lower_word/s).+--+-- Tip: Use the @-XOverloadedStrings@ compiler flag if you don't want to have to type /AtomicWord/ to construct an 'AtomicWord' newtype AtomicWord = AtomicWord String deriving (Eq,Ord,Show,Data,Typeable,Read,Monoid,IsString)- + instance Arbitrary AtomicWord where arbitrary = frequency [ (5, AtomicWord <$> arbLowerWord) ,(1, AtomicWord <$> arbPrintable) ]- + -- | Variable names newtype V = V String deriving (Eq,Ord,Show,Data,Typeable,Read,Monoid,IsString)- + instance Arbitrary V where arbitrary = V <$> arbVar- + -- * Fixed-point style decorated formulae and terms- + -- | Formulae whose subexpressions are wrapped in the given type constructor @c@. -- -- For example:@@ -563,19 +566,19 @@ -- -- - @c = 'Maybe'@: Formulae that may contain \"holes\" ----- - @c = 'IORef'@: (Mutable) formulae with mutable subexpressions +-- - @c = 'IORef'@: (Mutable) formulae with mutable subexpressions newtype F c = F { runF :: c (Formula0 (T c) (F c)) }- + -- | Terms whose subterms are wrapped in the given type constructor @c@ newtype T c = T { runT :: c (Term0 (T c)) }- + #define DI(X) deriving instance (X (c (Term0 (T c)))) => X (T c); deriving instance (X (c (Formula0 (T c) (F c)))) => X (F c)- + DI(Eq) DI(Ord) DI(Show) DI(Read)- + #if MIN_VERSION_base(4,7,0) deriving instance Typeable F deriving instance Typeable T@@ -585,14 +588,14 @@ #else instance Typeable1 c => Typeable (F c) where typeOf = mkTypeOfForRank2Kind "Codec.TPTP.Base" "F"- + instance Typeable1 c => Typeable (T c) where typeOf = mkTypeOfForRank2Kind "Codec.TPTP.Base" "T" deriving instance (Typeable1 c, Data (c (Term0 (T c)))) => Data (T c) deriving instance (Typeable1 c, Data (c (Formula0 (T c) (F c)))) => Data (F c) #endif- + -- * Utility functions unwrapF ::@@ -619,7 +622,7 @@ BinOp x y z -> kbinop x y z InfixPred x y z -> kinfix x y z PredApp x y -> kpredapp x y- + foldTerm0 :: (String -> r) -> (Rational -> r)@@ -644,7 +647,7 @@ -> (T t -> InfixPred -> T t -> r) -- ^ Handle equality/inequality -> (AtomicWord -> [T t] -> r) -- ^ Handle predicate symbol application -> (F t -> r) -- ^ Handle formula- + foldF kneg kquant kbinop kinfix kpredapp f = foldFormula0 kneg kquant kbinop kinfix kpredapp (unwrapF f) -- | Eliminate terms
Codec/TPTP/Diff.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE NoMonomorphismRestriction, RecordWildCards+{-# LANGUAGE CPP, NoMonomorphismRestriction, RecordWildCards , StandaloneDeriving, MultiParamTypeClasses, FunctionalDependencies , TypeSynonymInstances, FlexibleInstances, FlexibleContexts , UndecidableInstances, DeriveDataTypeable, GeneralizedNewtypeDeriving@@ -7,132 +7,136 @@ {-# OPTIONS -Wall #-} module Codec.TPTP.Diff(Diffable(..),DiffResult(..),T0Diff,F0Diff,isSame,diffGenF,diffGenT,printSampleDiffs) where- - ++ -- Warning: This module is a MESS (but it seems to work :)).- ++#if MIN_VERSION_base(4,8,0)+import Prelude hiding ((<$>))+#endif+ import Data.Generics import Test.QuickCheck hiding((.&.)) import Codec.TPTP.Base import Codec.TPTP.Pretty import Text.PrettyPrint.ANSI.Leijen import Control.Monad.Identity- - - -data DiffResult d = - Same -- ^ Both arguments are the same. - | SameHead d -- ^ The arguments are recursive expressions of the same form, but their subterms differ. Return a \"decorated\" term that shows where the differences are ++++data DiffResult d =+ Same -- ^ Both arguments are the same.+ | SameHead d -- ^ The arguments are recursive expressions of the same form, but their subterms differ. Return a \"decorated\" term that shows where the differences are | Differ d d -- ^ The arguments differ and are not of similar form (don't recurse) | DontCare deriving (Eq,Ord,Show,Data,Typeable,Read)- + isSame :: forall t. DiffResult t -> Bool isSame Same = True isSame _ = False- + -- | Abstraction for diff'ing [predicate symbol|function symbol|gdata] applications -- Suggestive variable names for the case of function symbol applications-handleAppExpr :: (Eq str) => - (term -> term -> termfix DiffResult) -- ^ the diff function - - -> (DiffResult a -> termfix DiffResult) -- ^ newtype wrapper +handleAppExpr :: (Eq str) =>+ (term -> term -> termfix DiffResult) -- ^ the diff function++ -> (DiffResult a -> termfix DiffResult) -- ^ newtype wrapper -> (termfix DiffResult -> DiffResult a) -- ^ newtype unwrapper- + -> (str -> [termfix DiffResult] -> b) -- ^ Application expression constructor- + -> str -- ^ First funsym -> [term] -- ^ First args- + -> str -- ^ Second funsum -> [term] -- ^ Second args- + -> DiffResult b handleAppExpr recFun newtypewrapper newtypeunwrapper constr x1 args1 x2 args2 = -- recurse if heads and arities agree case (x1==x2 && length args1 == length args2) of- True -> + True -> let rec' = zipWith recFun args1 args2 in case all (isSame . newtypeunwrapper) rec' of True -> Same- False -> SameHead (constr x1 rec') - - False -> + False -> SameHead (constr x1 rec')++ False -> Differ (constr x1 (fmap (const . newtypewrapper $ DontCare) args1)) (constr x2 (fmap (const . newtypewrapper $ DontCare) args2))- -handleBinExpr :: ++handleBinExpr :: (Eq op) => (term -> term -> termfix DiffResult)- + -> (DiffResult a -> termfix DiffResult) -- ^ NT wrapper -> (termfix DiffResult -> DiffResult a) -- ^ NT unwrapepr- + -> (termfix DiffResult -> op -> termfix DiffResult -> b) -- ^ constructor- + -> term -> op -> term- + -> term -> op -> term- + -> DiffResult b handleBinExpr recFun newtypewrapper newtypeunwrapper constr l1 op1 r1 l2 op2 r2 = case op1==op2 of- True -> - let + True ->+ let recl = recFun l1 l2 recr = recFun r1 r2 in case (newtypeunwrapper recl,newtypeunwrapper recr) of (Same,Same) -> Same (_,_) -> SameHead (constr recl op1 recr)- + False ->- let dc = newtypewrapper DontCare - + let dc = newtypewrapper DontCare+ in Differ (constr dc op1 dc) (constr dc op2 dc)- -handleUnary :: ++handleUnary :: (term -> term -> termfix DiffResult)- + -> (DiffResult a -> termfix DiffResult) -- ^ NT wrapper -> (termfix DiffResult -> DiffResult a) -- ^ NT unwrapepr- + -> (termfix DiffResult -> b) -- ^ constructor- + -> term- + -> term- + -> DiffResult b- + handleUnary recFun _ newtypeunwrapper constr r1 r2 =- let + let rec' = recFun r1 r2 in case newtypeunwrapper rec' of Same -> Same _ -> SameHead (constr rec')- - -handleLeaf :: +++handleLeaf :: (Eq a) => (a -> d) -> a -> a -> DiffResult d-handleLeaf constr x1 x2 = - if x1==x2 - then Same +handleLeaf constr x1 x2 =+ if x1==x2+ then Same else Differ (constr x1) (constr x2)- - - +++ -- runDiffTerm :: Term -- -> Term -- -> DiffResult (Term0 (T DiffResult))@@ -141,19 +145,19 @@ diffTerm :: Term -> Term -> T DiffResult diffTerm (T (Identity t1)) (T (Identity t2)) = T $ case (t1,t2) of- (FunApp x1 args1,FunApp x2 args2) -> handleAppExpr diffTerm T runT FunApp x1 args1 x2 args2 + (FunApp x1 args1,FunApp x2 args2) -> handleAppExpr diffTerm T runT FunApp x1 args1 x2 args2 (Var x1,Var x2) -> handleLeaf Var x1 x2 (DistinctObjectTerm x1, DistinctObjectTerm x2) -> handleLeaf DistinctObjectTerm x1 x2 (NumberLitTerm x1, NumberLitTerm x2) -> handleLeaf NumberLitTerm x1 x2 _ -> let plug=plugSubterms (T DontCare) in Differ (plug t1) (plug t2)- + plugSubterms :: forall a a1. a -> Term0 a1 -> Term0 a plugSubterms p t = case t of FunApp x1 args -> FunApp x1 (fmap (const p) args) DistinctObjectTerm x1 -> DistinctObjectTerm x1 NumberLitTerm x1 -> NumberLitTerm x1 Var x1 -> Var x1- + plugSubformulae :: forall a formula a1 t. a -> formula -> Formula0 a1 t -> Formula0 a formula plugSubformulae pt pf f = case f of@@ -162,33 +166,33 @@ BinOp _ b _ -> BinOp pf b pf InfixPred _ b _ -> InfixPred pt b pt (:~:) _ -> (:~:) pf- - - +++ diffFormula :: Formula -> Formula -> F DiffResult diffFormula (F (Identity f1)) (F (Identity f2)) = F $ case (f1,f2) of ( Quant q1 vars1 g1- ,Quant q2 vars2 g2) -> + ,Quant q2 vars2 g2) -> case (q1==q2, vars1==vars2) of- (True,True) -> handleUnary diffFormula F runF (Quant q1 vars1) g1 g2 - _ -> Differ (Quant q1 vars1 (F DontCare)) - (Quant q2 vars2 (F DontCare)) - + (True,True) -> handleUnary diffFormula F runF (Quant q1 vars1) g1 g2+ _ -> Differ (Quant q1 vars1 (F DontCare))+ (Quant q2 vars2 (F DontCare)) + ( BinOp l1 op1 r1 ,BinOp l2 op2 r2 ) -> handleBinExpr diffFormula F runF BinOp l1 op1 r1 l2 op2 r2- + ( InfixPred l1 op1 r1 ,InfixPred l2 op2 r2 ) -> handleBinExpr diffTerm T runT InfixPred l1 op1 r1 l2 op2 r2- + ( (:~:) g1 ,(:~:) g2 ) -> handleUnary diffFormula F runF (:~:) g1 g2 - + ( PredApp x1 args1- ,PredApp x2 args2 ) -> handleAppExpr diffTerm T runT PredApp x1 args1 x2 args2 - + ,PredApp x2 args2 ) -> handleAppExpr diffTerm T runT PredApp x1 args1 x2 args2+ _ -> let plug=plugSubformulae (T DontCare) (F DontCare) in Differ (plug f1) (plug f2) @@ -197,25 +201,25 @@ instance Show (F DiffResult) where show (F f) = show f- + type T0Diff = DiffResult (Term0 (T DiffResult)) type F0Diff = DiffResult (Formula0 (T DiffResult) (F DiffResult))- + wildcard :: AtomicWord wildcard = "_"- + instance Pretty (WithEnclosing T0Diff) where pretty = prettyHelper --(plugSubterms (fApp wildcard []))- + instance Pretty (WithEnclosing F0Diff) where pretty = prettyHelper --(plugSubformulae (fApp wildcard []) (pApp wildcard []))- + prettyHelper :: forall t. (Pretty (WithEnclosing t)) => WithEnclosing (DiffResult t) -> Doc-prettyHelper (WithEnclosing _ d) = - let +prettyHelper (WithEnclosing _ d) =+ let pwe = pretty . WithEnclosing EnclNothing in case d of@@ -224,63 +228,63 @@ SameHead x -> blue . encloseSep (text "{ SameHead ") (text "}") semi $ [ pwe x ]- - ++ Differ x y -> red . encloseSep (text "{ Differ ") rbrace (text "; ") $ - [ pwe x + [ pwe x , pwe y ]- + deriving instance Pretty (T DiffResult) deriving instance Pretty (F DiffResult)- + instance Pretty (WithEnclosing (T DiffResult)) where- pretty (WithEnclosing x (T y)) = pretty (WithEnclosing x y) - + pretty (WithEnclosing x (T y)) = pretty (WithEnclosing x y)+ instance Pretty (WithEnclosing (F DiffResult)) where- pretty (WithEnclosing x (F y)) = pretty (WithEnclosing x y) - + pretty (WithEnclosing x (F y)) = pretty (WithEnclosing x y)+ instance Pretty (T0Diff) where pretty = pretty . WithEnclosing EnclNothing- + instance Pretty (F0Diff) where pretty = pretty . WithEnclosing EnclNothing -- instance Pretty (DiffResult (T DiffResult)) where -- pretty = pretty . WithEnclosing EnclNothing . T- + -- instance Pretty (DiffResult (T DiffResult) (F DiffResult)) where -- pretty = pretty . WithEnclosing EnclNothing . F- - ++ -- runFormulaDiff :: Formula -- -> Formula -- -> DiffResult -- (Formula0 (T DiffResult) (F DiffResult)) -- runFormulaDiff a b = runF (diffFormula a b)- + -- | Less random generator for generating formulae suitable for testing diff diffGenF :: Gen Formula diffGenF = sized go where go 0 = return $ pApp "Truth" []- go i = oneof + go i = oneof [ do ileft <- choose (0,i-1) liftM2 (.&.) (resize ileft diffGenF) (resize (i-1-ileft) diffGenF) , let a=diffGenT in fmap (.=.) a `ap` a ]- + diffGenT :: Gen Term diffGenT = sized go where go 0 = elements[var "Z",fApp "1" []]- - go i = oneof ++ go i = oneof [ let a=resize (i`div`3) diffGenT in fmap (fApp "g") (sequence [a,a,a]) , do@@ -288,20 +292,20 @@ fmap (fApp "f") (sequence [resize ileft diffGenT, resize (i-1-ileft) diffGenT]) ]- - ++ printSampleDiffs :: IO () printSampleDiffs = do xs <- sample' diffGenF ys <- sample' diffGenF - let item x y = text (replicate 50 '=') + let item x y = text (replicate 50 '=') <$> pretty x <$> text (replicate 40 '-') <$> pretty y <$> text (replicate 40 '-') <$> pretty (diffFormula x y)- + mapM_ (putStrLn . prettySimple . uncurry item) (zip xs ys) -- prop0 :: Formula -> Formula -> Property@@ -311,10 +315,10 @@ -- (pApp "foo" [] .&. f2) -- in collect res $ True- + -- -- case res of--- -- SameHead ((F Same) :&: --- -- (F (Differ f1 +-- -- SameHead ((F Same) :&:+-- -- (F (Differ f1 instance Functor DiffResult where fmap f d = case d of
Codec/TPTP/Export.hs view
@@ -6,33 +6,33 @@ #-} {-# OPTIONS -Wall #-} module Codec.TPTP.Export(toTPTP',ToTPTP(..),isLowerWord) where- + import Codec.TPTP.Base import Control.Monad.Identity import Data.Ratio- + -- | Convenient wrapper for 'toTPTP' toTPTP' :: forall a. (ToTPTP a) => a -> String toTPTP' = ($"") . toTPTP- + s :: String -> String -> String s = showString- + comma :: String -> String comma = s ","- + commaSepMap :: forall a. (a -> String -> String) -> [a] -> String -> String commaSepMap _ [] = s ""-commaSepMap f (y:ys) = f y . foldr (\x xs -> comma . f x . xs) id ys - +commaSepMap f (y:ys) = f y . foldr (\x xs -> comma . f x . xs) id ys - - +++ class ToTPTP a where -- | Convert to TPTP toTPTP :: a -> ShowS- + instance ToTPTP [TPTP_Input] where toTPTP = foldr (\x xs -> toTPTP x . s "\n" . xs) id @@ -40,21 +40,21 @@ toTPTP AFormula{..} = s "fof(" . toTPTP name . comma . toTPTP role . comma . toTPTP formula . toTPTP annotations . s ")."- + toTPTP (Comment x) =- s x -- % included in x - - toTPTP (Include x sel) = s "include" . s "(" . showString (tptpSQuote x) . + s x -- % included in x - case sel of { [] -> id; _ -> s ",[" . commaSepMap toTPTP sel . s "]" } . + toTPTP (Include x sel) = s "include" . s "(" . showString (tptpSQuote x) . + case sel of { [] -> id; _ -> s ",[" . commaSepMap toTPTP sel . s "]" } . - s ")." - + s ")."++ instance ToTPTP Role where toTPTP (Role x) = s x- + instance ToTPTP Quant where toTPTP All = s "!" toTPTP Exists = s "?"@@ -76,43 +76,43 @@ (:<~>:) -> s "<~>" instance (ToTPTP f, ToTPTP t) => ToTPTP (Formula0 t f) where- toTPTP formu = + toTPTP formu = let result = case formu of- Quant q vars f -> + Quant q vars f -> let par = True in - toTPTP q - . s " [" - . commaSepMap toTPTP vars - . s "] : " + toTPTP q+ . s " ["+ . commaSepMap toTPTP vars+ . s "] : " . showParen par (toTPTP f)- + PredApp p [] -> toTPTP p- PredApp p args -> toTPTP p . s "(" . commaSepMap toTPTP args . s ")" + PredApp p args -> toTPTP p . s "(" . commaSepMap toTPTP args . s ")" (:~:) f -> s "~ " . showParen True (toTPTP f)- - BinOp x op y -> showParen True $ ++ BinOp x op y -> showParen True $ (toTPTP x) . s " " . toTPTP op . s " " . (toTPTP y)- - InfixPred x op y -> showParen True $ ++ InfixPred x op y -> showParen True $ (toTPTP x) . s " " . toTPTP op . s " " . (toTPTP y) in result- + instance ToTPTP t => ToTPTP (Term0 t) where toTPTP term =- - case term of ++ case term of Var x -> toTPTP x NumberLitTerm d -> showsRational d DistinctObjectTerm x -> showString (tptpQuote x) FunApp f [] -> toTPTP f FunApp f args -> toTPTP f . s "(" . commaSepMap toTPTP args . s ")"- -deriving instance (ToTPTP a) => (ToTPTP (Identity a)) ++deriving instance (ToTPTP a) => (ToTPTP (Identity a)) deriving instance ToTPTP Formula deriving instance ToTPTP Term @@ -130,10 +130,10 @@ GTerm x -> toTPTP x ColonSep x y -> toTPTP x . s ":" . toTPTP y GList xs -> s "[" . commaSepMap toTPTP xs . s "]"- + instance ToTPTP AtomicWord where- toTPTP (AtomicWord x) = s $ if isLowerWord x then x else tptpSQuote x - + toTPTP (AtomicWord x) = s $ if isLowerWord x then x else tptpSQuote x+ instance ToTPTP GData where toTPTP gd = case gd of GWord x -> toTPTP x@@ -141,8 +141,8 @@ GVar x -> toTPTP x GNumber x -> showsRational x GDistinctObject x -> showString (tptpQuote x)- GFormulaData str formu -> s str . s "(" . toTPTP formu . s ")" - + GFormulaData str formu -> s str . s "(" . toTPTP formu . s ")"+ tptpQuote :: [Char] -> [Char] tptpQuote x = "\"" ++ concatMap go x ++ "\"" where@@ -158,13 +158,13 @@ go c = [c] - + isBetween :: forall a. (Ord a) => a -> a -> a -> Bool isBetween a x b = a <= x && x <= b- + isReallyAlnum :: Char -> Bool-isReallyAlnum x = isBetween 'a' x 'z' || isBetween 'A' x 'Z' || isBetween '0' x '9' || x=='_' - +isReallyAlnum x = isBetween 'a' x 'z' || isBetween 'A' x 'Z' || isBetween '0' x '9' || x=='_'+ isLowerWord :: [Char] -> Bool isLowerWord str = case str of (x:xs) | isBetween 'a' x 'z' && all isReallyAlnum xs -> True@@ -175,4 +175,4 @@ showsRational :: Rational -> ShowS-showsRational q = shows (numerator q) . showChar '/' . shows (denominator q) +showsRational q = shows (numerator q) . showChar '/' . shows (denominator q)
Codec/TPTP/Import.hs view
@@ -22,4 +22,3 @@ parseWithCommentFile :: FilePath -> IO [TPTP_Input_C] parseWithCommentFile x = parseWithComment `fmap` readFile x-
Codec/TPTP/Pretty.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE NoMonomorphismRestriction, RecordWildCards+{-# LANGUAGE CPP, NoMonomorphismRestriction, RecordWildCards , StandaloneDeriving , TypeSynonymInstances, FlexibleInstances, FlexibleContexts , UndecidableInstances, DeriveDataTypeable, GeneralizedNewtypeDeriving@@ -9,6 +9,10 @@ -- | Mainly just 'Pretty' instances module Codec.TPTP.Pretty(prettySimple,WithEnclosing(..),Enclosing(..)) where++#if MIN_VERSION_base(4,8,0)+import Prelude hiding ((<$>))+#endif import Codec.TPTP.Base import Codec.TPTP.Export
Codec/TPTP/QuickCheck.hs view
@@ -6,7 +6,7 @@ #-} {-# OPTIONS -Wall #-} module Codec.TPTP.QuickCheck where- + import Test.QuickCheck import Control.Monad import Control.Applicative@@ -23,10 +23,10 @@ , (2 ,f 4) , (1, f 15) ]- + arbVar :: Gen [Char]-arbVar = liftM2 (:) (elements "WXZY") (show <$> choose(1::Int,3)) - +arbVar = liftM2 (:) (elements "WXZY") (show <$> choose(1::Int,3))+ -- sorry I don't feel like calculating this distribution deductively at the moment ;) -- | Return random partition of n items into the given number of buckets if buckets>0 --@@ -41,14 +41,14 @@ do arrr <- newArray (1,buckets) 0 forM_ choices (\bucket -> writeArray arrr bucket . succ =<< readArray arrr bucket) return arrr- return $ elems uarray + return $ elems uarray arbPrintable :: Gen [Char] arbPrintable = listOf (arbitrary `suchThat` printable)- + printable :: Char -> Bool printable x = isAscii x && isPrint x --isDigit x || isLetter x || x `elem` " _+!@#$%^&*()[]{}-=?.,;'\":/\\"- + arbLowerWord :: Gen String arbLowerWord = (:) `fmap` elements ['a'..'z'] `ap` listOf (elements (['a'..'z']++['A'..'Z']++"_")) @@ -56,7 +56,7 @@ arbUpperWord :: Gen String arbUpperWord = (:) `fmap` elements ['A'..'Z'] `ap` listOf (elements (['a'..'z']++['A'..'Z']++"_")) - + arbNum :: forall a a1. (Arbitrary a, Num a) => (a -> a1) -> Gen a1 arbNum f = frequency [(1,fmap f arbitrary)
Parser.y view
@@ -1,6 +1,6 @@ { module Parser where- + import Data.Char import Data.Data import Data.Ratio@@ -16,8 +16,8 @@ %name parseTPTP %tokentype { Token }-%error { - +%error {+ ((\xs -> case xs of xs -> error ("Parse error, pos: "++show (take 25 xs)))) }@@ -67,32 +67,32 @@ comment { CommentToken $$ } - -%% +%%+ TPTP_file :: {[TPTP_Input_ c]} TPTP_file : {[]} | TPTP_input TPTP_file {$1 : $2}- + TPTP_input :: {TPTP_Input_ c}-TPTP_input : annotated_formula {$1} +TPTP_input : annotated_formula {$1} | include { $1 } | comment { Comment $1 } annotated_formula :: {TPTP_Input_ c}-annotated_formula : fof_annotated {$1} +annotated_formula : fof_annotated {$1} | cnf_annotated {$1} fof_annotated :: {TPTP_Input_ c} fof_annotated : fof lp name comma formula_role comma fof_formula annotations rp dot { AFormula $3 $5 $7 $8 }- + cnf_annotated :: {TPTP_Input_ c} cnf_annotated : cnf lp name comma formula_role comma cnf_formula annotations rp dot { AFormula $3 $5 (univquant_free_vars $7) $8 }- - ++ annotations :: { Annotations }-annotations : comma source optional_info { Annotations $2 $3 } +annotations : comma source optional_info { Annotations $2 $3 } | { NoAnnotations } formula_role :: {Role}@@ -102,44 +102,44 @@ fof_formula :: {F c} fof_formula : binary_formula { $1 } | unitary_formula { $1 }- + binary_formula :: {F c} binary_formula : nonassoc_binary {$1} | assoc_binary {$1}- + nonassoc_binary :: {F c}-nonassoc_binary : unitary_formula binary_connective unitary_formula +nonassoc_binary : unitary_formula binary_connective unitary_formula { $2 $1 $3 } - + assoc_binary :: {F c} assoc_binary : or_formula { $1 } | and_formula { $1 }- - ++ or_formula :: {F c} or_formula : unitary_formula vline unitary_formula more_or_formula { L.foldl (.|.) ($1 .|. $3) $4 }- + more_or_formula :: {[F c]}-more_or_formula : {[]} | vline unitary_formula more_or_formula +more_or_formula : {[]} | vline unitary_formula more_or_formula { $2 : $3 }- + and_formula :: {F c} and_formula : unitary_formula ampersand unitary_formula more_and_formula { L.foldl (.&.) ($1 .&. $3) $4 } more_and_formula :: {[F c]}-more_and_formula : {[]} | ampersand unitary_formula more_and_formula +more_and_formula : {[]} | ampersand unitary_formula more_and_formula { $2 : $3 }- + unitary_formula :: {Formula} unitary_formula : quantified_formula {$1} | unary_formula {$1} | atomic_formula {$1} | lp fof_formula rp {$2}- + quantified_formula :: {F c} quantified_formula : quantifier lbra variable_list rbra colon unitary_formula { $1 $3 $6 }@@ -151,10 +151,10 @@ unary_formula :: {F c} unary_formula : unary_connective unitary_formula { $1 $2 } | fol_infix_unary { $1 }- + -- cnf_formula :: {Formula} -- cnf_formula : assoc_binary {$1} -- | lp assoc_binary rp {$2}@@ -163,20 +163,20 @@ cnf_formula : lp disjunction rp { $2 } | disjunction { $1 } - + disjunction :: {F c}-disjunction : literal more_disjunction +disjunction : literal more_disjunction { L.foldl (.|.) $1 $2 }- + more_disjunction :: {[F c]}-more_disjunction : {[]} | vline literal more_disjunction +more_disjunction : {[]} | vline literal more_disjunction { $2 : $3 } literal :: {Formula}-literal : atomic_formula {$1} - | tilde atomic_formula { (.~.) $2} +literal : atomic_formula {$1}+ | tilde atomic_formula { (.~.) $2} | fol_infix_unary {$1}- + fol_infix_unary :: {F c} fol_infix_unary : term infix_inequality term { $2 $1 $3 } @@ -191,94 +191,94 @@ | nor { (.~|.) } | nand { (.~&.) } ---- assoc_connective : vline +--- assoc_connective : vline --- | ampersand- + unary_connective :: {Formula -> Formula} unary_connective : tilde { (.~.) } --- defined_type :== atomic_defined_word +-- defined_type :== atomic_defined_word -- defined_type :== $oType | $o | $iType | $i | $tType | $real | $int--- system_type :== atomic_system_word +-- system_type :== atomic_system_word -atomic_formula :: {F c} +atomic_formula :: {F c} atomic_formula : plain_atomic_formula {$1} | defined_atomic_formula {$1} | system_atomic_formula {$1}- + plain_atomic_formula :: {F c} plain_atomic_formula : plain_term { fApp2pApp $1 } --- plain_atomic_formula :== proposition | predicate lp arguments rp --- proposition :== predicate --- predicate :== atomic_word +-- plain_atomic_formula :== proposition | predicate lp arguments rp+-- proposition :== predicate+-- predicate :== atomic_word defined_atomic_formula :: {F c}-defined_atomic_formula : defined_plain_formula {$1} +defined_atomic_formula : defined_plain_formula {$1} | defined_infix_formula {$1}- + defined_plain_formula :: {F c} defined_plain_formula : defined_plain_term {fApp2pApp $1}- ---defined_plain_formula :== defined_prop | defined_pred lp arguments rp ---defined_prop :== atomic_defined_word ++--defined_plain_formula :== defined_prop | defined_pred lp arguments rp+--defined_prop :== atomic_defined_word --defined_prop :== $true | $false---defined_pred :== atomic_defined_word +--defined_pred :== atomic_defined_word --defined_pred :== $equal defined_infix_formula :: {F c} defined_infix_formula : term defined_infix_pred term { $2 $1 $3 }- -defined_infix_pred :: { T c -> T c -> F c } ++defined_infix_pred :: { T c -> T c -> F c } defined_infix_pred : infix_equality { $1 } infix_equality :: { Term -> Term -> Formula } infix_equality : equals { (.=.) }- + infix_inequality :: { Term -> Term -> Formula } infix_inequality : nequals { (.!=.) } -system_atomic_formula :: {F c} +system_atomic_formula :: {F c} system_atomic_formula : system_term {fApp2pApp $1} -term :: {Term} +term :: {Term} term : function_term {$1} | variable {var $1}- -function_term :: {Term} -function_term : plain_term {$1} ++function_term :: {Term}+function_term : plain_term {$1} | defined_term {$1} | system_term {$1} -plain_term :: {Term} +plain_term :: {Term} plain_term : constant {fApp $1 []} | functor lp arguments rp {fApp $1 $3}- + constant :: {AtomicWord} constant : functor {$1} functor :: {AtomicWord} functor : atomic_word {$1} -defined_term :: {Term} -defined_term : defined_atom {$1} +defined_term :: {Term}+defined_term : defined_atom {$1} | defined_atomic_term {$1}- -defined_atom :: {Term} -defined_atom : number {numberLitTerm $1} ++defined_atom :: {Term}+defined_atom : number {numberLitTerm $1} | distinct_object {distinctObjectTerm (stripQuotes '"' $1)}- -defined_atomic_term :: {Term} ++defined_atomic_term :: {Term} defined_atomic_term : defined_plain_term {$1}- -defined_plain_term :: {Term} -defined_plain_term : defined_constant {fApp (AtomicWord $1) []} - | defined_functor lp arguments rp {fApp (AtomicWord $1) $3} +defined_plain_term :: {Term}+defined_plain_term : defined_constant {fApp (AtomicWord $1) []}+ | defined_functor lp arguments rp {fApp (AtomicWord $1) $3}+ defined_constant :: {String} defined_constant : defined_functor {$1} -- defined_constant :==@@ -287,16 +287,16 @@ defined_functor : atomic_defined_word {$1} -- defined_functor :== -system_term :: {Term} +system_term :: {Term} system_term : system_constant {fApp (AtomicWord $1) []}- | system_functor lp arguments rp {fApp (AtomicWord $1) $3} + | system_functor lp arguments rp {fApp (AtomicWord $1) $3} -system_constant :: {String} +system_constant :: {String} system_constant : system_functor {$1} -system_functor :: {String} +system_functor :: {String} system_functor : atomic_system_word {$1}- + variable :: {V} variable : upper_word {V $1} @@ -304,111 +304,111 @@ arguments : term {[$1]} | term comma arguments { $1 : $3 } -source :: {GTerm} +source :: {GTerm} source : general_term {$1} -- source :== dag_source | internal_source | external_source | unknown --- dag_source :== name | inference_record +-- dag_source :== name | inference_record --- inference_record :== inference lp inference_rule comma useful_info comma [parent_list ] rp --- inference_rule :== atomic_word --- parent_list :== parent_info | parent_info comma parent_list --- parent_info :== source parent_details --- parent_details :== :general_list | null --- internal_source :== introduced lp intro_type optional_info rp +-- inference_record :== inference lp inference_rule comma useful_info comma [parent_list ] rp+-- inference_rule :== atomic_word+-- parent_list :== parent_info | parent_info comma parent_list+-- parent_info :== source parent_details+-- parent_details :== :general_list | null+-- internal_source :== introduced lp intro_type optional_info rp -- intro_type :== definition | axiom_of_choice | tautology | assumption--- external_source :== file_source | theory | creator_source --- file_source :== file lp file_name file_info rp --- file_info :== comma name | null --- theory :== theory lp theory_name optional_info rp +-- external_source :== file_source | theory | creator_source+-- file_source :== file lp file_name file_info rp+-- file_info :== comma name | null+-- theory :== theory lp theory_name optional_info rp -- theory_name :== equality | ac--- creator_source :== creator lp creator_name optional_info rp --- creator_name :== atomic_word +-- creator_source :== creator lp creator_name optional_info rp+-- creator_name :== atomic_word -optional_info :: {UsefulInfo} +optional_info :: {UsefulInfo} optional_info : comma useful_info {$2} | {NoUsefulInfo}- + useful_info :: { UsefulInfo } useful_info : general_list {UsefulInfo $1} -- useful_info :== [] | [info_items ]--- info_items :== info_item | info_item comma info_items --- info_item :== formula_item | inference_item | general_function --- formula_item :== description_item | iquote_item --- description_item :== description lp atomic_word rp --- iquote_item :== iquote lp atomic_word rp --- inference_item :== inference_status | assumptions_record | refutation --- inference_status :== status lp status_value rp | inference_info +-- info_items :== info_item | info_item comma info_items+-- info_item :== formula_item | inference_item | general_function+-- formula_item :== description_item | iquote_item+-- description_item :== description lp atomic_word rp+-- iquote_item :== iquote lp atomic_word rp+-- inference_item :== inference_status | assumptions_record | refutation+-- inference_status :== status lp status_value rp | inference_info -- status_value :== suc | unp | sap | esa | sat | fsa | thm | eqv | tac | wec | eth | tau | wtc | wth | cax | sca | tca | wca |cup | csp | ecs | csa | cth | ceq | unc | wcc | ect | fun | uns | wuc | wct | scc | uca | noc --- inference_info :== inference_rule lp atomic_word comma general_list rp --- assumptions_record :== assumptions lp [name_list ] rp --- refutation :== refutation lp file_source rp +-- inference_info :== inference_rule lp atomic_word comma general_list rp+-- assumptions_record :== assumptions lp [name_list ] rp+-- refutation :== refutation lp file_source rp include :: {TPTP_Input}-include : include_ lp file_name formula_selection rp dot { Include $3 $4 } +include : include_ lp file_name formula_selection rp dot { Include $3 $4 } formula_selection :: {[AtomicWord]}-formula_selection : comma lbra name_list rbra { $3 } +formula_selection : comma lbra name_list rbra { $3 } | { [] } name_list :: {[AtomicWord]} name_list : name {[$1]} | name comma name_list { $1 : $3 } - + general_term :: {GTerm}-general_term : general_data {GTerm $1} - | general_data colon general_term {ColonSep $1 $3} - | general_list {GList $1} +general_term : general_data {GTerm $1}+ | general_data colon general_term {ColonSep $1 $3}+ | general_list {GList $1} general_data :: {GData}-general_data : atomic_word { GWord $1 } - | atomic_word lp general_terms rp { GApp $1 $3 } +general_data : atomic_word { GWord $1 }+ | atomic_word lp general_terms rp { GApp $1 $3 } | variable { GVar $1 } | number { GNumber $1 } | distinct_object { GDistinctObject (stripQuotes '"' $1) } | formula_data { $1 }- + formula_data :: {GData} formula_data : dollar_word lp fof_formula rp { GFormulaData $1 $3 } -- too ambiguous | dollar_word lp cnf_formula rp { GFormulaData $1 $3 }- + general_list :: {[GTerm]} general_list : lbra rbra {[]} | lbra general_terms rbra {$2}- + general_terms :: {[GTerm]}-general_terms : general_term {[$1]} +general_terms : general_term {[$1]} | general_term comma general_terms {$1 : $3} name :: {AtomicWord} name : atomic_word {$1} | unsigned_integer {AtomicWord(show $1)}- -atomic_word :: {AtomicWord} ++atomic_word :: {AtomicWord} atomic_word : lower_word_ {AtomicWord $1} | single_quoted{AtomicWord (stripQuotes '\'' $1)}- -atomic_defined_word :: {String} ++atomic_defined_word :: {String} atomic_defined_word : dollar_word{$1}- -atomic_system_word :: {String} ++atomic_system_word :: {String} atomic_system_word : dollar_dollar_word{$1} number :: {Rational} -- maybe keep track of the number type that was actually parsed-number : integer {fromIntegral $1} | rational {$1} | real {$1} +number : integer {fromIntegral $1} | rational {$1} | real {$1} integer :: {Integer} integer : signed_integer {$1} | unsigned_integer {$1} -rational :: {Rational} -rational : integer tok_slash unsigned_integer {$1 % $3} - -file_name :: {String} +rational :: {Rational}+rational : integer tok_slash unsigned_integer {$1 % $3}++file_name :: {String} file_name : single_quoted {stripQuotes '\'' $1}- + lower_word_ :: {String} lower_word_ : lower_word {$1} | fof {"fof"} | cnf {"cnf"} | include_ {"include"} -- "fof" is a perfectly cromulent lower_word, but it is interpreted as a "fof" token @@ -489,7 +489,7 @@ comment_list :: {[String]} comment_list : {[]} | comment comment_list { $1 : $2 }- + { stripQuotes which (x:xs) = go xs@@ -498,7 +498,6 @@ go ('\\':'\\':xs) = '\\':go xs go ('\\':which:xs) = which:go xs go (x:xs) = x:go xs- -fApp2pApp (T (Identity (FunApp x args))) = (F (Identity (PredApp x args))) -} +fApp2pApp (T (Identity (FunApp x args))) = (F (Identity (PredApp x args)))+}
ParserC.y view
@@ -1,6 +1,6 @@ { module ParserC where- + import Data.Char import Data.Data import Data.Ratio@@ -17,8 +17,8 @@ %name parseTPTPwithComment %tokentype { Token }-%error { - +%error {+ ((\xs -> case xs of xs -> error ("Parse error, pos: "++show (take 25 xs)))) }@@ -68,32 +68,32 @@ comment { CommentToken $$ } - -%% +%%+ TPTP_file :: {[TPTP_Input_ c]} TPTP_file : {[]} | TPTP_input TPTP_file {$1 : $2}- + TPTP_input :: {TPTP_Input_ c}-TPTP_input : annotated_formula {$1} +TPTP_input : annotated_formula {$1} | include { $1 } | comment { Comment $1 } annotated_formula :: {TPTP_Input_ c}-annotated_formula : fof_annotated {$1} +annotated_formula : fof_annotated {$1} | cnf_annotated {$1} fof_annotated :: {TPTP_Input_ c} fof_annotated : fof lp name comma formula_role comma fof_formula annotations rp dot { AFormula $3 $5 $7 $8 }- + cnf_annotated :: {TPTP_Input} cnf_annotated : cnf lp name comma formula_role comma cnf_formula annotations rp dot { AFormula $3 $5 (univquant_free_vars $7) $8 }- - ++ annotations :: { Annotations }-annotations : comma source optional_info { Annotations $2 $3 } +annotations : comma source optional_info { Annotations $2 $3 } | { NoAnnotations } formula_role :: {Role}@@ -103,44 +103,44 @@ fof_formula :: {F c} fof_formula : binary_formula { $1 } | unitary_formula { $1 }- + binary_formula :: {F c} binary_formula : nonassoc_binary {$1} | assoc_binary {$1}- + nonassoc_binary :: {F c}-nonassoc_binary : unitary_formula binary_connective unitary_formula +nonassoc_binary : unitary_formula binary_connective unitary_formula { $2 $1 $3 } - + assoc_binary :: {F c} assoc_binary : or_formula { $1 } | and_formula { $1 }- - ++ or_formula :: {F c} or_formula : unitary_formula vline unitary_formula more_or_formula { L.foldl (.|.) ($1 .|. $3) $4 }- + more_or_formula :: {[F c]}-more_or_formula : {[]} | vline unitary_formula more_or_formula +more_or_formula : {[]} | vline unitary_formula more_or_formula { $2 : $3 }- + and_formula :: {F c} and_formula : unitary_formula ampersand unitary_formula more_and_formula { L.foldl (.&.) ($1 .&. $3) $4 } more_and_formula :: {[F c]}-more_and_formula : {[]} | ampersand unitary_formula more_and_formula +more_and_formula : {[]} | ampersand unitary_formula more_and_formula { $2 : $3 }- + unitary_formula :: {FormulaC} unitary_formula : quantified_formula {$1} | unary_formula {$1} | atomic_formula {$1} | lp fof_formula rp {$2}- + quantified_formula :: {F c} quantified_formula : quantifier lbra variable_list rbra colon unitary_formula { $1 $3 $6 `withComments` comm $5 }@@ -152,10 +152,10 @@ unary_formula :: {F c} unary_formula : unary_connective unitary_formula { $1 $2 } | fol_infix_unary { $1 }- + -- cnf_formula :: {Formula} -- cnf_formula : assoc_binary {$1} -- | lp assoc_binary rp {$2}@@ -164,20 +164,20 @@ cnf_formula : lp disjunction rp { $2 } | disjunction { $1 } - + disjunction :: {F c}-disjunction : literal more_disjunction +disjunction : literal more_disjunction { L.foldl (.|.) $1 $2 }- + more_disjunction :: {[F c]}-more_disjunction : {[]} | vline literal more_disjunction +more_disjunction : {[]} | vline literal more_disjunction { $2 : $3 } literal :: {FormulaC}-literal : atomic_formula {$1} - | tilde atomic_formula { (.~.) $2} +literal : atomic_formula {$1}+ | tilde atomic_formula { (.~.) $2} | fol_infix_unary {$1}- + fol_infix_unary :: {F c} fol_infix_unary : term infix_inequality term { $2 $1 $3 } @@ -192,94 +192,94 @@ | nor { (.~|.) } | nand { (.~&.) } ---- assoc_connective : vline +--- assoc_connective : vline --- | ampersand- + unary_connective :: {FormulaC -> FormulaC} unary_connective : tilde { (.~.) } --- defined_type :== atomic_defined_word +-- defined_type :== atomic_defined_word -- defined_type :== $oType | $o | $iType | $i | $tType | $real | $int--- system_type :== atomic_system_word +-- system_type :== atomic_system_word -atomic_formula :: {F c} +atomic_formula :: {F c} atomic_formula : plain_atomic_formula {$1} | defined_atomic_formula {$1} | system_atomic_formula {$1}- + plain_atomic_formula :: {F c} plain_atomic_formula : plain_term { fApp2pApp $1 } --- plain_atomic_formula :== proposition | predicate lp arguments rp --- proposition :== predicate --- predicate :== atomic_word +-- plain_atomic_formula :== proposition | predicate lp arguments rp+-- proposition :== predicate+-- predicate :== atomic_word defined_atomic_formula :: {F c}-defined_atomic_formula : defined_plain_formula {$1} +defined_atomic_formula : defined_plain_formula {$1} | defined_infix_formula {$1}- + defined_plain_formula :: {F c} defined_plain_formula : defined_plain_term {fApp2pApp $1}- ---defined_plain_formula :== defined_prop | defined_pred lp arguments rp ---defined_prop :== atomic_defined_word ++--defined_plain_formula :== defined_prop | defined_pred lp arguments rp+--defined_prop :== atomic_defined_word --defined_prop :== $true | $false---defined_pred :== atomic_defined_word +--defined_pred :== atomic_defined_word --defined_pred :== $equal defined_infix_formula :: {F c} defined_infix_formula : term defined_infix_pred term { $2 $1 $3 }- -defined_infix_pred :: { T c -> T c -> F c } ++defined_infix_pred :: { T c -> T c -> F c } defined_infix_pred : infix_equality { $1 } infix_equality :: { TermC -> TermC -> FormulaC } infix_equality : equals { (.=.) }- + infix_inequality :: { TermC -> TermC -> FormulaC } infix_inequality : nequals { (.!=.) } -system_atomic_formula :: {F c} +system_atomic_formula :: {F c} system_atomic_formula : system_term {fApp2pApp $1} -term :: {TermC} +term :: {TermC} term : function_term {$1} | variable {var $1}- + function_term :: {TermC}-function_term : plain_term {$1} +function_term : plain_term {$1} | defined_term {$1} | system_term {$1} -plain_term :: {TermC} +plain_term :: {TermC} plain_term : constant {fApp $1 []} | functor lp arguments rp {fApp $1 $3}- + constant :: {AtomicWord} constant : functor {$1} functor :: {AtomicWord} functor : atomic_word {$1} -defined_term :: {TermC} -defined_term : defined_atom {$1} +defined_term :: {TermC}+defined_term : defined_atom {$1} | defined_atomic_term {$1}- -defined_atom :: {TermC} -defined_atom : number {numberLitTerm $1} ++defined_atom :: {TermC}+defined_atom : number {numberLitTerm $1} | distinct_object {distinctObjectTerm (stripQuotes '"' $1)}- -defined_atomic_term :: {T c} ++defined_atomic_term :: {T c} defined_atomic_term : defined_plain_term {$1}- -defined_plain_term :: {TermC} -defined_plain_term : defined_constant {fApp (AtomicWord $1) []} - | defined_functor lp arguments rp {fApp (AtomicWord $1) $3} +defined_plain_term :: {TermC}+defined_plain_term : defined_constant {fApp (AtomicWord $1) []}+ | defined_functor lp arguments rp {fApp (AtomicWord $1) $3}+ defined_constant :: {String} defined_constant : defined_functor {$1} -- defined_constant :==@@ -288,16 +288,16 @@ defined_functor : atomic_defined_word {$1} -- defined_functor :== -system_term :: {TermC} +system_term :: {TermC} system_term : system_constant {fApp (AtomicWord $1) []}- | system_functor lp arguments rp {fApp (AtomicWord $1) $3} + | system_functor lp arguments rp {fApp (AtomicWord $1) $3} -system_constant :: {String} +system_constant :: {String} system_constant : system_functor {$1} -system_functor :: {String} +system_functor :: {String} system_functor : atomic_system_word {$1}- + variable :: {V} variable : upper_word {V $1} @@ -305,111 +305,111 @@ arguments : term {[$1]} | term comma arguments { $1 : $3 } -source :: {GTerm} +source :: {GTerm} source : general_term {$1} -- source :== dag_source | internal_source | external_source | unknown --- dag_source :== name | inference_record +-- dag_source :== name | inference_record --- inference_record :== inference lp inference_rule comma useful_info comma [parent_list ] rp --- inference_rule :== atomic_word --- parent_list :== parent_info | parent_info comma parent_list --- parent_info :== source parent_details --- parent_details :== :general_list | null --- internal_source :== introduced lp intro_type optional_info rp +-- inference_record :== inference lp inference_rule comma useful_info comma [parent_list ] rp+-- inference_rule :== atomic_word+-- parent_list :== parent_info | parent_info comma parent_list+-- parent_info :== source parent_details+-- parent_details :== :general_list | null+-- internal_source :== introduced lp intro_type optional_info rp -- intro_type :== definition | axiom_of_choice | tautology | assumption--- external_source :== file_source | theory | creator_source --- file_source :== file lp file_name file_info rp --- file_info :== comma name | null --- theory :== theory lp theory_name optional_info rp +-- external_source :== file_source | theory | creator_source+-- file_source :== file lp file_name file_info rp+-- file_info :== comma name | null+-- theory :== theory lp theory_name optional_info rp -- theory_name :== equality | ac--- creator_source :== creator lp creator_name optional_info rp --- creator_name :== atomic_word +-- creator_source :== creator lp creator_name optional_info rp+-- creator_name :== atomic_word -optional_info :: {UsefulInfo} +optional_info :: {UsefulInfo} optional_info : comma useful_info {$2} | {NoUsefulInfo}- + useful_info :: { UsefulInfo } useful_info : general_list {UsefulInfo $1} -- useful_info :== [] | [info_items ]--- info_items :== info_item | info_item comma info_items --- info_item :== formula_item | inference_item | general_function --- formula_item :== description_item | iquote_item --- description_item :== description lp atomic_word rp --- iquote_item :== iquote lp atomic_word rp --- inference_item :== inference_status | assumptions_record | refutation --- inference_status :== status lp status_value rp | inference_info +-- info_items :== info_item | info_item comma info_items+-- info_item :== formula_item | inference_item | general_function+-- formula_item :== description_item | iquote_item+-- description_item :== description lp atomic_word rp+-- iquote_item :== iquote lp atomic_word rp+-- inference_item :== inference_status | assumptions_record | refutation+-- inference_status :== status lp status_value rp | inference_info -- status_value :== suc | unp | sap | esa | sat | fsa | thm | eqv | tac | wec | eth | tau | wtc | wth | cax | sca | tca | wca |cup | csp | ecs | csa | cth | ceq | unc | wcc | ect | fun | uns | wuc | wct | scc | uca | noc --- inference_info :== inference_rule lp atomic_word comma general_list rp --- assumptions_record :== assumptions lp [name_list ] rp --- refutation :== refutation lp file_source rp +-- inference_info :== inference_rule lp atomic_word comma general_list rp+-- assumptions_record :== assumptions lp [name_list ] rp+-- refutation :== refutation lp file_source rp include :: {TPTP_Input_ c}-include : include_ lp file_name formula_selection rp dot { Include $3 $4 } +include : include_ lp file_name formula_selection rp dot { Include $3 $4 } formula_selection :: {[AtomicWord]}-formula_selection : comma lbra name_list rbra { $3 } +formula_selection : comma lbra name_list rbra { $3 } | { [] } name_list :: {[AtomicWord]} name_list : name {[$1]} | name comma name_list { $1 : $3 } - + general_term :: {GTerm}-general_term : general_data {GTerm $1} - | general_data colon general_term {ColonSep $1 $3} - | general_list {GList $1} +general_term : general_data {GTerm $1}+ | general_data colon general_term {ColonSep $1 $3}+ | general_list {GList $1} general_data :: {GData}-general_data : atomic_word { GWord $1 } - | atomic_word lp general_terms rp { GApp $1 $3 } +general_data : atomic_word { GWord $1 }+ | atomic_word lp general_terms rp { GApp $1 $3 } | variable { GVar $1 } | number { GNumber $1 } | distinct_object { GDistinctObject (stripQuotes '"' $1) } | formula_data { $1 }- + formula_data :: {GData} formula_data : dollar_word lp fof_formula rp { GFormulaData $1 $3 } -- too ambiguous | dollar_word lp cnf_formula rp { GFormulaData $1 $3 }- + general_list :: {[GTerm]} general_list : lbra rbra {[]} | lbra general_terms rbra {$2}- + general_terms :: {[GTerm]}-general_terms : general_term {[$1]} +general_terms : general_term {[$1]} | general_term comma general_terms {$1 : $3} name :: {AtomicWord} name : atomic_word {$1} | unsigned_integer {AtomicWord(show $1)}- -atomic_word :: {AtomicWord} ++atomic_word :: {AtomicWord} atomic_word : lower_word_ {AtomicWord $1} | single_quoted{AtomicWord (stripQuotes '\'' $1)}- -atomic_defined_word :: {String} ++atomic_defined_word :: {String} atomic_defined_word : dollar_word{$1}- -atomic_system_word :: {String} ++atomic_system_word :: {String} atomic_system_word : dollar_dollar_word{$1} number :: {Rational} -- maybe keep track of the number type that was actually parsed-number : integer {fromIntegral $1} | rational {$1} | real {$1} +number : integer {fromIntegral $1} | rational {$1} | real {$1} integer :: {Integer} integer : signed_integer {$1} | unsigned_integer {$1} -rational :: {Rational} -rational : integer tok_slash unsigned_integer {$1 % $3} - -file_name :: {String} +rational :: {Rational}+rational : integer tok_slash unsigned_integer {$1 % $3}++file_name :: {String} file_name : single_quoted {stripQuotes '\'' $1}- + lower_word_ :: {String} lower_word_ : lower_word {$1} | fof {"fof"} | cnf {"cnf"} | include_ {"include"} -- "fof" is a perfectly cromulent lower_word, but it is interpreted as a "fof" token @@ -490,7 +490,7 @@ comment_list :: {[String]} comment_list : {[]} | comment comment_list { $1 : $2 }- + { data AToken = AToken { tok :: Token, comm :: [String] } @@ -514,4 +514,3 @@ fApp2pApp (T mf) = F $ do FunApp x args <- mf return $ PredApp x args }-
Util.hs view
@@ -26,6 +26,6 @@ mkTypeOfForRank2Kind :: forall x c. Typeable1 c => String -> String -> x c -> TypeRep mkTypeOfForRank2Kind moduleName typeName = const tr where- tc = mkTyCon3 packageName moduleName typeName + tc = mkTyCon3 packageName moduleName typeName tr = mkTyConApp tc [getTyRep1 (undefined :: c ())] #endif
+ changelog.markdown view
@@ -0,0 +1,8 @@+## 0.4.3.0++* GHC 7.10.1 compatibility (Thanks to @agomezl)++## 0.4.2.0++* For transformers < 0.4.0.0, use the Eq/Ord/Show/Read Data.Functor.Identity orphan instances+ from transformers-compat instead of defining our own
− dist/build/Lexer.hs
@@ -1,463 +0,0 @@-{-# LANGUAGE CPP,MagicHash #-}-{-# LINE 1 "Lexer.x" #-}--{-# OPTIONS -fno-warn-missing-signatures #-}-{-# OPTIONS -fno-warn-unused-matches #-}-{-# OPTIONS -fno-warn-name-shadowing #-}-{-# OPTIONS -fno-warn-incomplete-patterns #-}--module Lexer where-import Data.Ratio--#if __GLASGOW_HASKELL__ >= 603-#include "ghcconfig.h"-#elif defined(__GLASGOW_HASKELL__)-#include "config.h"-#endif-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-import Data.Char (ord)-import Data.Array.Base (unsafeAt)-#else-import Array-import Char (ord)-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif-{-# LINE 1 "templates/wrappers.hs" #-}-{-# LINE 1 "templates/wrappers.hs" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 1 "templates/wrappers.hs" #-}--- -------------------------------------------------------------------------------- Alex wrapper code.------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.--import Data.Word (Word8)-{-# LINE 22 "templates/wrappers.hs" #-}--import qualified Data.Bits---- | Encode a Haskell String to a list of Word8 values, in UTF8 format.-utf8Encode :: Char -> [Word8]-utf8Encode = map fromIntegral . go . ord- where- go oc- | oc <= 0x7f = [oc]-- | oc <= 0x7ff = [ 0xc0 + (oc `Data.Bits.shiftR` 6)- , 0x80 + oc Data.Bits..&. 0x3f- ]-- | oc <= 0xffff = [ 0xe0 + (oc `Data.Bits.shiftR` 12)- , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)- , 0x80 + oc Data.Bits..&. 0x3f- ]- | otherwise = [ 0xf0 + (oc `Data.Bits.shiftR` 18)- , 0x80 + ((oc `Data.Bits.shiftR` 12) Data.Bits..&. 0x3f)- , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)- , 0x80 + oc Data.Bits..&. 0x3f- ]----type Byte = Word8---- -------------------------------------------------------------------------------- The input type---type AlexInput = (AlexPosn, -- current position,- Char, -- previous char- [Byte], -- pending bytes on current char- String) -- current input string--ignorePendingBytes :: AlexInput -> AlexInput-ignorePendingBytes (p,c,ps,s) = (p,c,[],s)--alexInputPrevChar :: AlexInput -> Char-alexInputPrevChar (p,c,bs,s) = c--alexGetByte :: AlexInput -> Maybe (Byte,AlexInput)-alexGetByte (p,c,(b:bs),s) = Just (b,(p,c,bs,s))-alexGetByte (p,c,[],[]) = Nothing-alexGetByte (p,_,[],(c:s)) = let p' = alexMove p c - (b:bs) = utf8Encode c- in p' `seq` Just (b, (p', c, bs, s))---{-# LINE 92 "templates/wrappers.hs" #-}--{-# LINE 106 "templates/wrappers.hs" #-}--{-# LINE 121 "templates/wrappers.hs" #-}---- -------------------------------------------------------------------------------- Token positions---- `Posn' records the location of a token in the input text. It has three--- fields: the address (number of chacaters preceding the token), line number--- and column of a token within the file. `start_pos' gives the position of the--- start of the file and `eof_pos' a standard encoding for the end of file.--- `move_pos' calculates the new position after traversing a given character,--- assuming the usual eight character tab stops.---data AlexPosn = AlexPn !Int !Int !Int- deriving (Eq,Show)--alexStartPos :: AlexPosn-alexStartPos = AlexPn 0 1 1--alexMove :: AlexPosn -> Char -> AlexPosn-alexMove (AlexPn a l c) '\t' = AlexPn (a+1) l (((c+7) `div` 8)*8+1)-alexMove (AlexPn a l c) '\n' = AlexPn (a+1) (l+1) 1-alexMove (AlexPn a l c) _ = AlexPn (a+1) l (c+1)----- -------------------------------------------------------------------------------- Default monad--{-# LINE 242 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Monad (with ByteString input)--{-# LINE 333 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Basic wrapper--{-# LINE 360 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Basic wrapper, ByteString version--{-# LINE 378 "templates/wrappers.hs" #-}--{-# LINE 392 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Posn wrapper---- Adds text positions to the basic model.-----alexScanTokens :: String -> [token]-alexScanTokens str = go (alexStartPos,'\n',[],str)- where go inp@(pos,_,_,str) =- case alexScan inp 0 of- AlexEOF -> []- AlexError ((AlexPn _ line column),_,_,_) -> error $ "lexical error at line " ++ (show line) ++ ", column " ++ (show column)- AlexSkip inp' len -> go inp'- AlexToken inp' len act -> act pos (take len str) : go inp'------ -------------------------------------------------------------------------------- Posn wrapper, ByteString version--{-# LINE 424 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- GScan wrapper---- For compatibility with previous versions of Alex, and because we can.--alex_base :: AlexAddr-alex_base = AlexA# "\xf8\xff\xff\xff\xd6\xff\xff\xff\x09\x00\x00\x00\xff\x00\x00\x00\xa9\x00\x00\x00\x00\x01\x00\x00\x7f\x01\x00\x00\xfe\x00\x00\x00\xff\x01\x00\x00\x7f\x02\x00\x00\xff\x02\x00\x00\x7f\x03\x00\x00\xff\x03\x00\x00\x7f\x04\x00\x00\xf0\x04\x00\x00\x00\x00\x00\x00\x70\x05\x00\x00\x00\x00\x00\x00\xe1\x05\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x93\x06\x00\x00\x00\x00\x00\x00\xd4\x06\x00\x00\x00\x00\x00\x00\x15\x07\x00\x00\x15\x08\x00\x00\xd5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x08\x00\x00\x46\x09\x00\x00\x1f\x01\x00\x00\x06\x09\x00\x00\x00\x00\x00\x00\x06\x0a\x00\x00\xc6\x09\x00\x00\x00\x00\x00\x00\x9c\x0a\x00\x00\x00\x00\x00\x00\x08\x0a\x00\x00\xd7\xff\xff\xff\x48\x00\x00\x00\xf7\x00\x00\x00\x01\x01\x00\x00\x92\x0b\x00\x00\x92\x0c\x00\x00\x52\x0c\x00\x00\x00\x00\x00\x00\xc8\xff\xff\xff\x32\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\xff\xff\x00\x00\x00\x00\xd8\xff\xff\xff\x77\x0b\x00\x00\x00\x00\x00\x00\x48\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x0b\x00\x00\x23\x0d\x00\x00\x18\x0e\x00\x00\x63\x0e\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0b\x00\x00\xd8\x0a\x00\x00\x8a\x0b\x00\x00\xb0\x0e\x00\x00\x8b\x0b\x00\x00\xc6\x0e\x00\x00\xe8\xff\xff\xff"#--alex_table :: AlexAddr-alex_table = AlexA# "\x00\x00\x33\x00\x33\x00\x33\x00\x33\x00\x33\x00\x3a\x00\x4c\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x3a\x00\x27\x00\x3b\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x33\x00\x39\x00\x2e\x00\x3e\x00\x05\x00\x3e\x00\x3a\x00\x03\x00\x34\x00\x37\x00\x46\x00\x47\x00\x38\x00\x2a\x00\x3d\x00\x50\x00\x4e\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x3a\x00\x02\x00\x01\x00\x3b\x00\x48\x00\x3a\x00\x3f\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x35\x00\x32\x00\x36\x00\x00\x00\x00\x00\x00\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x2d\x00\x3a\x00\x2d\x00\x3c\x00\x00\x00\x49\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1c\x00\x0b\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x16\x00\x10\x00\x0f\x00\x0f\x00\x0f\x00\x0e\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\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x04\x00\x03\x00\x40\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x49\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x33\x00\x33\x00\x33\x00\x33\x00\x33\x00\x00\x00\x2e\x00\x4c\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x2e\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x25\x00\x09\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x1a\x00\x0c\x00\x13\x00\x13\x00\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x06\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x24\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x20\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x1b\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x09\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x0a\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1c\x00\x0b\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x16\x00\x10\x00\x0f\x00\x0f\x00\x0f\x00\x0e\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\x3a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x41\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x00\x00\x00\x00\x2b\x00\x2b\x00\x00\x00\x00\x00\x2b\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x21\x00\x2b\x00\x2b\x00\x00\x00\x42\x00\x3a\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x22\x00\x0a\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x0d\x00\x11\x00\x11\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x30\x00\x06\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x29\x00\x08\x00\x1e\x00\x1e\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x2c\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_check :: AlexAddr-alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3d\x00\x2a\x00\x3d\x00\xff\xff\xff\xff\x3e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x2a\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2f\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x7e\x00\x5d\x00\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2b\x00\x7c\x00\x2d\x00\x7e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\x27\x00\x27\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x22\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x5c\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2a\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x26\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x22\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x45\x00\x45\x00\xff\xff\xff\xff\x65\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5c\x00\x65\x00\x65\x00\xff\xff\x5f\x00\x7c\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x45\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_deflt :: AlexAddr-alex_deflt = AlexA# "\xff\xff\xff\xff\x27\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x15\x00\xff\xff\x17\x00\x17\x00\x19\x00\x19\x00\x1d\x00\x1d\x00\x23\x00\x23\x00\x26\x00\x26\x00\x27\x00\x27\x00\x27\x00\x28\x00\x28\x00\x2e\x00\xff\xff\x2e\x00\x2e\x00\x03\x00\x03\x00\x03\x00\x27\x00\x31\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x3e\x00\x3e\x00\x3e\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\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_accept = listArray (0::Int,80) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAcc (alex_action_1),AlexAcc (alex_action_2),AlexAcc (alex_action_3),AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAcc (alex_action_17),AlexAcc (alex_action_18),AlexAcc (alex_action_19),AlexAcc (alex_action_19),AlexAcc (alex_action_19),AlexAcc (alex_action_20),AlexAcc (alex_action_20),AlexAcc (alex_action_21),AlexAcc (alex_action_21),AlexAcc (alex_action_22)]-{-# LINE 69 "Lexer.x" #-}---- Each action has type :: String -> Token--withPos f pos s = (pos, f s)---- The token type:-data Token = - LP - | RP - | Comma - | Dot - | Lbrack - | Rbrack- | Oper String- | SingleQuoted String- | DoubleQuoted String- | DollarWord String - | DollarDollarWord String- | UpperWord String- | LowerWord String- | Star- | Plus- | Rangle- | SignedInt Integer- | UnsignedInt Integer- | Real Rational- | CommentToken String- | Slash- deriving (Eq,Ord,Show)---- alex defines: alexScanTokens--stripPlus :: String -> String-stripPlus ('+':xs) = xs-stripPlus xs = xs---readDecimalFraction :: String -> Rational-readDecimalFraction ('-':cs) = -(readUnsignedDecimalFraction cs)-readDecimalFraction cs = readUnsignedDecimalFraction cs--readInteger :: String -> Integer-readInteger = read---readUnsignedDecimalFraction :: String -> Rational-readUnsignedDecimalFraction cs = - case break (=='.') cs of- (_,"") -> case breakExponent cs of- (cs2,_:cs2') -> readIntegerRat cs2 * readExponent cs2' -- (cs1,_:cs1') -> case breakExponent cs1' of- (_,"") -> readIntegerRat cs1 + readFraction cs1'- (cs2,_:cs2') -> (readIntegerRat cs1 + readFraction cs2) * readExponent cs2' - where- breakExponent = break (`elem` "Ee")-- readExponent :: String -> Rational- readExponent = (10^^) . readInteger . stripPlus-- readFraction :: String -> Rational- readFraction cs = readInteger cs % (10^(length cs))-- readIntegerRat :: String -> Rational- readIntegerRat = fromIntegral . readInteger- ----alex_action_1 = withPos $ const LP -alex_action_2 = withPos $ const Lbrack -alex_action_3 = withPos $ const Rbrack -alex_action_4 = withPos $ const RP -alex_action_5 = withPos $ const Comma -alex_action_6 = withPos $ Oper -alex_action_7 = withPos $ const Dot -alex_action_8 = withPos $ CommentToken -alex_action_9 = withPos $ CommentToken -alex_action_10 = withPos SingleQuoted -alex_action_11 = withPos DoubleQuoted -alex_action_12 = withPos DollarDollarWord -alex_action_13 = withPos DollarWord -alex_action_14 = withPos UpperWord -alex_action_15 = withPos LowerWord -alex_action_16 = withPos $ const Star -alex_action_17 = withPos $ const Plus -alex_action_18 = withPos $ const Rangle -alex_action_19 = withPos (Real . readDecimalFraction . stripPlus) -alex_action_20 = withPos (SignedInt . readInteger . stripPlus) -alex_action_21 = withPos (UnsignedInt . readInteger . stripPlus) -alex_action_22 = withPos $ const Slash -{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--{-# LINE 21 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define GTE(n,m) (tagToEnum# (n >=# m))-#define EQ(n,m) (tagToEnum# (n ==# m))-#else-#define GTE(n,m) (n >=# m)-#define EQ(n,m) (n ==# m)-#endif-{-# LINE 51 "templates/GenericTemplate.hs" #-}---data AlexAddr = AlexA# Addr#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow16Int# i- where- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#-#else- indexInt16OffAddr# arr off-#endif------{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr (AlexA# arr) off = -#ifdef WORDS_BIGENDIAN- narrow32Int# i- where- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`- (b2 `uncheckedShiftL#` 16#) `or#`- (b1 `uncheckedShiftL#` 8#) `or#` b0)- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 4#-#else- indexInt32OffAddr# arr off-#endif-------#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif------- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a- = AlexEOF- | AlexError !AlexInput- | AlexSkip !AlexInput !Int- | AlexToken !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input (I# (sc))- = alexScanUser undefined input (I# (sc))--alexScanUser user input (I# (sc))- = case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, input') ->- case alexGetByte input of- Nothing -> ---- AlexEOF- Just _ ->---- AlexError input'-- (AlexLastSkip input'' len, _) ->---- AlexSkip input'' len-- (AlexLastAcc k input''' len, _) ->---- AlexToken input''' len k----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user orig_input len input s last_acc =- input `seq` -- strict in the input- let - new_acc = (check_accs (alex_accept `quickIndex` (I# (s))))- in- new_acc `seq`- case alexGetByte input of- Nothing -> (new_acc, input)- Just (c, new_input) -> ---- case fromIntegral c of { (I# (ord_c)) ->- let- base = alexIndexInt32OffAddr alex_base s- offset = (base +# ord_c)- check = alexIndexInt16OffAddr alex_check offset- - new_s = if GTE(offset,0#) && EQ(check,ord_c)- then alexIndexInt16OffAddr alex_table offset- else alexIndexInt16OffAddr alex_deflt s- in- case new_s of- -1# -> (new_acc, input)- -- on an error, we want to keep the input *before* the- -- character that failed, not after.- _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)- -- note that the length is increased ONLY if this is the 1st byte in a char encoding)- new_input new_s new_acc- }- where- check_accs (AlexAccNone) = last_acc- check_accs (AlexAcc a ) = AlexLastAcc a input (I# (len))- check_accs (AlexAccSkip) = AlexLastSkip input (I# (len))-{-# LINE 198 "templates/GenericTemplate.hs" #-}--data AlexLastAcc a- = AlexNone- | AlexLastAcc a !AlexInput !Int- | AlexLastSkip !AlexInput !Int--instance Functor AlexLastAcc where- fmap f AlexNone = AlexNone- fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z- fmap f (AlexLastSkip x y) = AlexLastSkip x y--data AlexAcc a user- = AlexAccNone- | AlexAcc a- | AlexAccSkip-{-# LINE 242 "templates/GenericTemplate.hs" #-}---- used by wrappers-iUnbox (I# (i)) = i
− dist/build/Parser.hs
@@ -1,2566 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-module Parser where- -import Data.Char-import Data.Data-import Data.Ratio-import Control.Monad-import Data.List as L-import Lexer-import Data.Set as S-import Codec.TPTP.Base-import System.IO-import System.IO.Unsafe-import Control.Monad.Identity-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts---- parser produced by Happy Version 1.19.3--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn4 :: ([TPTP_Input_ c]) -> (HappyAbsSyn )-happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn4 #-}-happyOut4 :: (HappyAbsSyn ) -> ([TPTP_Input_ c])-happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut4 #-}-happyIn5 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (Annotations) -> (HappyAbsSyn )-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> (Annotations)-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (Role) -> (HappyAbsSyn )-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> (Role)-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (F c) -> (HappyAbsSyn )-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (F c)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (F c) -> (HappyAbsSyn )-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> (F c)-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (F c) -> (HappyAbsSyn )-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (F c)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (F c) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (F c)-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (F c) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (F c)-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([F c]) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> ([F c])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (F c) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (F c)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([F c]) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> ([F c])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (Formula) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (Formula)-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (F c) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (F c)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: ([V]) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> ([V])-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (F c) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (F c)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (F c) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (F c)-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (F c) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (F c)-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([F c]) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> ([F c])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Formula) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (Formula)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (F c) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (F c)-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([V] -> Formula -> Formula) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([V] -> Formula -> Formula)-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Formula -> Formula -> Formula) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Formula -> Formula -> Formula)-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (Formula -> Formula) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (Formula -> Formula)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (F c) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (F c)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (F c) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (F c)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (F c) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (F c)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (F c) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (F c)-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (F c) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (F c)-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (T c -> T c -> F c) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (T c -> T c -> F c)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (Term -> Term -> Formula) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (Term -> Term -> Formula)-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (Term -> Term -> Formula) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (Term -> Term -> Formula)-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (F c) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (F c)-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (Term) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (Term)-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (Term) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> (Term)-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (Term) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (Term)-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (AtomicWord) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (AtomicWord) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (Term) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (Term)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (Term) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (Term)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (Term) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (Term)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (Term) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (Term)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (String) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (String)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (String) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (String)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Term) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Term)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (String) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (String)-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (String) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (String)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (V) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (V)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([T c]) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> ([T c])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (GTerm) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> (GTerm)-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: (UsefulInfo) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> (UsefulInfo)-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (UsefulInfo) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (UsefulInfo)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (TPTP_Input) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (TPTP_Input)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([AtomicWord]) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> ([AtomicWord])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ([AtomicWord]) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> ([AtomicWord])-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (GTerm) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (GTerm)-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (GData) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (GData)-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (GData) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (GData)-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([GTerm]) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> ([GTerm])-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: ([GTerm]) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> ([GTerm])-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (AtomicWord) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (AtomicWord) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (String) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (String)-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (String) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (String)-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (Rational) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (Rational)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (Integer) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (Integer)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (Rational) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (Rational)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (String) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (String)-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (String) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (String)-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (Token) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (Token)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (Token) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (Token)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Token) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (Token)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Token) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Token)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Token) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Token)-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (Token) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (Token)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Token) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Token)-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (Token) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (Token)-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (Token) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (Token)-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (Token) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (Token)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (Token) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (Token)-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (Token) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (Token)-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (Token) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (Token)-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (Token) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (Token)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (Token) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (Token)-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (Token) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (Token)-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (Token) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (Token)-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (Token) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (Token)-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Token) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Token)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (Token) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (Token)-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (Token) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (Token)-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Token) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Token)-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Token) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Token)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (Token) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (Token)-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (Token) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (Token)-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (Token) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (Token)-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (String) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (String)-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (String) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (String)-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (String) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (String)-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (String) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (String)-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (String) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (String)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (String) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (String)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (Integer) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (Integer)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (Integer) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (Integer)-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (Rational) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (Rational)-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: ([String]) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> ([String])-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyInTok :: (Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\xe7\x00\x00\x00\x3f\x02\xe7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x4a\x02\x4a\x02\x22\x02\x22\x02\x22\x02\x00\x00\x00\x00\x22\x02\x00\x00\x00\x00\x2d\x02\x21\x02\x93\x00\x93\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x1e\x02\x1e\x02\x2e\x02\x00\x00\x2e\x02\x00\x00\x00\x00\x30\x02\x2c\x02\x09\x02\xde\x00\x00\x00\x00\x00\x00\x00\xde\x00\x28\x02\x00\x00\x28\x02\x00\x00\x93\x00\x07\x02\x16\x02\xd3\x01\x00\x00\x00\x00\xd3\x01\x00\x00\xf3\x01\xf1\x01\x08\x02\xb0\x01\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\xec\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x89\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x87\x00\x00\x00\xe9\x01\x84\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xe4\x01\x00\x00\xc1\x01\x00\x00\x00\x00\x06\x03\xf2\x01\x93\x00\x00\x00\xc2\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x01\xc4\x01\x00\x00\x06\x03\xa0\x01\xbe\x01\xbf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x01\x97\x01\xf2\x01\xf2\x01\xf2\x01\xf2\x01\x00\x00\xf2\x01\x00\x00\x00\x00\x93\x01\x93\x01\x00\x00\x98\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb0\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\xb2\x01\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x01\x9b\x01\x00\x00\xae\x01\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x01\xac\x01\xac\x01\xac\x01\x00\x00\x00\x00\x00\x00\xa8\x01\x00\x00\x92\x01\x00\x00\x00\x00\x8f\x01\x00\x00\x63\x02\x00\x00\x8f\x01\x95\x01\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\xb0\x01\x8e\x01\x8b\x01\x00\x00\xbf\x02\xbf\x02\x69\x01\x00\x00\x8a\x01\x00\x00\x00\x00\x00\x00\xf2\x01\x6c\x01\x71\x01\x00\x00\xb0\x01\x00\x00\xb0\x01\x00\x00\x64\x01\x62\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\xbf\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x48\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x27\x01\x10\x01\x0a\x01\x06\x01\x05\x01\x00\x00\x00\x00\x03\x01\x00\x00\x00\x00\xcd\xff\xfc\x00\xe9\x03\x92\x03\x00\x00\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xf1\x00\xef\x00\x0f\x01\x00\x00\xe4\xff\x00\x00\x00\x00\x0e\x01\x0c\x01\xee\x00\xae\x00\x00\x00\x00\x00\x00\x00\x50\x00\x09\x01\x00\x00\x07\x01\x00\x00\x81\x06\xe9\x00\x04\x01\xd5\x00\x00\x00\x00\x00\xd4\x00\x00\x00\xf3\x00\xe8\x00\x9e\x03\xc2\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\xed\x00\x46\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xb4\x00\xb0\x00\xaf\x00\xad\x00\xac\x00\xab\x00\xa9\x00\xa8\x00\x06\x00\x00\x00\xf3\xff\x00\x00\x00\x00\xf5\x03\x9a\x04\x70\x06\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\xc7\x00\x00\x00\x4a\x04\xa6\x00\xbf\x00\x30\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x92\x00\x46\x05\x1b\x05\xf0\x04\x9c\x05\x00\x00\x71\x05\x00\x00\x00\x00\x8f\x00\x8e\x00\x00\x00\xec\x00\xea\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x32\x02\x79\x00\x78\x00\x77\x00\x70\x00\x6d\x00\x6b\x00\x65\x00\x8c\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x35\x00\x00\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x69\x00\x5b\x00\x2e\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x02\x00\x00\x00\x00\x00\x2c\x00\x00\x00\xd5\x05\x00\x00\x29\x00\x22\x00\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\xfa\xff\x05\x00\x04\x00\x00\x00\x1c\x06\x63\x06\xdc\xff\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc5\x04\xa5\x00\xdd\xff\x00\x00\xd6\x01\x00\x00\x7a\x01\x00\x00\x0f\x00\x24\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x00\x00\xe9\x05\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfe\xff\x00\x00\x00\x00\xfe\xff\xfc\xff\xf9\xff\xf8\xff\xfb\xff\x00\x00\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\xfa\xff\x64\xff\x5a\xff\x65\xff\x66\xff\x00\x00\x5a\xff\x00\x00\x00\x00\xfd\xff\x00\x00\x8e\xff\x8c\xff\x80\xff\x7f\xff\x7e\xff\x8b\xff\x81\xff\x8d\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x7d\xff\x9f\xff\x82\xff\x59\xff\x00\x00\x00\x00\x5a\xff\x00\x00\x5c\xff\x5e\xff\x63\xff\x00\x00\x00\x00\xf3\xff\x00\x00\x79\xff\x00\x00\x5a\xff\x00\x00\x5a\xff\x7c\xff\xa1\xff\x5a\xff\x7b\xff\x00\x00\x9e\xff\x00\x00\x00\x00\xf4\xff\xf2\xff\xf0\xff\xef\xff\xed\xff\xec\xff\xf1\xff\xe5\xff\xe4\xff\xdd\xff\x00\x00\x00\x00\xe3\xff\xca\xff\xc9\xff\xc6\xff\xc5\xff\xc8\xff\x00\x00\xbe\xff\xc7\xff\xb9\xff\xb7\xff\xbb\xff\xb5\xff\xb4\xff\xc4\xff\xb0\xff\xae\xff\xbf\xff\xac\xff\xaa\xff\xbd\xff\xb6\xff\xad\xff\xa9\xff\xb3\xff\x88\xff\x87\xff\x00\x00\xd3\xff\xd2\xff\xcb\xff\xb2\xff\x8a\xff\x89\xff\xa8\xff\x85\xff\x84\xff\x86\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\xf4\xff\xdb\xff\xd9\xff\xd5\xff\xd7\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x5a\xff\x78\xff\x7a\xff\x9d\xff\xd6\xff\x00\x00\x00\x00\xda\xff\x00\x00\x5a\xff\x00\x00\x00\x00\x5b\xff\x5d\xff\x5f\xff\x60\xff\x61\xff\x62\xff\x67\xff\x6a\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\xc1\xff\xc0\xff\x5a\xff\x5a\xff\xde\xff\x00\x00\x00\x00\xd1\xff\xd0\xff\xce\xff\xcd\xff\xcc\xff\xcf\xff\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x00\x00\x69\xff\x6e\xff\x6f\xff\x70\xff\x71\xff\x72\xff\x73\xff\xea\xff\xe7\xff\xee\xff\x00\x00\xe0\xff\x6c\xff\x6d\xff\xd4\xff\xbc\xff\xb1\xff\xba\xff\xc3\xff\xa7\xff\x00\x00\x00\x00\x00\x00\x83\xff\xe2\xff\x97\xff\xa3\xff\xa5\xff\x9c\xff\x94\xff\x9a\xff\x99\xff\x96\xff\x00\x00\x95\xff\x00\x00\x00\x00\x68\xff\xd9\xff\xdc\xff\xd8\xff\xf6\xff\x00\x00\x90\xff\x00\x00\x92\xff\x00\x00\x00\x00\x5a\xff\xf5\xff\x00\x00\xab\xff\xaf\xff\xb8\xff\x00\x00\x00\x00\x00\x00\xe8\xff\x00\x00\xeb\xff\x00\x00\xf7\xff\xea\xff\xe7\xff\x00\x00\xdf\xff\xa6\xff\xa4\xff\xa2\xff\x74\xff\x9b\xff\x00\x00\x91\xff\x00\x00\x00\x00\x93\xff\x8f\xff\x98\xff\xe1\xff\xe6\xff\xe9\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x15\x00\x0d\x00\x15\x00\x0f\x00\x10\x00\x05\x00\x12\x00\x20\x00\x21\x00\x22\x00\x05\x00\x17\x00\x18\x00\x46\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x35\x00\x0c\x00\x38\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x0c\x00\x51\x00\x62\x00\x4c\x00\x4c\x00\x0e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x49\x00\x36\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x3d\x00\x47\x00\x48\x00\x0e\x00\x49\x00\x58\x00\x59\x00\x6b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x4a\x00\x5d\x00\x4b\x00\x5d\x00\x4c\x00\x4c\x00\x51\x00\x5a\x00\x5b\x00\x06\x00\x4c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x37\x00\x0d\x00\x5d\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x48\x00\x20\x00\x21\x00\x48\x00\x17\x00\x18\x00\x49\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x5d\x00\x37\x00\x5c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x5c\x00\x5f\x00\x60\x00\x61\x00\x11\x00\x12\x00\x47\x00\x11\x00\x12\x00\x11\x00\x12\x00\x11\x00\x12\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x5f\x00\x60\x00\x61\x00\x58\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x20\x00\x06\x00\x22\x00\x11\x00\x67\x00\x5a\x00\x5b\x00\x4c\x00\x4c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x4b\x00\x0d\x00\x6b\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x49\x00\x6b\x00\x32\x00\x6b\x00\x17\x00\x18\x00\x6b\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x6b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x47\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6b\x00\x69\x00\x49\x00\x11\x00\x20\x00\x18\x00\x19\x00\x1a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x66\x00\x25\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x67\x00\x6b\x00\x6b\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5a\x00\x5b\x00\x32\x00\x6b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x19\x00\x12\x00\x6b\x00\x48\x00\x48\x00\x4c\x00\x17\x00\x18\x00\x4a\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x4b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4d\x00\x66\x00\x4c\x00\x6b\x00\x4c\x00\x4a\x00\x49\x00\x48\x00\x6b\x00\x6b\x00\x4c\x00\x6b\x00\x6b\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x4c\x00\x47\x00\x48\x00\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5c\x00\x5d\x00\x48\x00\x6b\x00\x02\x00\x15\x00\x5a\x00\x5b\x00\x16\x00\x0a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x1f\x00\x12\x00\x03\x00\x25\x00\x04\x00\x01\x00\x17\x00\x18\x00\x05\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x16\x00\x06\x00\x0a\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x05\x00\x02\x00\x05\x00\x15\x00\x01\x00\x04\x00\x16\x00\x02\x00\x06\x00\x25\x00\x1f\x00\x25\x00\x22\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x02\x00\x47\x00\x48\x00\x13\x00\x14\x00\x25\x00\x02\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x5a\x00\x5b\x00\x11\x00\x16\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x01\x00\x25\x00\x24\x00\x17\x00\x18\x00\x03\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x05\x00\x04\x00\x25\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x01\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x06\x00\x47\x00\x48\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x25\x00\x05\x00\x25\x00\x03\x00\x5a\x00\x5b\x00\x02\x00\x05\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x25\x00\x25\x00\x1b\x00\x17\x00\x18\x00\x01\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x26\x00\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\x34\x00\xff\xff\x4a\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x39\x00\x47\x00\xff\xff\xff\xff\x4a\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x00\x40\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x47\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x04\x01\x42\x00\x43\x00\x44\x00\x45\x00\xe2\x00\x46\x00\x8c\x00\x47\x00\x48\x00\x8f\x00\x49\x00\x9f\x00\xa0\x00\xa1\x00\xb8\x00\x4a\x00\x4b\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xeb\x00\x0a\x01\x29\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xf5\x00\xfa\x00\x27\x00\x2a\x00\xec\x00\x09\x01\x17\x00\x03\x00\x04\x00\x05\x00\x06\x00\x05\x01\xfd\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xfe\x00\x1a\x00\x68\x00\xf3\x00\x07\x01\xa2\x00\xa3\x00\xff\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xdb\x00\x8d\x00\x02\x01\x8d\x00\x03\x01\x90\x00\xe9\x00\x69\x00\x6a\x00\x31\x00\x90\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x9a\x00\x42\x00\x43\x00\x44\x00\x45\x00\x07\x00\x46\x00\xf6\x00\x47\x00\x48\x00\xe3\x00\x49\x00\xe4\x00\x9f\x00\xa0\x00\xe8\x00\x4a\x00\x4b\x00\xed\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xf6\x00\x07\x00\xf4\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xf4\x00\x08\x00\x09\x00\x0a\x00\xba\xff\xba\xff\x32\x00\xb1\xff\xb1\xff\xbc\xff\xbc\xff\xa5\x00\xa6\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xee\x00\x1a\x00\x68\x00\x08\x00\x09\x00\x0a\x00\xa2\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\xef\x00\x23\x00\x33\x00\x24\x00\xfb\x00\x1f\x00\x69\x00\x6a\x00\xf0\x00\xf1\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xf2\x00\x46\x00\xba\x00\x47\x00\x48\x00\xf7\x00\x49\x00\xb9\x00\xbb\x00\xc5\x00\xbc\x00\x4a\x00\x4b\x00\xbd\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xbe\x00\xbf\x00\xc0\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x32\x00\x0c\x00\x0d\x00\x0e\x00\xc6\x00\xc7\x00\xd1\x00\xd2\x00\xc4\x00\x23\x00\x0c\x00\x0d\x00\x0e\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xde\x00\x1a\x00\x68\x00\x6f\x00\x0f\x00\x1b\x00\x1c\x00\x1d\x00\xe1\x00\xdf\x00\x87\x00\x91\x00\x92\x00\x1f\x00\x93\x00\x94\x00\x95\x00\x9c\x00\x96\x00\x97\x00\x69\x00\x6a\x00\xc5\x00\x98\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x08\x01\x48\x00\xa8\x00\x49\x00\x99\x00\x9d\x00\x9e\x00\x83\x00\x4a\x00\x4b\x00\xa7\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x84\x00\x86\x00\x39\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x3a\x00\x6f\x00\x3f\x00\x3c\x00\x40\x00\x35\x00\x37\x00\x13\x00\x34\x00\x2d\x00\x2c\x00\x2e\x00\x2f\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x30\x00\x1a\x00\x68\x00\x25\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\x28\x00\x15\x00\x0f\x00\x11\x00\xaf\x00\xb0\x00\x16\x00\x12\x00\x39\x00\xb8\x00\x69\x00\x6a\x00\x8f\x00\xeb\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf8\x00\x48\x00\x7a\x00\x49\x00\x37\x00\x11\x00\x86\x00\x15\x00\x4a\x00\x4b\x00\x2c\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x8f\x00\x3c\x00\xeb\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x2c\x00\x39\x00\x2c\x00\xb8\x00\x15\x00\x86\x00\x8f\x00\x39\x00\x3c\x00\x11\x00\x7a\x00\x11\x00\x24\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x39\x00\x1a\x00\x68\x00\x74\x00\x75\x00\x11\x00\x39\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x69\x00\x6a\x00\xa5\x00\x8f\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf9\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x15\x00\x11\x00\x9c\x00\x4a\x00\x4b\x00\x37\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x2c\x00\x86\x00\x11\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x3c\x00\x1a\x00\x68\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x11\x00\x2c\x00\x11\x00\x37\x00\x69\x00\x6a\x00\x39\x00\x2c\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc1\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x11\x00\x11\x00\x22\x00\x4a\x00\x4b\x00\x15\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xff\xff\x37\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc2\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc3\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xa6\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x8b\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x24\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xe0\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x89\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x8a\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xfc\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xce\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xcf\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xd0\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\xe6\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\xe7\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x06\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x01\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\xd4\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x01\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x88\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x3e\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x19\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x1a\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (1, 166) [- (1 , happyReduce_1),- (2 , happyReduce_2),- (3 , happyReduce_3),- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166)- ]--happy_n_terms = 39 :: Int-happy_n_nonterms = 108 :: Int--happyReduce_1 = happySpecReduce_0 0# happyReduction_1-happyReduction_1 = happyIn4- ([]- )--happyReduce_2 = happySpecReduce_2 0# happyReduction_2-happyReduction_2 happy_x_2- happy_x_1- = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut4 happy_x_2 of { happy_var_2 -> - happyIn4- (happy_var_1 : happy_var_2- )}}--happyReduce_3 = happySpecReduce_1 1# happyReduction_3-happyReduction_3 happy_x_1- = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn5- (happy_var_1- )}--happyReduce_4 = happySpecReduce_1 1# happyReduction_4-happyReduction_4 happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - happyIn5- (happy_var_1- )}--happyReduce_5 = happySpecReduce_1 1# happyReduction_5-happyReduction_5 happy_x_1- = case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> - happyIn5- (Comment happy_var_1- )}--happyReduce_6 = happySpecReduce_1 2# happyReduction_6-happyReduction_6 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn6- (happy_var_1- )}--happyReduce_7 = happySpecReduce_1 2# happyReduction_7-happyReduction_7 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn6- (happy_var_1- )}--happyReduce_8 = happyReduce 10# 3# happyReduction_8-happyReduction_8 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_3 of { happy_var_3 -> - case happyOut10 happy_x_5 of { happy_var_5 -> - case happyOut11 happy_x_7 of { happy_var_7 -> - case happyOut9 happy_x_8 of { happy_var_8 -> - happyIn7- (AFormula happy_var_3 happy_var_5 happy_var_7 happy_var_8- ) `HappyStk` happyRest}}}}--happyReduce_9 = happyReduce 10# 4# happyReduction_9-happyReduction_9 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_3 of { happy_var_3 -> - case happyOut10 happy_x_5 of { happy_var_5 -> - case happyOut23 happy_x_7 of { happy_var_7 -> - case happyOut9 happy_x_8 of { happy_var_8 -> - happyIn8- (AFormula happy_var_3 happy_var_5 (univquant_free_vars happy_var_7) happy_var_8- ) `HappyStk` happyRest}}}}--happyReduce_10 = happySpecReduce_3 5# happyReduction_10-happyReduction_10 happy_x_3- happy_x_2- happy_x_1- = case happyOut56 happy_x_2 of { happy_var_2 -> - case happyOut57 happy_x_3 of { happy_var_3 -> - happyIn9- (Annotations happy_var_2 happy_var_3- )}}--happyReduce_11 = happySpecReduce_0 5# happyReduction_11-happyReduction_11 = happyIn9- (NoAnnotations- )--happyReduce_12 = happySpecReduce_1 6# happyReduction_12-happyReduction_12 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn10- (Role happy_var_1- )}--happyReduce_13 = happySpecReduce_1 7# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut12 happy_x_1 of { happy_var_1 -> - happyIn11- (happy_var_1- )}--happyReduce_14 = happySpecReduce_1 7# happyReduction_14-happyReduction_14 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn11- (happy_var_1- )}--happyReduce_15 = happySpecReduce_1 8# happyReduction_15-happyReduction_15 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 -> - happyIn12- (happy_var_1- )}--happyReduce_16 = happySpecReduce_1 8# happyReduction_16-happyReduction_16 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn12- (happy_var_1- )}--happyReduce_17 = happySpecReduce_3 9# happyReduction_17-happyReduction_17 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut29 happy_x_2 of { happy_var_2 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn13- (happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_18 = happySpecReduce_1 10# happyReduction_18-happyReduction_18 happy_x_1- = case happyOut15 happy_x_1 of { happy_var_1 -> - happyIn14- (happy_var_1- )}--happyReduce_19 = happySpecReduce_1 10# happyReduction_19-happyReduction_19 happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn14- (happy_var_1- )}--happyReduce_20 = happyReduce 4# 11# happyReduction_20-happyReduction_20 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - case happyOut16 happy_x_4 of { happy_var_4 -> - happyIn15- (L.foldl (.|.) (happy_var_1 .|. happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_21 = happySpecReduce_0 12# happyReduction_21-happyReduction_21 = happyIn16- ([]- )--happyReduce_22 = happySpecReduce_3 12# happyReduction_22-happyReduction_22 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut16 happy_x_3 of { happy_var_3 -> - happyIn16- (happy_var_2 : happy_var_3- )}}--happyReduce_23 = happyReduce 4# 13# happyReduction_23-happyReduction_23 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - case happyOut18 happy_x_4 of { happy_var_4 -> - happyIn17- (L.foldl (.&.) (happy_var_1 .&. happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_24 = happySpecReduce_0 14# happyReduction_24-happyReduction_24 = happyIn18- ([]- )--happyReduce_25 = happySpecReduce_3 14# happyReduction_25-happyReduction_25 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut18 happy_x_3 of { happy_var_3 -> - happyIn18- (happy_var_2 : happy_var_3- )}}--happyReduce_26 = happySpecReduce_1 15# happyReduction_26-happyReduction_26 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_27 = happySpecReduce_1 15# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_28 = happySpecReduce_1 15# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_29 = happySpecReduce_3 15# happyReduction_29-happyReduction_29 happy_x_3- happy_x_2- happy_x_1- = case happyOut11 happy_x_2 of { happy_var_2 -> - happyIn19- (happy_var_2- )}--happyReduce_30 = happyReduce 6# 16# happyReduction_30-happyReduction_30 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - case happyOut19 happy_x_6 of { happy_var_6 -> - happyIn20- (happy_var_1 happy_var_3 happy_var_6- ) `HappyStk` happyRest}}}--happyReduce_31 = happySpecReduce_1 17# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn21- ([happy_var_1]- )}--happyReduce_32 = happySpecReduce_3 17# happyReduction_32-happyReduction_32 happy_x_3- happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - happyIn21- (happy_var_1 : happy_var_3- )}}--happyReduce_33 = happySpecReduce_2 18# happyReduction_33-happyReduction_33 happy_x_2- happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> - happyIn22- (happy_var_1 happy_var_2- )}}--happyReduce_34 = happySpecReduce_1 18# happyReduction_34-happyReduction_34 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn22- (happy_var_1- )}--happyReduce_35 = happySpecReduce_3 19# happyReduction_35-happyReduction_35 happy_x_3- happy_x_2- happy_x_1- = case happyOut24 happy_x_2 of { happy_var_2 -> - happyIn23- (happy_var_2- )}--happyReduce_36 = happySpecReduce_1 19# happyReduction_36-happyReduction_36 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn23- (happy_var_1- )}--happyReduce_37 = happySpecReduce_2 20# happyReduction_37-happyReduction_37 happy_x_2- happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn24- (L.foldl (.|.) happy_var_1 happy_var_2- )}}--happyReduce_38 = happySpecReduce_0 21# happyReduction_38-happyReduction_38 = happyIn25- ([]- )--happyReduce_39 = happySpecReduce_3 21# happyReduction_39-happyReduction_39 happy_x_3- happy_x_2- happy_x_1- = case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn25- (happy_var_2 : happy_var_3- )}}--happyReduce_40 = happySpecReduce_1 22# happyReduction_40-happyReduction_40 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn26- (happy_var_1- )}--happyReduce_41 = happySpecReduce_2 22# happyReduction_41-happyReduction_41 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn26- ((.~.) happy_var_2- )}--happyReduce_42 = happySpecReduce_1 22# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn26- (happy_var_1- )}--happyReduce_43 = happySpecReduce_3 23# happyReduction_43-happyReduction_43 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn27- (happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_44 = happySpecReduce_1 24# happyReduction_44-happyReduction_44 happy_x_1- = happyIn28- (for_all- )--happyReduce_45 = happySpecReduce_1 24# happyReduction_45-happyReduction_45 happy_x_1- = happyIn28- (exists- )--happyReduce_46 = happySpecReduce_1 25# happyReduction_46-happyReduction_46 happy_x_1- = happyIn29- ((.<=>.)- )--happyReduce_47 = happySpecReduce_1 25# happyReduction_47-happyReduction_47 happy_x_1- = happyIn29- ((.=>.)- )--happyReduce_48 = happySpecReduce_1 25# happyReduction_48-happyReduction_48 happy_x_1- = happyIn29- ((.<=.)- )--happyReduce_49 = happySpecReduce_1 25# happyReduction_49-happyReduction_49 happy_x_1- = happyIn29- ((.<~>.)- )--happyReduce_50 = happySpecReduce_1 25# happyReduction_50-happyReduction_50 happy_x_1- = happyIn29- ((.~|.)- )--happyReduce_51 = happySpecReduce_1 25# happyReduction_51-happyReduction_51 happy_x_1- = happyIn29- ((.~&.)- )--happyReduce_52 = happySpecReduce_1 26# happyReduction_52-happyReduction_52 happy_x_1- = happyIn30- ((.~.)- )--happyReduce_53 = happySpecReduce_1 27# happyReduction_53-happyReduction_53 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_54 = happySpecReduce_1 27# happyReduction_54-happyReduction_54 happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_55 = happySpecReduce_1 27# happyReduction_55-happyReduction_55 happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_56 = happySpecReduce_1 28# happyReduction_56-happyReduction_56 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 -> - happyIn32- (fApp2pApp happy_var_1- )}--happyReduce_57 = happySpecReduce_1 29# happyReduction_57-happyReduction_57 happy_x_1- = case happyOut34 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_58 = happySpecReduce_1 29# happyReduction_58-happyReduction_58 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_59 = happySpecReduce_1 30# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn34- (fApp2pApp happy_var_1- )}--happyReduce_60 = happySpecReduce_3 31# happyReduction_60-happyReduction_60 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn35- (happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_61 = happySpecReduce_1 32# happyReduction_61-happyReduction_61 happy_x_1- = case happyOut37 happy_x_1 of { happy_var_1 -> - happyIn36- (happy_var_1- )}--happyReduce_62 = happySpecReduce_1 33# happyReduction_62-happyReduction_62 happy_x_1- = happyIn37- ((.=.)- )--happyReduce_63 = happySpecReduce_1 34# happyReduction_63-happyReduction_63 happy_x_1- = happyIn38- ((.!=.)- )--happyReduce_64 = happySpecReduce_1 35# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn39- (fApp2pApp happy_var_1- )}--happyReduce_65 = happySpecReduce_1 36# happyReduction_65-happyReduction_65 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn40- (happy_var_1- )}--happyReduce_66 = happySpecReduce_1 36# happyReduction_66-happyReduction_66 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn40- (var happy_var_1- )}--happyReduce_67 = happySpecReduce_1 37# happyReduction_67-happyReduction_67 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_68 = happySpecReduce_1 37# happyReduction_68-happyReduction_68 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_69 = happySpecReduce_1 37# happyReduction_69-happyReduction_69 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_70 = happySpecReduce_1 38# happyReduction_70-happyReduction_70 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn42- (fApp happy_var_1 []- )}--happyReduce_71 = happyReduce 4# 38# happyReduction_71-happyReduction_71 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut44 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn42- (fApp happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_72 = happySpecReduce_1 39# happyReduction_72-happyReduction_72 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn43- (happy_var_1- )}--happyReduce_73 = happySpecReduce_1 40# happyReduction_73-happyReduction_73 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn44- (happy_var_1- )}--happyReduce_74 = happySpecReduce_1 41# happyReduction_74-happyReduction_74 happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - happyIn45- (happy_var_1- )}--happyReduce_75 = happySpecReduce_1 41# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 -> - happyIn45- (happy_var_1- )}--happyReduce_76 = happySpecReduce_1 42# happyReduction_76-happyReduction_76 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn46- (numberLitTerm happy_var_1- )}--happyReduce_77 = happySpecReduce_1 42# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn46- (distinctObjectTerm (stripQuotes '"' happy_var_1)- )}--happyReduce_78 = happySpecReduce_1 43# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn47- (happy_var_1- )}--happyReduce_79 = happySpecReduce_1 44# happyReduction_79-happyReduction_79 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn48- (fApp (AtomicWord happy_var_1) []- )}--happyReduce_80 = happyReduce 4# 44# happyReduction_80-happyReduction_80 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn48- (fApp (AtomicWord happy_var_1) happy_var_3- ) `HappyStk` happyRest}}--happyReduce_81 = happySpecReduce_1 45# happyReduction_81-happyReduction_81 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49- (happy_var_1- )}--happyReduce_82 = happySpecReduce_1 46# happyReduction_82-happyReduction_82 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_83 = happySpecReduce_1 47# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 -> - happyIn51- (fApp (AtomicWord happy_var_1) []- )}--happyReduce_84 = happyReduce 4# 47# happyReduction_84-happyReduction_84 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn51- (fApp (AtomicWord happy_var_1) happy_var_3- ) `HappyStk` happyRest}}--happyReduce_85 = happySpecReduce_1 48# happyReduction_85-happyReduction_85 happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - happyIn52- (happy_var_1- )}--happyReduce_86 = happySpecReduce_1 49# happyReduction_86-happyReduction_86 happy_x_1- = case happyOut70 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_87 = happySpecReduce_1 50# happyReduction_87-happyReduction_87 happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 -> - happyIn54- (V happy_var_1- )}--happyReduce_88 = happySpecReduce_1 51# happyReduction_88-happyReduction_88 happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - happyIn55- ([happy_var_1]- )}--happyReduce_89 = happySpecReduce_3 51# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn55- (happy_var_1 : happy_var_3- )}}--happyReduce_90 = happySpecReduce_1 52# happyReduction_90-happyReduction_90 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn56- (happy_var_1- )}--happyReduce_91 = happySpecReduce_2 53# happyReduction_91-happyReduction_91 happy_x_2- happy_x_1- = case happyOut58 happy_x_2 of { happy_var_2 -> - happyIn57- (happy_var_2- )}--happyReduce_92 = happySpecReduce_0 53# happyReduction_92-happyReduction_92 = happyIn57- (NoUsefulInfo- )--happyReduce_93 = happySpecReduce_1 54# happyReduction_93-happyReduction_93 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn58- (UsefulInfo happy_var_1- )}--happyReduce_94 = happyReduce 6# 55# happyReduction_94-happyReduction_94 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut74 happy_x_3 of { happy_var_3 -> - case happyOut60 happy_x_4 of { happy_var_4 -> - happyIn59- (Include happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_95 = happyReduce 4# 56# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn60- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_96 = happySpecReduce_0 56# happyReduction_96-happyReduction_96 = happyIn60- ([]- )--happyReduce_97 = happySpecReduce_1 57# happyReduction_97-happyReduction_97 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - happyIn61- ([happy_var_1]- )}--happyReduce_98 = happySpecReduce_3 57# happyReduction_98-happyReduction_98 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn61- (happy_var_1 : happy_var_3- )}}--happyReduce_99 = happySpecReduce_1 58# happyReduction_99-happyReduction_99 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - happyIn62- (GTerm happy_var_1- )}--happyReduce_100 = happySpecReduce_3 58# happyReduction_100-happyReduction_100 happy_x_3- happy_x_2- happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - case happyOut62 happy_x_3 of { happy_var_3 -> - happyIn62- (ColonSep happy_var_1 happy_var_3- )}}--happyReduce_101 = happySpecReduce_1 58# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn62- (GList happy_var_1- )}--happyReduce_102 = happySpecReduce_1 59# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn63- (GWord happy_var_1- )}--happyReduce_103 = happyReduce 4# 59# happyReduction_103-happyReduction_103 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut68 happy_x_1 of { happy_var_1 -> - case happyOut66 happy_x_3 of { happy_var_3 -> - happyIn63- (GApp happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_104 = happySpecReduce_1 59# happyReduction_104-happyReduction_104 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn63- (GVar happy_var_1- )}--happyReduce_105 = happySpecReduce_1 59# happyReduction_105-happyReduction_105 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn63- (GNumber happy_var_1- )}--happyReduce_106 = happySpecReduce_1 59# happyReduction_106-happyReduction_106 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn63- (GDistinctObject (stripQuotes '"' happy_var_1)- )}--happyReduce_107 = happySpecReduce_1 59# happyReduction_107-happyReduction_107 happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - happyIn63- (happy_var_1- )}--happyReduce_108 = happyReduce 4# 60# happyReduction_108-happyReduction_108 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut104 happy_x_1 of { happy_var_1 -> - case happyOut11 happy_x_3 of { happy_var_3 -> - happyIn64- (GFormulaData happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_109 = happySpecReduce_2 61# happyReduction_109-happyReduction_109 happy_x_2- happy_x_1- = happyIn65- ([]- )--happyReduce_110 = happySpecReduce_3 61# happyReduction_110-happyReduction_110 happy_x_3- happy_x_2- happy_x_1- = case happyOut66 happy_x_2 of { happy_var_2 -> - happyIn65- (happy_var_2- )}--happyReduce_111 = happySpecReduce_1 62# happyReduction_111-happyReduction_111 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn66- ([happy_var_1]- )}--happyReduce_112 = happySpecReduce_3 62# happyReduction_112-happyReduction_112 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut66 happy_x_3 of { happy_var_3 -> - happyIn66- (happy_var_1 : happy_var_3- )}}--happyReduce_113 = happySpecReduce_1 63# happyReduction_113-happyReduction_113 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn67- (happy_var_1- )}--happyReduce_114 = happySpecReduce_1 63# happyReduction_114-happyReduction_114 happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn67- (AtomicWord(show happy_var_1)- )}--happyReduce_115 = happySpecReduce_1 64# happyReduction_115-happyReduction_115 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn68- (AtomicWord happy_var_1- )}--happyReduce_116 = happySpecReduce_1 64# happyReduction_116-happyReduction_116 happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn68- (AtomicWord (stripQuotes '\'' happy_var_1)- )}--happyReduce_117 = happySpecReduce_1 65# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_118 = happySpecReduce_1 66# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn70- (happy_var_1- )}--happyReduce_119 = happySpecReduce_1 67# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn71- (fromIntegral happy_var_1- )}--happyReduce_120 = happySpecReduce_1 67# happyReduction_120-happyReduction_120 happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - happyIn71- (happy_var_1- )}--happyReduce_121 = happySpecReduce_1 67# happyReduction_121-happyReduction_121 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - happyIn71- (happy_var_1- )}--happyReduce_122 = happySpecReduce_1 68# happyReduction_122-happyReduction_122 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn72- (happy_var_1- )}--happyReduce_123 = happySpecReduce_1 68# happyReduction_123-happyReduction_123 happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn72- (happy_var_1- )}--happyReduce_124 = happySpecReduce_3 69# happyReduction_124-happyReduction_124 happy_x_3- happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_3 of { happy_var_3 -> - happyIn73- (happy_var_1 % happy_var_3- )}}--happyReduce_125 = happySpecReduce_1 70# happyReduction_125-happyReduction_125 happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn74- (stripQuotes '\'' happy_var_1- )}--happyReduce_126 = happySpecReduce_1 71# happyReduction_126-happyReduction_126 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn75- (happy_var_1- )}--happyReduce_127 = happySpecReduce_1 71# happyReduction_127-happyReduction_127 happy_x_1- = happyIn75- ("fof"- )--happyReduce_128 = happySpecReduce_1 71# happyReduction_128-happyReduction_128 happy_x_1- = happyIn75- ("cnf"- )--happyReduce_129 = happySpecReduce_1 71# happyReduction_129-happyReduction_129 happy_x_1- = happyIn75- ("include"- )--happyReduce_130 = happySpecReduce_2 72# happyReduction_130-happyReduction_130 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn76- (happy_var_1- )}--happyReduce_131 = happySpecReduce_2 73# happyReduction_131-happyReduction_131 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_132 = happySpecReduce_2 74# happyReduction_132-happyReduction_132 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn78- (happy_var_1- )}--happyReduce_133 = happySpecReduce_2 75# happyReduction_133-happyReduction_133 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn79- (happy_var_1- )}--happyReduce_134 = happySpecReduce_2 76# happyReduction_134-happyReduction_134 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn80- (happy_var_1- )}--happyReduce_135 = happySpecReduce_2 77# happyReduction_135-happyReduction_135 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn81- (happy_var_1- )}--happyReduce_136 = happySpecReduce_2 78# happyReduction_136-happyReduction_136 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn82- (happy_var_1- )}--happyReduce_137 = happySpecReduce_2 79# happyReduction_137-happyReduction_137 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn83- (happy_var_1- )}--happyReduce_138 = happySpecReduce_2 80# happyReduction_138-happyReduction_138 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn84- (happy_var_1- )}--happyReduce_139 = happySpecReduce_2 81# happyReduction_139-happyReduction_139 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn85- (happy_var_1- )}--happyReduce_140 = happySpecReduce_2 82# happyReduction_140-happyReduction_140 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn86- (happy_var_1- )}--happyReduce_141 = happySpecReduce_2 83# happyReduction_141-happyReduction_141 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn87- (happy_var_1- )}--happyReduce_142 = happySpecReduce_2 84# happyReduction_142-happyReduction_142 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_143 = happySpecReduce_2 85# happyReduction_143-happyReduction_143 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn89- (happy_var_1- )}--happyReduce_144 = happySpecReduce_2 86# happyReduction_144-happyReduction_144 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn90- (happy_var_1- )}--happyReduce_145 = happySpecReduce_2 87# happyReduction_145-happyReduction_145 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn91- (happy_var_1- )}--happyReduce_146 = happySpecReduce_2 88# happyReduction_146-happyReduction_146 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn92- (happy_var_1- )}--happyReduce_147 = happySpecReduce_2 89# happyReduction_147-happyReduction_147 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn93- (happy_var_1- )}--happyReduce_148 = happySpecReduce_2 90# happyReduction_148-happyReduction_148 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn94- (happy_var_1- )}--happyReduce_149 = happySpecReduce_2 91# happyReduction_149-happyReduction_149 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn95- (happy_var_1- )}--happyReduce_150 = happySpecReduce_2 92# happyReduction_150-happyReduction_150 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn96- (happy_var_1- )}--happyReduce_151 = happySpecReduce_2 93# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn97- (happy_var_1- )}--happyReduce_152 = happySpecReduce_2 94# happyReduction_152-happyReduction_152 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn98- (happy_var_1- )}--happyReduce_153 = happySpecReduce_2 95# happyReduction_153-happyReduction_153 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn99- (happy_var_1- )}--happyReduce_154 = happySpecReduce_2 96# happyReduction_154-happyReduction_154 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn100- (happy_var_1- )}--happyReduce_155 = happySpecReduce_2 97# happyReduction_155-happyReduction_155 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn101- (happy_var_1- )}--happyReduce_156 = happySpecReduce_2 98# happyReduction_156-happyReduction_156 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (SingleQuoted happy_var_1) -> - happyIn102- (happy_var_1- )}--happyReduce_157 = happySpecReduce_2 99# happyReduction_157-happyReduction_157 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (DoubleQuoted happy_var_1) -> - happyIn103- (happy_var_1- )}--happyReduce_158 = happySpecReduce_2 100# happyReduction_158-happyReduction_158 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (DollarWord happy_var_1) -> - happyIn104- (happy_var_1- )}--happyReduce_159 = happySpecReduce_2 101# happyReduction_159-happyReduction_159 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (DollarDollarWord happy_var_1) -> - happyIn105- (happy_var_1- )}--happyReduce_160 = happySpecReduce_2 102# happyReduction_160-happyReduction_160 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (UpperWord happy_var_1) -> - happyIn106- (happy_var_1- )}--happyReduce_161 = happySpecReduce_2 103# happyReduction_161-happyReduction_161 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (LowerWord happy_var_1) -> - happyIn107- (happy_var_1- )}--happyReduce_162 = happySpecReduce_2 104# happyReduction_162-happyReduction_162 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (SignedInt happy_var_1) -> - happyIn108- (happy_var_1- )}--happyReduce_163 = happySpecReduce_2 105# happyReduction_163-happyReduction_163 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (UnsignedInt happy_var_1) -> - happyIn109- (happy_var_1- )}--happyReduce_164 = happySpecReduce_2 106# happyReduction_164-happyReduction_164 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Real happy_var_1) -> - happyIn110- (happy_var_1- )}--happyReduce_165 = happySpecReduce_0 107# happyReduction_165-happyReduction_165 = happyIn111- ([]- )--happyReduce_166 = happySpecReduce_2 107# happyReduction_166-happyReduction_166 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> - case happyOut111 happy_x_2 of { happy_var_2 -> - happyIn111- (happy_var_1 : happy_var_2- )}}--happyNewToken action sts stk [] =- happyDoAction 38# notHappyAtAll action sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = happyDoAction i tk action sts stk tks in- case tk of {- LP -> cont 1#;- RP -> cont 2#;- Lbrack -> cont 3#;- Rbrack -> cont 4#;- Comma -> cont 5#;- Dot -> cont 6#;- Star -> cont 7#;- Plus -> cont 8#;- Rangle -> cont 9#;- Oper ":" -> cont 10#;- Oper "<=>" -> cont 11#;- Oper "=>" -> cont 12#;- Oper "<~>" -> cont 13#;- Oper "~|" -> cont 14#;- Oper "~&" -> cont 15#;- Oper "<=" -> cont 16#;- Oper "=" -> cont 17#;- Oper "!=" -> cont 18#;- Oper "!" -> cont 19#;- Oper "?" -> cont 20#;- Oper "&" -> cont 21#;- Oper "|" -> cont 22#;- Oper "~" -> cont 23#;- LowerWord "fof" -> cont 24#;- LowerWord "cnf" -> cont 25#;- LowerWord "include" -> cont 26#;- SingleQuoted happy_dollar_dollar -> cont 27#;- DoubleQuoted happy_dollar_dollar -> cont 28#;- DollarWord happy_dollar_dollar -> cont 29#;- DollarDollarWord happy_dollar_dollar -> cont 30#;- UpperWord happy_dollar_dollar -> cont 31#;- LowerWord happy_dollar_dollar -> cont 32#;- SignedInt happy_dollar_dollar -> cont 33#;- UnsignedInt happy_dollar_dollar -> cont 34#;- Real happy_dollar_dollar -> cont 35#;- Slash -> cont 36#;- CommentToken happy_dollar_dollar -> cont 37#;- _ -> happyError' (tk:tks)- }--happyError_ 38# tk tks = happyError' tks-happyError_ _ tk tks = happyError' (tk:tks)--newtype HappyIdentity a = HappyIdentity a-happyIdentity = HappyIdentity-happyRunIdentity (HappyIdentity a) = a--instance Monad HappyIdentity where- return = HappyIdentity- (HappyIdentity p) >>= q = q p--happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b-happyThen = (>>=)-happyReturn :: () => a -> HappyIdentity a-happyReturn = (return)-happyThen1 m k tks = (>>=) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> HappyIdentity a-happyReturn1 = \a tks -> (return) a-happyError' :: () => [(Token)] -> HappyIdentity a-happyError' = HappyIdentity . ((\xs -> case xs of- xs -> error ("Parse error, pos: "++show (take 25 xs))))--parseTPTP tks = happyRunIdentity happySomeParser where- happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut4 x))--happySeq = happyDontSeq---stripQuotes which (x:xs) = go xs- where- go [x] = []- go ('\\':'\\':xs) = '\\':go xs- go ('\\':which:xs) = which:go xs- go (x:xs) = x:go xs- -fApp2pApp (T (Identity (FunApp x args))) = (F (Identity (PredApp x args)))-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 11 "<command-line>" #-}-# 1 "/usr/include/stdc-predef.h" 1 3 4--# 17 "/usr/include/stdc-predef.h" 3 4--------------------# 47 "/usr/include/stdc-predef.h" 3 4--# 59 "/usr/include/stdc-predef.h" 3 4---------{-# LINE 11 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif-{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList------{-# LINE 67 "templates/GenericTemplate.hs" #-}--{-# LINE 77 "templates/GenericTemplate.hs" #-}--{-# LINE 86 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}--- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}-- (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}--- happyShift new_state i tk st- where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i- where- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)- high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i---- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ - happyError_ i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
− dist/build/ParserC.hs
@@ -1,2582 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-module ParserC where- -import Data.Char-import Data.Data-import Data.Ratio-import Control.Monad-import Data.List as L-import Lexer-import Data.Set as S-import Codec.TPTP.Base-import System.IO-import System.IO.Unsafe-import Control.Monad.Identity-import Control.Monad.State-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts---- parser produced by Happy Version 1.19.3--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn4 :: ([TPTP_Input_ c]) -> (HappyAbsSyn )-happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn4 #-}-happyOut4 :: (HappyAbsSyn ) -> ([TPTP_Input_ c])-happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut4 #-}-happyIn5 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (TPTP_Input) -> (HappyAbsSyn )-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (TPTP_Input)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (Annotations) -> (HappyAbsSyn )-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> (Annotations)-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (Role) -> (HappyAbsSyn )-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> (Role)-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (F c) -> (HappyAbsSyn )-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (F c)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (F c) -> (HappyAbsSyn )-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> (F c)-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (F c) -> (HappyAbsSyn )-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (F c)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (F c) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (F c)-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (F c) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (F c)-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([F c]) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> ([F c])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (F c) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (F c)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([F c]) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> ([F c])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (FormulaC) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (FormulaC)-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (F c) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (F c)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: ([V]) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> ([V])-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (F c) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (F c)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (F c) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (F c)-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (F c) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (F c)-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([F c]) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> ([F c])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (FormulaC) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (FormulaC)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (F c) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (F c)-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([V] -> FormulaC -> FormulaC) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([V] -> FormulaC -> FormulaC)-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (FormulaC -> FormulaC -> FormulaC) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (FormulaC -> FormulaC -> FormulaC)-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (FormulaC -> FormulaC) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (FormulaC -> FormulaC)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (F c) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (F c)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (F c) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (F c)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (F c) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (F c)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (F c) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (F c)-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (F c) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (F c)-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (T c -> T c -> F c) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (T c -> T c -> F c)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (TermC -> TermC -> FormulaC) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (TermC -> TermC -> FormulaC)-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (TermC -> TermC -> FormulaC) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (TermC -> TermC -> FormulaC)-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (F c) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (F c)-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (TermC) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (TermC)-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (TermC) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> (TermC)-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (TermC) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (TermC)-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (AtomicWord) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (AtomicWord) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (TermC) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (TermC)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (TermC) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (TermC)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (T c) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (T c)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (TermC) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (TermC)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (String) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (String)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (String) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (String)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (TermC) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (TermC)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (String) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (String)-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (String) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (String)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (V) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (V)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([T c]) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> ([T c])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (GTerm) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> (GTerm)-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: (UsefulInfo) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> (UsefulInfo)-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (UsefulInfo) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (UsefulInfo)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (TPTP_Input_ c) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (TPTP_Input_ c)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([AtomicWord]) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> ([AtomicWord])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ([AtomicWord]) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> ([AtomicWord])-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (GTerm) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (GTerm)-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (GData) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (GData)-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (GData) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (GData)-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([GTerm]) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> ([GTerm])-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: ([GTerm]) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> ([GTerm])-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (AtomicWord) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (AtomicWord) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (AtomicWord)-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (String) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (String)-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (String) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (String)-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (Rational) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (Rational)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (Integer) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (Integer)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (Rational) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (Rational)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (String) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (String)-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (String) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (String)-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (Token) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (Token)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (Token) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (Token)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Token) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (Token)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Token) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Token)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Token) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Token)-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (Token) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (Token)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Token) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Token)-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (Token) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (Token)-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (Token) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (Token)-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (AToken) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (AToken)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (Token) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (Token)-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (Token) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (Token)-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (Token) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (Token)-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (Token) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (Token)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (Token) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (Token)-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (Token) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (Token)-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (Token) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (Token)-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (Token) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (Token)-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Token) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Token)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (Token) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (Token)-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (Token) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (Token)-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Token) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Token)-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Token) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Token)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (Token) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (Token)-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (Token) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (Token)-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (Token) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (Token)-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (String) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (String)-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (String) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (String)-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (String) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (String)-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (String) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (String)-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (String) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (String)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (String) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (String)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (Integer) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (Integer)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (Integer) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (Integer)-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (Rational) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (Rational)-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: ([String]) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> ([String])-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyInTok :: (Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\xe7\x00\x00\x00\x3f\x02\xe7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x4a\x02\x4a\x02\x22\x02\x22\x02\x22\x02\x00\x00\x00\x00\x22\x02\x00\x00\x00\x00\x2d\x02\x21\x02\x93\x00\x93\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x1e\x02\x1e\x02\x2e\x02\x00\x00\x2e\x02\x00\x00\x00\x00\x30\x02\x2c\x02\x09\x02\xde\x00\x00\x00\x00\x00\x00\x00\xde\x00\x28\x02\x00\x00\x28\x02\x00\x00\x93\x00\x07\x02\x16\x02\xd3\x01\x00\x00\x00\x00\xd3\x01\x00\x00\xf3\x01\xf1\x01\x08\x02\xb0\x01\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\xec\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x89\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x87\x00\x00\x00\xe9\x01\x84\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xe4\x01\x00\x00\xc1\x01\x00\x00\x00\x00\x06\x03\xf2\x01\x93\x00\x00\x00\xc2\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x01\xc4\x01\x00\x00\x06\x03\xa0\x01\xbe\x01\xbf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x01\x97\x01\xf2\x01\xf2\x01\xf2\x01\xf2\x01\x00\x00\xf2\x01\x00\x00\x00\x00\x93\x01\x93\x01\x00\x00\x98\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb0\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\xb2\x01\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x01\x9b\x01\x00\x00\xae\x01\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x01\xac\x01\xac\x01\xac\x01\x00\x00\x00\x00\x00\x00\xa8\x01\x00\x00\x92\x01\x00\x00\x00\x00\x8f\x01\x00\x00\x63\x02\x00\x00\x8f\x01\x95\x01\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\xb0\x01\x8e\x01\x8b\x01\x00\x00\xbf\x02\xbf\x02\x69\x01\x00\x00\x8a\x01\x00\x00\x00\x00\x00\x00\xf2\x01\x6c\x01\x71\x01\x00\x00\xb0\x01\x00\x00\xb0\x01\x00\x00\x64\x01\x62\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\xbf\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x48\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x27\x01\x10\x01\x0a\x01\x06\x01\x05\x01\x00\x00\x00\x00\x03\x01\x00\x00\x00\x00\xcd\xff\xfc\x00\xe9\x03\x92\x03\x00\x00\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xf1\x00\xef\x00\x0f\x01\x00\x00\xe4\xff\x00\x00\x00\x00\x0e\x01\x0c\x01\xee\x00\xae\x00\x00\x00\x00\x00\x00\x00\x50\x00\x09\x01\x00\x00\x07\x01\x00\x00\x81\x06\xe9\x00\x04\x01\xd5\x00\x00\x00\x00\x00\xd4\x00\x00\x00\xf3\x00\xe8\x00\x9e\x03\xc2\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\xed\x00\x46\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xb4\x00\xb0\x00\xaf\x00\xad\x00\xac\x00\xab\x00\xa9\x00\xa8\x00\x06\x00\x00\x00\xf3\xff\x00\x00\x00\x00\xf5\x03\x9a\x04\x70\x06\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\xc7\x00\x00\x00\x4a\x04\xa6\x00\xbf\x00\x30\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x92\x00\x46\x05\x1b\x05\xf0\x04\x9c\x05\x00\x00\x71\x05\x00\x00\x00\x00\x8f\x00\x8e\x00\x00\x00\xec\x00\xea\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x32\x02\x79\x00\x78\x00\x77\x00\x70\x00\x6d\x00\x6b\x00\x65\x00\x8c\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x35\x00\x00\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x69\x00\x5b\x00\x2e\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x02\x00\x00\x00\x00\x00\x2c\x00\x00\x00\xd5\x05\x00\x00\x29\x00\x22\x00\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\xfa\xff\x05\x00\x04\x00\x00\x00\x1c\x06\x63\x06\xdc\xff\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc5\x04\xa5\x00\xdd\xff\x00\x00\xd6\x01\x00\x00\x7a\x01\x00\x00\x0f\x00\x24\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x00\x00\xe9\x05\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfe\xff\x00\x00\x00\x00\xfe\xff\xfc\xff\xf9\xff\xf8\xff\xfb\xff\x00\x00\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\xfa\xff\x64\xff\x5a\xff\x65\xff\x66\xff\x00\x00\x5a\xff\x00\x00\x00\x00\xfd\xff\x00\x00\x8e\xff\x8c\xff\x80\xff\x7f\xff\x7e\xff\x8b\xff\x81\xff\x8d\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x7d\xff\x9f\xff\x82\xff\x59\xff\x00\x00\x00\x00\x5a\xff\x00\x00\x5c\xff\x5e\xff\x63\xff\x00\x00\x00\x00\xf3\xff\x00\x00\x79\xff\x00\x00\x5a\xff\x00\x00\x5a\xff\x7c\xff\xa1\xff\x5a\xff\x7b\xff\x00\x00\x9e\xff\x00\x00\x00\x00\xf4\xff\xf2\xff\xf0\xff\xef\xff\xed\xff\xec\xff\xf1\xff\xe5\xff\xe4\xff\xdd\xff\x00\x00\x00\x00\xe3\xff\xca\xff\xc9\xff\xc6\xff\xc5\xff\xc8\xff\x00\x00\xbe\xff\xc7\xff\xb9\xff\xb7\xff\xbb\xff\xb5\xff\xb4\xff\xc4\xff\xb0\xff\xae\xff\xbf\xff\xac\xff\xaa\xff\xbd\xff\xb6\xff\xad\xff\xa9\xff\xb3\xff\x88\xff\x87\xff\x00\x00\xd3\xff\xd2\xff\xcb\xff\xb2\xff\x8a\xff\x89\xff\xa8\xff\x85\xff\x84\xff\x86\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\xf4\xff\xdb\xff\xd9\xff\xd5\xff\xd7\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x5a\xff\x78\xff\x7a\xff\x9d\xff\xd6\xff\x00\x00\x00\x00\xda\xff\x00\x00\x5a\xff\x00\x00\x00\x00\x5b\xff\x5d\xff\x5f\xff\x60\xff\x61\xff\x62\xff\x67\xff\x6a\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\xc1\xff\xc0\xff\x5a\xff\x5a\xff\xde\xff\x00\x00\x00\x00\xd1\xff\xd0\xff\xce\xff\xcd\xff\xcc\xff\xcf\xff\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x00\x00\x69\xff\x6e\xff\x6f\xff\x70\xff\x71\xff\x72\xff\x73\xff\xea\xff\xe7\xff\xee\xff\x00\x00\xe0\xff\x6c\xff\x6d\xff\xd4\xff\xbc\xff\xb1\xff\xba\xff\xc3\xff\xa7\xff\x00\x00\x00\x00\x00\x00\x83\xff\xe2\xff\x97\xff\xa3\xff\xa5\xff\x9c\xff\x94\xff\x9a\xff\x99\xff\x96\xff\x00\x00\x95\xff\x00\x00\x00\x00\x68\xff\xd9\xff\xdc\xff\xd8\xff\xf6\xff\x00\x00\x90\xff\x00\x00\x92\xff\x00\x00\x00\x00\x5a\xff\xf5\xff\x00\x00\xab\xff\xaf\xff\xb8\xff\x00\x00\x00\x00\x00\x00\xe8\xff\x00\x00\xeb\xff\x00\x00\xf7\xff\xea\xff\xe7\xff\x00\x00\xdf\xff\xa6\xff\xa4\xff\xa2\xff\x74\xff\x9b\xff\x00\x00\x91\xff\x00\x00\x00\x00\x93\xff\x8f\xff\x98\xff\xe1\xff\xe6\xff\xe9\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x15\x00\x0d\x00\x15\x00\x0f\x00\x10\x00\x05\x00\x12\x00\x20\x00\x21\x00\x22\x00\x05\x00\x17\x00\x18\x00\x46\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x35\x00\x0c\x00\x38\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x0c\x00\x51\x00\x62\x00\x4c\x00\x4c\x00\x0e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x49\x00\x36\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x3d\x00\x47\x00\x48\x00\x0e\x00\x49\x00\x58\x00\x59\x00\x6b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x4a\x00\x5d\x00\x4b\x00\x5d\x00\x4c\x00\x4c\x00\x51\x00\x5a\x00\x5b\x00\x06\x00\x4c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x37\x00\x0d\x00\x5d\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x48\x00\x20\x00\x21\x00\x48\x00\x17\x00\x18\x00\x49\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x5d\x00\x37\x00\x5c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x5c\x00\x5f\x00\x60\x00\x61\x00\x11\x00\x12\x00\x47\x00\x11\x00\x12\x00\x11\x00\x12\x00\x11\x00\x12\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x5f\x00\x60\x00\x61\x00\x58\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x20\x00\x06\x00\x22\x00\x11\x00\x67\x00\x5a\x00\x5b\x00\x4c\x00\x4c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x4b\x00\x0d\x00\x6b\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x49\x00\x6b\x00\x32\x00\x6b\x00\x17\x00\x18\x00\x6b\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x6b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x47\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6b\x00\x69\x00\x49\x00\x11\x00\x20\x00\x18\x00\x19\x00\x1a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x66\x00\x25\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x67\x00\x6b\x00\x6b\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5a\x00\x5b\x00\x32\x00\x6b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x19\x00\x12\x00\x6b\x00\x48\x00\x48\x00\x4c\x00\x17\x00\x18\x00\x4a\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x4b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4d\x00\x66\x00\x4c\x00\x6b\x00\x4c\x00\x4a\x00\x49\x00\x48\x00\x6b\x00\x6b\x00\x4c\x00\x6b\x00\x6b\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x4c\x00\x47\x00\x48\x00\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5c\x00\x5d\x00\x48\x00\x6b\x00\x02\x00\x15\x00\x5a\x00\x5b\x00\x16\x00\x0a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x1f\x00\x12\x00\x03\x00\x25\x00\x04\x00\x01\x00\x17\x00\x18\x00\x05\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x16\x00\x06\x00\x0a\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x05\x00\x02\x00\x05\x00\x15\x00\x01\x00\x04\x00\x16\x00\x02\x00\x06\x00\x25\x00\x1f\x00\x25\x00\x22\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x02\x00\x47\x00\x48\x00\x13\x00\x14\x00\x25\x00\x02\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x5a\x00\x5b\x00\x11\x00\x16\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x01\x00\x25\x00\x24\x00\x17\x00\x18\x00\x03\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x05\x00\x04\x00\x25\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x01\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x06\x00\x47\x00\x48\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x25\x00\x05\x00\x25\x00\x03\x00\x5a\x00\x5b\x00\x02\x00\x05\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x25\x00\x25\x00\x1b\x00\x17\x00\x18\x00\x01\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x26\x00\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\x34\x00\xff\xff\x4a\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x39\x00\x47\x00\xff\xff\xff\xff\x4a\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x00\x40\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x47\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x04\x01\x42\x00\x43\x00\x44\x00\x45\x00\xe2\x00\x46\x00\x8c\x00\x47\x00\x48\x00\x8f\x00\x49\x00\x9f\x00\xa0\x00\xa1\x00\xb8\x00\x4a\x00\x4b\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xeb\x00\x0a\x01\x29\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xf5\x00\xfa\x00\x27\x00\x2a\x00\xec\x00\x09\x01\x17\x00\x03\x00\x04\x00\x05\x00\x06\x00\x05\x01\xfd\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xfe\x00\x1a\x00\x68\x00\xf3\x00\x07\x01\xa2\x00\xa3\x00\xff\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xdb\x00\x8d\x00\x02\x01\x8d\x00\x03\x01\x90\x00\xe9\x00\x69\x00\x6a\x00\x31\x00\x90\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x9a\x00\x42\x00\x43\x00\x44\x00\x45\x00\x07\x00\x46\x00\xf6\x00\x47\x00\x48\x00\xe3\x00\x49\x00\xe4\x00\x9f\x00\xa0\x00\xe8\x00\x4a\x00\x4b\x00\xed\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xf6\x00\x07\x00\xf4\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xf4\x00\x08\x00\x09\x00\x0a\x00\xba\xff\xba\xff\x32\x00\xb1\xff\xb1\xff\xbc\xff\xbc\xff\xa5\x00\xa6\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xee\x00\x1a\x00\x68\x00\x08\x00\x09\x00\x0a\x00\xa2\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\xef\x00\x23\x00\x33\x00\x24\x00\xfb\x00\x1f\x00\x69\x00\x6a\x00\xf0\x00\xf1\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xf2\x00\x46\x00\xba\x00\x47\x00\x48\x00\xf7\x00\x49\x00\xb9\x00\xbb\x00\xc5\x00\xbc\x00\x4a\x00\x4b\x00\xbd\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xbe\x00\xbf\x00\xc0\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x32\x00\x0c\x00\x0d\x00\x0e\x00\xc6\x00\xc7\x00\xd1\x00\xd2\x00\xc4\x00\x23\x00\x0c\x00\x0d\x00\x0e\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xde\x00\x1a\x00\x68\x00\x6f\x00\x0f\x00\x1b\x00\x1c\x00\x1d\x00\xe1\x00\xdf\x00\x87\x00\x91\x00\x92\x00\x1f\x00\x93\x00\x94\x00\x95\x00\x9c\x00\x96\x00\x97\x00\x69\x00\x6a\x00\xc5\x00\x98\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x08\x01\x48\x00\xa8\x00\x49\x00\x99\x00\x9d\x00\x9e\x00\x83\x00\x4a\x00\x4b\x00\xa7\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x84\x00\x86\x00\x39\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x3a\x00\x6f\x00\x3f\x00\x3c\x00\x40\x00\x35\x00\x37\x00\x13\x00\x34\x00\x2d\x00\x2c\x00\x2e\x00\x2f\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x30\x00\x1a\x00\x68\x00\x25\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\x28\x00\x15\x00\x0f\x00\x11\x00\xaf\x00\xb0\x00\x16\x00\x12\x00\x39\x00\xb8\x00\x69\x00\x6a\x00\x8f\x00\xeb\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf8\x00\x48\x00\x7a\x00\x49\x00\x37\x00\x11\x00\x86\x00\x15\x00\x4a\x00\x4b\x00\x2c\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x8f\x00\x3c\x00\xeb\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x2c\x00\x39\x00\x2c\x00\xb8\x00\x15\x00\x86\x00\x8f\x00\x39\x00\x3c\x00\x11\x00\x7a\x00\x11\x00\x24\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x39\x00\x1a\x00\x68\x00\x74\x00\x75\x00\x11\x00\x39\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x69\x00\x6a\x00\xa5\x00\x8f\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf9\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x15\x00\x11\x00\x9c\x00\x4a\x00\x4b\x00\x37\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x2c\x00\x86\x00\x11\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x3c\x00\x1a\x00\x68\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x11\x00\x2c\x00\x11\x00\x37\x00\x69\x00\x6a\x00\x39\x00\x2c\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc1\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x11\x00\x11\x00\x22\x00\x4a\x00\x4b\x00\x15\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xff\xff\x37\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc2\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc3\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xa6\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x8b\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x24\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xe0\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x89\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x8a\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xfc\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xce\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xcf\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xd0\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\xe6\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\xe7\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x06\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x01\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\xd4\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x01\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x88\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x3e\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x19\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x1a\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (1, 166) [- (1 , happyReduce_1),- (2 , happyReduce_2),- (3 , happyReduce_3),- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166)- ]--happy_n_terms = 39 :: Int-happy_n_nonterms = 108 :: Int--happyReduce_1 = happySpecReduce_0 0# happyReduction_1-happyReduction_1 = happyIn4- ([]- )--happyReduce_2 = happySpecReduce_2 0# happyReduction_2-happyReduction_2 happy_x_2- happy_x_1- = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut4 happy_x_2 of { happy_var_2 -> - happyIn4- (happy_var_1 : happy_var_2- )}}--happyReduce_3 = happySpecReduce_1 1# happyReduction_3-happyReduction_3 happy_x_1- = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn5- (happy_var_1- )}--happyReduce_4 = happySpecReduce_1 1# happyReduction_4-happyReduction_4 happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - happyIn5- (happy_var_1- )}--happyReduce_5 = happySpecReduce_1 1# happyReduction_5-happyReduction_5 happy_x_1- = case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> - happyIn5- (Comment happy_var_1- )}--happyReduce_6 = happySpecReduce_1 2# happyReduction_6-happyReduction_6 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn6- (happy_var_1- )}--happyReduce_7 = happySpecReduce_1 2# happyReduction_7-happyReduction_7 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn6- (happy_var_1- )}--happyReduce_8 = happyReduce 10# 3# happyReduction_8-happyReduction_8 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_3 of { happy_var_3 -> - case happyOut10 happy_x_5 of { happy_var_5 -> - case happyOut11 happy_x_7 of { happy_var_7 -> - case happyOut9 happy_x_8 of { happy_var_8 -> - happyIn7- (AFormula happy_var_3 happy_var_5 happy_var_7 happy_var_8- ) `HappyStk` happyRest}}}}--happyReduce_9 = happyReduce 10# 4# happyReduction_9-happyReduction_9 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_3 of { happy_var_3 -> - case happyOut10 happy_x_5 of { happy_var_5 -> - case happyOut23 happy_x_7 of { happy_var_7 -> - case happyOut9 happy_x_8 of { happy_var_8 -> - happyIn8- (AFormula happy_var_3 happy_var_5 (univquant_free_vars happy_var_7) happy_var_8- ) `HappyStk` happyRest}}}}--happyReduce_10 = happySpecReduce_3 5# happyReduction_10-happyReduction_10 happy_x_3- happy_x_2- happy_x_1- = case happyOut56 happy_x_2 of { happy_var_2 -> - case happyOut57 happy_x_3 of { happy_var_3 -> - happyIn9- (Annotations happy_var_2 happy_var_3- )}}--happyReduce_11 = happySpecReduce_0 5# happyReduction_11-happyReduction_11 = happyIn9- (NoAnnotations- )--happyReduce_12 = happySpecReduce_1 6# happyReduction_12-happyReduction_12 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn10- (Role happy_var_1- )}--happyReduce_13 = happySpecReduce_1 7# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut12 happy_x_1 of { happy_var_1 -> - happyIn11- (happy_var_1- )}--happyReduce_14 = happySpecReduce_1 7# happyReduction_14-happyReduction_14 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn11- (happy_var_1- )}--happyReduce_15 = happySpecReduce_1 8# happyReduction_15-happyReduction_15 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 -> - happyIn12- (happy_var_1- )}--happyReduce_16 = happySpecReduce_1 8# happyReduction_16-happyReduction_16 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn12- (happy_var_1- )}--happyReduce_17 = happySpecReduce_3 9# happyReduction_17-happyReduction_17 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut29 happy_x_2 of { happy_var_2 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn13- (happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_18 = happySpecReduce_1 10# happyReduction_18-happyReduction_18 happy_x_1- = case happyOut15 happy_x_1 of { happy_var_1 -> - happyIn14- (happy_var_1- )}--happyReduce_19 = happySpecReduce_1 10# happyReduction_19-happyReduction_19 happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn14- (happy_var_1- )}--happyReduce_20 = happyReduce 4# 11# happyReduction_20-happyReduction_20 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - case happyOut16 happy_x_4 of { happy_var_4 -> - happyIn15- (L.foldl (.|.) (happy_var_1 .|. happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_21 = happySpecReduce_0 12# happyReduction_21-happyReduction_21 = happyIn16- ([]- )--happyReduce_22 = happySpecReduce_3 12# happyReduction_22-happyReduction_22 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut16 happy_x_3 of { happy_var_3 -> - happyIn16- (happy_var_2 : happy_var_3- )}}--happyReduce_23 = happyReduce 4# 13# happyReduction_23-happyReduction_23 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - case happyOut18 happy_x_4 of { happy_var_4 -> - happyIn17- (L.foldl (.&.) (happy_var_1 .&. happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_24 = happySpecReduce_0 14# happyReduction_24-happyReduction_24 = happyIn18- ([]- )--happyReduce_25 = happySpecReduce_3 14# happyReduction_25-happyReduction_25 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut18 happy_x_3 of { happy_var_3 -> - happyIn18- (happy_var_2 : happy_var_3- )}}--happyReduce_26 = happySpecReduce_1 15# happyReduction_26-happyReduction_26 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_27 = happySpecReduce_1 15# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_28 = happySpecReduce_1 15# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_29 = happySpecReduce_3 15# happyReduction_29-happyReduction_29 happy_x_3- happy_x_2- happy_x_1- = case happyOut11 happy_x_2 of { happy_var_2 -> - happyIn19- (happy_var_2- )}--happyReduce_30 = happyReduce 6# 16# happyReduction_30-happyReduction_30 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - case happyOut85 happy_x_5 of { happy_var_5 -> - case happyOut19 happy_x_6 of { happy_var_6 -> - happyIn20- (happy_var_1 happy_var_3 happy_var_6 `withComments` comm happy_var_5- ) `HappyStk` happyRest}}}}--happyReduce_31 = happySpecReduce_1 17# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn21- ([happy_var_1]- )}--happyReduce_32 = happySpecReduce_3 17# happyReduction_32-happyReduction_32 happy_x_3- happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - happyIn21- (happy_var_1 : happy_var_3- )}}--happyReduce_33 = happySpecReduce_2 18# happyReduction_33-happyReduction_33 happy_x_2- happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> - happyIn22- (happy_var_1 happy_var_2- )}}--happyReduce_34 = happySpecReduce_1 18# happyReduction_34-happyReduction_34 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn22- (happy_var_1- )}--happyReduce_35 = happySpecReduce_3 19# happyReduction_35-happyReduction_35 happy_x_3- happy_x_2- happy_x_1- = case happyOut24 happy_x_2 of { happy_var_2 -> - happyIn23- (happy_var_2- )}--happyReduce_36 = happySpecReduce_1 19# happyReduction_36-happyReduction_36 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn23- (happy_var_1- )}--happyReduce_37 = happySpecReduce_2 20# happyReduction_37-happyReduction_37 happy_x_2- happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn24- (L.foldl (.|.) happy_var_1 happy_var_2- )}}--happyReduce_38 = happySpecReduce_0 21# happyReduction_38-happyReduction_38 = happyIn25- ([]- )--happyReduce_39 = happySpecReduce_3 21# happyReduction_39-happyReduction_39 happy_x_3- happy_x_2- happy_x_1- = case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn25- (happy_var_2 : happy_var_3- )}}--happyReduce_40 = happySpecReduce_1 22# happyReduction_40-happyReduction_40 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn26- (happy_var_1- )}--happyReduce_41 = happySpecReduce_2 22# happyReduction_41-happyReduction_41 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn26- ((.~.) happy_var_2- )}--happyReduce_42 = happySpecReduce_1 22# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn26- (happy_var_1- )}--happyReduce_43 = happySpecReduce_3 23# happyReduction_43-happyReduction_43 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn27- (happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_44 = happySpecReduce_1 24# happyReduction_44-happyReduction_44 happy_x_1- = happyIn28- (for_all- )--happyReduce_45 = happySpecReduce_1 24# happyReduction_45-happyReduction_45 happy_x_1- = happyIn28- (exists- )--happyReduce_46 = happySpecReduce_1 25# happyReduction_46-happyReduction_46 happy_x_1- = happyIn29- ((.<=>.)- )--happyReduce_47 = happySpecReduce_1 25# happyReduction_47-happyReduction_47 happy_x_1- = happyIn29- ((.=>.)- )--happyReduce_48 = happySpecReduce_1 25# happyReduction_48-happyReduction_48 happy_x_1- = happyIn29- ((.<=.)- )--happyReduce_49 = happySpecReduce_1 25# happyReduction_49-happyReduction_49 happy_x_1- = happyIn29- ((.<~>.)- )--happyReduce_50 = happySpecReduce_1 25# happyReduction_50-happyReduction_50 happy_x_1- = happyIn29- ((.~|.)- )--happyReduce_51 = happySpecReduce_1 25# happyReduction_51-happyReduction_51 happy_x_1- = happyIn29- ((.~&.)- )--happyReduce_52 = happySpecReduce_1 26# happyReduction_52-happyReduction_52 happy_x_1- = happyIn30- ((.~.)- )--happyReduce_53 = happySpecReduce_1 27# happyReduction_53-happyReduction_53 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_54 = happySpecReduce_1 27# happyReduction_54-happyReduction_54 happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_55 = happySpecReduce_1 27# happyReduction_55-happyReduction_55 happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_56 = happySpecReduce_1 28# happyReduction_56-happyReduction_56 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 -> - happyIn32- (fApp2pApp happy_var_1- )}--happyReduce_57 = happySpecReduce_1 29# happyReduction_57-happyReduction_57 happy_x_1- = case happyOut34 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_58 = happySpecReduce_1 29# happyReduction_58-happyReduction_58 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_59 = happySpecReduce_1 30# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn34- (fApp2pApp happy_var_1- )}--happyReduce_60 = happySpecReduce_3 31# happyReduction_60-happyReduction_60 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn35- (happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_61 = happySpecReduce_1 32# happyReduction_61-happyReduction_61 happy_x_1- = case happyOut37 happy_x_1 of { happy_var_1 -> - happyIn36- (happy_var_1- )}--happyReduce_62 = happySpecReduce_1 33# happyReduction_62-happyReduction_62 happy_x_1- = happyIn37- ((.=.)- )--happyReduce_63 = happySpecReduce_1 34# happyReduction_63-happyReduction_63 happy_x_1- = happyIn38- ((.!=.)- )--happyReduce_64 = happySpecReduce_1 35# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn39- (fApp2pApp happy_var_1- )}--happyReduce_65 = happySpecReduce_1 36# happyReduction_65-happyReduction_65 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn40- (happy_var_1- )}--happyReduce_66 = happySpecReduce_1 36# happyReduction_66-happyReduction_66 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn40- (var happy_var_1- )}--happyReduce_67 = happySpecReduce_1 37# happyReduction_67-happyReduction_67 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_68 = happySpecReduce_1 37# happyReduction_68-happyReduction_68 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_69 = happySpecReduce_1 37# happyReduction_69-happyReduction_69 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_70 = happySpecReduce_1 38# happyReduction_70-happyReduction_70 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn42- (fApp happy_var_1 []- )}--happyReduce_71 = happyReduce 4# 38# happyReduction_71-happyReduction_71 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut44 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn42- (fApp happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_72 = happySpecReduce_1 39# happyReduction_72-happyReduction_72 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn43- (happy_var_1- )}--happyReduce_73 = happySpecReduce_1 40# happyReduction_73-happyReduction_73 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn44- (happy_var_1- )}--happyReduce_74 = happySpecReduce_1 41# happyReduction_74-happyReduction_74 happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - happyIn45- (happy_var_1- )}--happyReduce_75 = happySpecReduce_1 41# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 -> - happyIn45- (happy_var_1- )}--happyReduce_76 = happySpecReduce_1 42# happyReduction_76-happyReduction_76 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn46- (numberLitTerm happy_var_1- )}--happyReduce_77 = happySpecReduce_1 42# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn46- (distinctObjectTerm (stripQuotes '"' happy_var_1)- )}--happyReduce_78 = happySpecReduce_1 43# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn47- (happy_var_1- )}--happyReduce_79 = happySpecReduce_1 44# happyReduction_79-happyReduction_79 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn48- (fApp (AtomicWord happy_var_1) []- )}--happyReduce_80 = happyReduce 4# 44# happyReduction_80-happyReduction_80 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn48- (fApp (AtomicWord happy_var_1) happy_var_3- ) `HappyStk` happyRest}}--happyReduce_81 = happySpecReduce_1 45# happyReduction_81-happyReduction_81 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49- (happy_var_1- )}--happyReduce_82 = happySpecReduce_1 46# happyReduction_82-happyReduction_82 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_83 = happySpecReduce_1 47# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 -> - happyIn51- (fApp (AtomicWord happy_var_1) []- )}--happyReduce_84 = happyReduce 4# 47# happyReduction_84-happyReduction_84 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn51- (fApp (AtomicWord happy_var_1) happy_var_3- ) `HappyStk` happyRest}}--happyReduce_85 = happySpecReduce_1 48# happyReduction_85-happyReduction_85 happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - happyIn52- (happy_var_1- )}--happyReduce_86 = happySpecReduce_1 49# happyReduction_86-happyReduction_86 happy_x_1- = case happyOut70 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_87 = happySpecReduce_1 50# happyReduction_87-happyReduction_87 happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 -> - happyIn54- (V happy_var_1- )}--happyReduce_88 = happySpecReduce_1 51# happyReduction_88-happyReduction_88 happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - happyIn55- ([happy_var_1]- )}--happyReduce_89 = happySpecReduce_3 51# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn55- (happy_var_1 : happy_var_3- )}}--happyReduce_90 = happySpecReduce_1 52# happyReduction_90-happyReduction_90 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn56- (happy_var_1- )}--happyReduce_91 = happySpecReduce_2 53# happyReduction_91-happyReduction_91 happy_x_2- happy_x_1- = case happyOut58 happy_x_2 of { happy_var_2 -> - happyIn57- (happy_var_2- )}--happyReduce_92 = happySpecReduce_0 53# happyReduction_92-happyReduction_92 = happyIn57- (NoUsefulInfo- )--happyReduce_93 = happySpecReduce_1 54# happyReduction_93-happyReduction_93 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn58- (UsefulInfo happy_var_1- )}--happyReduce_94 = happyReduce 6# 55# happyReduction_94-happyReduction_94 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut74 happy_x_3 of { happy_var_3 -> - case happyOut60 happy_x_4 of { happy_var_4 -> - happyIn59- (Include happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_95 = happyReduce 4# 56# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn60- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_96 = happySpecReduce_0 56# happyReduction_96-happyReduction_96 = happyIn60- ([]- )--happyReduce_97 = happySpecReduce_1 57# happyReduction_97-happyReduction_97 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - happyIn61- ([happy_var_1]- )}--happyReduce_98 = happySpecReduce_3 57# happyReduction_98-happyReduction_98 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn61- (happy_var_1 : happy_var_3- )}}--happyReduce_99 = happySpecReduce_1 58# happyReduction_99-happyReduction_99 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - happyIn62- (GTerm happy_var_1- )}--happyReduce_100 = happySpecReduce_3 58# happyReduction_100-happyReduction_100 happy_x_3- happy_x_2- happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - case happyOut62 happy_x_3 of { happy_var_3 -> - happyIn62- (ColonSep happy_var_1 happy_var_3- )}}--happyReduce_101 = happySpecReduce_1 58# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn62- (GList happy_var_1- )}--happyReduce_102 = happySpecReduce_1 59# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn63- (GWord happy_var_1- )}--happyReduce_103 = happyReduce 4# 59# happyReduction_103-happyReduction_103 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut68 happy_x_1 of { happy_var_1 -> - case happyOut66 happy_x_3 of { happy_var_3 -> - happyIn63- (GApp happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_104 = happySpecReduce_1 59# happyReduction_104-happyReduction_104 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn63- (GVar happy_var_1- )}--happyReduce_105 = happySpecReduce_1 59# happyReduction_105-happyReduction_105 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn63- (GNumber happy_var_1- )}--happyReduce_106 = happySpecReduce_1 59# happyReduction_106-happyReduction_106 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn63- (GDistinctObject (stripQuotes '"' happy_var_1)- )}--happyReduce_107 = happySpecReduce_1 59# happyReduction_107-happyReduction_107 happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - happyIn63- (happy_var_1- )}--happyReduce_108 = happyReduce 4# 60# happyReduction_108-happyReduction_108 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut104 happy_x_1 of { happy_var_1 -> - case happyOut11 happy_x_3 of { happy_var_3 -> - happyIn64- (GFormulaData happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_109 = happySpecReduce_2 61# happyReduction_109-happyReduction_109 happy_x_2- happy_x_1- = happyIn65- ([]- )--happyReduce_110 = happySpecReduce_3 61# happyReduction_110-happyReduction_110 happy_x_3- happy_x_2- happy_x_1- = case happyOut66 happy_x_2 of { happy_var_2 -> - happyIn65- (happy_var_2- )}--happyReduce_111 = happySpecReduce_1 62# happyReduction_111-happyReduction_111 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn66- ([happy_var_1]- )}--happyReduce_112 = happySpecReduce_3 62# happyReduction_112-happyReduction_112 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut66 happy_x_3 of { happy_var_3 -> - happyIn66- (happy_var_1 : happy_var_3- )}}--happyReduce_113 = happySpecReduce_1 63# happyReduction_113-happyReduction_113 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn67- (happy_var_1- )}--happyReduce_114 = happySpecReduce_1 63# happyReduction_114-happyReduction_114 happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn67- (AtomicWord(show happy_var_1)- )}--happyReduce_115 = happySpecReduce_1 64# happyReduction_115-happyReduction_115 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn68- (AtomicWord happy_var_1- )}--happyReduce_116 = happySpecReduce_1 64# happyReduction_116-happyReduction_116 happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn68- (AtomicWord (stripQuotes '\'' happy_var_1)- )}--happyReduce_117 = happySpecReduce_1 65# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_118 = happySpecReduce_1 66# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn70- (happy_var_1- )}--happyReduce_119 = happySpecReduce_1 67# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn71- (fromIntegral happy_var_1- )}--happyReduce_120 = happySpecReduce_1 67# happyReduction_120-happyReduction_120 happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - happyIn71- (happy_var_1- )}--happyReduce_121 = happySpecReduce_1 67# happyReduction_121-happyReduction_121 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - happyIn71- (happy_var_1- )}--happyReduce_122 = happySpecReduce_1 68# happyReduction_122-happyReduction_122 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn72- (happy_var_1- )}--happyReduce_123 = happySpecReduce_1 68# happyReduction_123-happyReduction_123 happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn72- (happy_var_1- )}--happyReduce_124 = happySpecReduce_3 69# happyReduction_124-happyReduction_124 happy_x_3- happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_3 of { happy_var_3 -> - happyIn73- (happy_var_1 % happy_var_3- )}}--happyReduce_125 = happySpecReduce_1 70# happyReduction_125-happyReduction_125 happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn74- (stripQuotes '\'' happy_var_1- )}--happyReduce_126 = happySpecReduce_1 71# happyReduction_126-happyReduction_126 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn75- (happy_var_1- )}--happyReduce_127 = happySpecReduce_1 71# happyReduction_127-happyReduction_127 happy_x_1- = happyIn75- ("fof"- )--happyReduce_128 = happySpecReduce_1 71# happyReduction_128-happyReduction_128 happy_x_1- = happyIn75- ("cnf"- )--happyReduce_129 = happySpecReduce_1 71# happyReduction_129-happyReduction_129 happy_x_1- = happyIn75- ("include"- )--happyReduce_130 = happySpecReduce_2 72# happyReduction_130-happyReduction_130 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn76- (happy_var_1- )}--happyReduce_131 = happySpecReduce_2 73# happyReduction_131-happyReduction_131 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_132 = happySpecReduce_2 74# happyReduction_132-happyReduction_132 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn78- (happy_var_1- )}--happyReduce_133 = happySpecReduce_2 75# happyReduction_133-happyReduction_133 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn79- (happy_var_1- )}--happyReduce_134 = happySpecReduce_2 76# happyReduction_134-happyReduction_134 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn80- (happy_var_1- )}--happyReduce_135 = happySpecReduce_2 77# happyReduction_135-happyReduction_135 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn81- (happy_var_1- )}--happyReduce_136 = happySpecReduce_2 78# happyReduction_136-happyReduction_136 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn82- (happy_var_1- )}--happyReduce_137 = happySpecReduce_2 79# happyReduction_137-happyReduction_137 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn83- (happy_var_1- )}--happyReduce_138 = happySpecReduce_2 80# happyReduction_138-happyReduction_138 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn84- (happy_var_1- )}--happyReduce_139 = happySpecReduce_2 81# happyReduction_139-happyReduction_139 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut111 happy_x_2 of { happy_var_2 -> - happyIn85- (AToken happy_var_1 happy_var_2- )}}--happyReduce_140 = happySpecReduce_2 82# happyReduction_140-happyReduction_140 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn86- (happy_var_1- )}--happyReduce_141 = happySpecReduce_2 83# happyReduction_141-happyReduction_141 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn87- (happy_var_1- )}--happyReduce_142 = happySpecReduce_2 84# happyReduction_142-happyReduction_142 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_143 = happySpecReduce_2 85# happyReduction_143-happyReduction_143 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn89- (happy_var_1- )}--happyReduce_144 = happySpecReduce_2 86# happyReduction_144-happyReduction_144 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn90- (happy_var_1- )}--happyReduce_145 = happySpecReduce_2 87# happyReduction_145-happyReduction_145 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn91- (happy_var_1- )}--happyReduce_146 = happySpecReduce_2 88# happyReduction_146-happyReduction_146 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn92- (happy_var_1- )}--happyReduce_147 = happySpecReduce_2 89# happyReduction_147-happyReduction_147 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn93- (happy_var_1- )}--happyReduce_148 = happySpecReduce_2 90# happyReduction_148-happyReduction_148 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn94- (happy_var_1- )}--happyReduce_149 = happySpecReduce_2 91# happyReduction_149-happyReduction_149 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn95- (happy_var_1- )}--happyReduce_150 = happySpecReduce_2 92# happyReduction_150-happyReduction_150 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn96- (happy_var_1- )}--happyReduce_151 = happySpecReduce_2 93# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn97- (happy_var_1- )}--happyReduce_152 = happySpecReduce_2 94# happyReduction_152-happyReduction_152 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn98- (happy_var_1- )}--happyReduce_153 = happySpecReduce_2 95# happyReduction_153-happyReduction_153 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn99- (happy_var_1- )}--happyReduce_154 = happySpecReduce_2 96# happyReduction_154-happyReduction_154 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn100- (happy_var_1- )}--happyReduce_155 = happySpecReduce_2 97# happyReduction_155-happyReduction_155 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn101- (happy_var_1- )}--happyReduce_156 = happySpecReduce_2 98# happyReduction_156-happyReduction_156 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (SingleQuoted happy_var_1) -> - happyIn102- (happy_var_1- )}--happyReduce_157 = happySpecReduce_2 99# happyReduction_157-happyReduction_157 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (DoubleQuoted happy_var_1) -> - happyIn103- (happy_var_1- )}--happyReduce_158 = happySpecReduce_2 100# happyReduction_158-happyReduction_158 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (DollarWord happy_var_1) -> - happyIn104- (happy_var_1- )}--happyReduce_159 = happySpecReduce_2 101# happyReduction_159-happyReduction_159 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (DollarDollarWord happy_var_1) -> - happyIn105- (happy_var_1- )}--happyReduce_160 = happySpecReduce_2 102# happyReduction_160-happyReduction_160 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (UpperWord happy_var_1) -> - happyIn106- (happy_var_1- )}--happyReduce_161 = happySpecReduce_2 103# happyReduction_161-happyReduction_161 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (LowerWord happy_var_1) -> - happyIn107- (happy_var_1- )}--happyReduce_162 = happySpecReduce_2 104# happyReduction_162-happyReduction_162 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (SignedInt happy_var_1) -> - happyIn108- (happy_var_1- )}--happyReduce_163 = happySpecReduce_2 105# happyReduction_163-happyReduction_163 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (UnsignedInt happy_var_1) -> - happyIn109- (happy_var_1- )}--happyReduce_164 = happySpecReduce_2 106# happyReduction_164-happyReduction_164 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Real happy_var_1) -> - happyIn110- (happy_var_1- )}--happyReduce_165 = happySpecReduce_0 107# happyReduction_165-happyReduction_165 = happyIn111- ([]- )--happyReduce_166 = happySpecReduce_2 107# happyReduction_166-happyReduction_166 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> - case happyOut111 happy_x_2 of { happy_var_2 -> - happyIn111- (happy_var_1 : happy_var_2- )}}--happyNewToken action sts stk [] =- happyDoAction 38# notHappyAtAll action sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = happyDoAction i tk action sts stk tks in- case tk of {- LP -> cont 1#;- RP -> cont 2#;- Lbrack -> cont 3#;- Rbrack -> cont 4#;- Comma -> cont 5#;- Dot -> cont 6#;- Star -> cont 7#;- Plus -> cont 8#;- Rangle -> cont 9#;- Oper ":" -> cont 10#;- Oper "<=>" -> cont 11#;- Oper "=>" -> cont 12#;- Oper "<~>" -> cont 13#;- Oper "~|" -> cont 14#;- Oper "~&" -> cont 15#;- Oper "<=" -> cont 16#;- Oper "=" -> cont 17#;- Oper "!=" -> cont 18#;- Oper "!" -> cont 19#;- Oper "?" -> cont 20#;- Oper "&" -> cont 21#;- Oper "|" -> cont 22#;- Oper "~" -> cont 23#;- LowerWord "fof" -> cont 24#;- LowerWord "cnf" -> cont 25#;- LowerWord "include" -> cont 26#;- SingleQuoted happy_dollar_dollar -> cont 27#;- DoubleQuoted happy_dollar_dollar -> cont 28#;- DollarWord happy_dollar_dollar -> cont 29#;- DollarDollarWord happy_dollar_dollar -> cont 30#;- UpperWord happy_dollar_dollar -> cont 31#;- LowerWord happy_dollar_dollar -> cont 32#;- SignedInt happy_dollar_dollar -> cont 33#;- UnsignedInt happy_dollar_dollar -> cont 34#;- Real happy_dollar_dollar -> cont 35#;- Slash -> cont 36#;- CommentToken happy_dollar_dollar -> cont 37#;- _ -> happyError' (tk:tks)- }--happyError_ 38# tk tks = happyError' tks-happyError_ _ tk tks = happyError' (tk:tks)--newtype HappyIdentity a = HappyIdentity a-happyIdentity = HappyIdentity-happyRunIdentity (HappyIdentity a) = a--instance Monad HappyIdentity where- return = HappyIdentity- (HappyIdentity p) >>= q = q p--happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b-happyThen = (>>=)-happyReturn :: () => a -> HappyIdentity a-happyReturn = (return)-happyThen1 m k tks = (>>=) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> HappyIdentity a-happyReturn1 = \a tks -> (return) a-happyError' :: () => [(Token)] -> HappyIdentity a-happyError' = HappyIdentity . ((\xs -> case xs of- xs -> error ("Parse error, pos: "++show (take 25 xs))))--parseTPTPwithComment tks = happyRunIdentity happySomeParser where- happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut4 x))--happySeq = happyDontSeq---data AToken = AToken { tok :: Token, comm :: [String] }--class Commented c where- withComments :: F c -> [String] -> F c--instance Commented Identity where- withComments = const--instance Commented (State [String]) where- withComments (F mf) s = F $ do { f <- mf; put s; return f }---stripQuotes which (x:xs) = go xs- where- go [x] = []- go ('\\':'\\':xs) = '\\':go xs- go ('\\':which:xs) = which:go xs- go (x:xs) = x:go xs--fApp2pApp (T mf) = F $ do FunApp x args <- mf- return $ PredApp x args-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 11 "<command-line>" #-}-# 1 "/usr/include/stdc-predef.h" 1 3 4--# 17 "/usr/include/stdc-predef.h" 3 4--------------------# 47 "/usr/include/stdc-predef.h" 3 4--# 59 "/usr/include/stdc-predef.h" 3 4---------{-# LINE 11 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif-{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList------{-# LINE 67 "templates/GenericTemplate.hs" #-}--{-# LINE 77 "templates/GenericTemplate.hs" #-}--{-# LINE 86 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}--- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}-- (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}--- happyShift new_state i tk st- where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i- where- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)- high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i---- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ - happyError_ i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
logic-TPTP.cabal view
@@ -1,5 +1,5 @@-name: logic-TPTP -version: 0.4.2.0+name: logic-TPTP+version: 0.4.3.0 cabal-version: >= 1.6 build-type: Simple license: GPL@@ -7,7 +7,7 @@ maintainer: Ahn, Ki Yung <kya@pdx.edu>, Daniel Schüssler <daniels@community.haskell.org> bug-reports: http://github.com/DanielSchuessler/logic-TPTP/issues synopsis: Import, export etc. for TPTP, a syntax for first-order logic-description: +description: For information about the TPTP format, see <http://www.cs.miami.edu/~tptp/>. . Components:@@ -19,19 +19,19 @@ - Pretty-printer ('pretty') . - QuickCheck instances (generation of random formulae)- . + . - 'diff' : Get a \"formula\" which represents the differences between two given formulae (equal subexpressions are truncated; so are the subexpressions of subexpressions whose heads already differ) . Tests passed: . - For randomly generated formulae, @parse . toTPTP == id@ .- - For all files in the TPTP (v 5.2.0) distribution's @Problems@ subtree which don't match the regex \"^(thf|tff)\(\", @parse . toTPTP . parse == parse@ + - For all files in the TPTP (v 5.2.0) distribution's @Problems@ subtree which don't match the regex \"^(thf|tff)\(\", @parse . toTPTP . parse == parse@ . Not yet implemented: The new /thf/ and /tff/ formula types. .- - ++ category: Codec,Math,Theorem Provers author: Daniel Schüssler cabal-version: >= 1.6@@ -40,6 +40,7 @@ testing/TestImportExportImportFile.hs testing/PrettyPrintFile.hs testing/ParseRandom.hs+ changelog.markdown tested-with: GHC==7.4.1 tested-with: GHC==7.2.1@@ -48,12 +49,12 @@ source-repository head type: git location: http://github.com/DanielSchuessler/logic-TPTP.git- - ++ Library ghc-options: -Wall -O2- + build-depends: base >=4 && < 5 , array , syb@@ -64,20 +65,19 @@ , pointed , transformers , transformers-compat >= 0.3- + exposed-modules: Codec.TPTP.Import , Codec.TPTP.Base , Codec.TPTP , Codec.TPTP.Pretty , Codec.TPTP.Export , Codec.TPTP.Diff- + other-modules:- Lexer + Lexer , Parser , ParserC , Codec.TPTP.QuickCheck , Util build-tools: alex, happy-
testing/ParseRandom.hs view
@@ -1,10 +1,10 @@-{-# OPTIONS - -fglasgow-exts - -XCPP - -XTemplateHaskell - -XNamedFieldPuns - -XRecordWildCards - -XDeriveDataTypeable +{-# OPTIONS+ -fglasgow-exts+ -XCPP+ -XTemplateHaskell+ -XNamedFieldPuns+ -XRecordWildCards+ -XDeriveDataTypeable -XOverlappingInstances -XPackageImports -fwarn-incomplete-patterns@@ -34,12 +34,12 @@ import System.Exit import Text.Regex.PCRE.Light.Char8 import Common- + import "logic-TPTP" Codec.TPTP infilename = getArgs parseRes = return . parse =<< readFile =<< infilename- + --main = forever $ quickCheck prop_test_ie --iei_i --main = stressTestParser
testing/PrettyPrintFile.hs view
@@ -1,10 +1,10 @@-{-# OPTIONS - -fglasgow-exts - -XCPP - -XTemplateHaskell - -XNamedFieldPuns - -XRecordWildCards - -XDeriveDataTypeable +{-# OPTIONS+ -fglasgow-exts+ -XCPP+ -XTemplateHaskell+ -XNamedFieldPuns+ -XRecordWildCards+ -XDeriveDataTypeable -XOverlappingInstances -XPackageImports -fwarn-incomplete-patterns@@ -34,9 +34,8 @@ import Text.PrettyPrint.ANSI.Leijen import System.Exit import Text.Regex.PCRE.Light.Char8- + import "logic-TPTP" Codec.TPTP main = putStrLn . prettySimple . parse =<< readFile =<< getArgs-
testing/TestImportExportImportFile.hs view
@@ -12,7 +12,7 @@ import Text.PrettyPrint.ANSI.Leijen import System.Exit import Common- + import "logic-TPTP" Codec.TPTP @@ -25,13 +25,13 @@ print_export <- getArgs forM_ files (diff_once_twice print_export) exitWith ExitSuccess- + diff_once_twice :: Bool -> String -> IO () diff_once_twice print_export infilename' = do --let tmp = "/tmp/tmp.tptp" putStrLn infilename' input <- readFile infilename'- case findUnsupportedFormulaType input of + case findUnsupportedFormulaType input of Just x -> putStrLn . prettySimple . yellow . text $ ("Skipping unsupported formula type "++x) Nothing -> do @@ -42,8 +42,8 @@ let dif = mconcat (zipWith diffAFormula once twice) let success = (putStrLn . prettySimple . dullgreen . text $ "Ok") - -- case dif of - -- OtherSame -> success + -- case dif of+ -- OtherSame -> success -- FormulaDiff (F Same) -> success -- _ -> do -- putStrLn . prettySimple $ dif@@ -54,4 +54,3 @@ else do putStrLn . prettySimple $ dif exitWith (ExitFailure 1)-
testing/TestImportExportRandom.hs view
@@ -7,7 +7,7 @@ import Test.QuickCheck import Common import Data.Functor.Identity- + import "logic-TPTP" Codec.TPTP main :: IO ()@@ -19,18 +19,18 @@ (let [g] = parse tptp -- $ trace tptp tptp- + dif = diffAFormula f g in whenFail- (putStrLn . prettySimple $ dif) - + (putStrLn . prettySimple $ dif)+ (f==g)- - -- (case dif of ++ -- (case dif of -- OtherSame -> True -- FormulaDiff (F Same) -> True -- _ -> False -- ))- + )
testing/compileTests.sh view
@@ -6,8 +6,8 @@ mkdir -p obj for x in TestImportExportImportFile TestImportExportRandom PrettyPrintFile ParseRandom; do- + # ghc -prof -auto-all -outputdir obj -o bin/$x --make -O2 -main-is $x $x ghc -outputdir obj -o bin/$x --make -O2 -main-is $x $x- + done