packages feed

idris 0.1.3.1 → 0.1.4

raw patch · 17 files changed

+8105/−7320 lines, 17 filesdep ~epicdep ~ivor

Dependency ranges changed: epic, ivor

Files

Idris/AbsSyntax.lhs view
@@ -45,6 +45,7 @@ >           | Params [(Id, RawTerm)] [Decl] -- default implicit args >           | DoUsing Id Id [Decl] -- bind and return names >           | Idiom Id Id [Decl] -- pure and ap names+>           | Namespace Id [Decl] -- bind and return names >           | CLib String | CInclude String >           | Fixity String Fixity Int >           | Transform RawTerm RawTerm@@ -59,8 +60,17 @@ Functions may be exported to C, if they have a simple type (no polymorphism, no dependencies).  > data CGFlag = NoCG | CGEval | CExport String | Inline | CGSpec [(Id, Int)]+>             | Vis Visibility >    deriving (Show, Eq) +Public: Name, type and definition visible globally+Abstract: Only name and type visible (i.e. no constructors, or definition)+  outside the namespace.+Private: Nothing visible outside the namespace.++> data Visibility = Public | Private | Abstract+>    deriving (Show, Eq)+ User defined operators have associativity and precedence  > data Fixity = LeftAssoc | RightAssoc | NonAssoc@@ -89,6 +99,7 @@ >                | PParams [(Id, RawTerm)] [ParseDecl] >                | PDoUsing (Id, Id) [ParseDecl] >                | PIdiom (Id, Id) [ParseDecl]+>                | PNamespace Id [ParseDecl] >                | PSyntax Id [Id] RawTerm  >    deriving Show @@ -127,6 +138,11 @@ >                   Success d -> >                       cds ((DoUsing ub ur d):rds) fwds ds >                   failure -> failure+>         cds rds fwds ((PNamespace ns pds):ds) = +>                case (cds [] [] pds) of+>                   Success d ->+>                       cds ((Namespace ns d):rds) fwds ds+>                   failure -> failure >         cds rds fwds ((PIdiom (up,ua) pds):ds) =  >                case (cds [] [] pds) of >                   Success d ->@@ -236,7 +252,7 @@ >              | RIdiom RawTerm >              | RPure RawTerm -- a term to apply normally inside idiom brackets >              | RRefl->              | RError String -- Hackety. Found an error in processing, report when you can.+>              | RError String Int String -- Hackety. Found an error in processing, report when you can. >    deriving (Show, Eq)  > data RBinder = Pi Plicit Laziness RawTerm@@ -530,7 +546,7 @@ they'll never be inferrable at the call site. (Not done this. Not convinced.) ]]  > addImpl :: Ctxt IvorFun -> RawTerm -> (RawTerm, Int) -> addImpl = addImpl' True [] [] Nothing+> addImpl = addImpl' True [] [] []  > addImplWith :: Implicit -> Ctxt IvorFun -> RawTerm -> (RawTerm, Int)  > addImplWith (Imp using params paramnames ns) = addImpl' True using params ns@@ -547,7 +563,7 @@ Need to do it twice, in case the first pass added names in the indices (from using) -> addImpl' :: Bool -> [(Id, RawTerm)] -> [(Id, RawTerm)] -> Maybe Id -> Ctxt IvorFun -> +> addImpl' :: Bool -> [(Id, RawTerm)] -> [(Id, RawTerm)] -> [Id] -> Ctxt IvorFun ->  >             RawTerm -> (RawTerm, Int)  > addImpl' pi using params namespace ctxt raw'  >             = let raw = parambind params raw'@@ -650,29 +666,51 @@ > data Implicit = Imp { impUsing :: [(Id, RawTerm)], -- 'using' >                       params :: [(Id, RawTerm)], -- extra params >                       paramNames :: [(Id, [Id])], -- functions and params in the current block->                       thisNamespace :: Maybe Id+>                       thisNamespace :: [Id] >                     } -> noImplicit = Imp [] [] [] Nothing+> noImplicit = Imp [] [] [] []  > addUsing :: Implicit -> Implicit -> Implicit-> addUsing (Imp a b pns ns) (Imp a' b' pns' ns') ->              = Imp (a++a') (b++b') (pns++pns') (mplus ns ns')+> addUsing (Imp a b pns ns) (Imp a' b' pns' ns') -- ns always == ns'+>              = Imp (a++a') (b++b') (pns++pns') ns  > addParams :: Implicit -> [(Id, RawTerm)] -> Implicit > addParams (Imp a b pns ns) newps = Imp a (b++newps) pns ns +> addNS :: Implicit -> Id -> Implicit+> addNS (Imp a b pns ns) n = Imp a b pns (n:ns)++> fullName :: Implicit -> Id -> Id+> fullName imp n = mkName (thisNamespace imp) n+ > addParamName :: Implicit -> Id -> Implicit > addParamName imp@(Imp u ps pns ns) n >     = case lookup n pns of >          Just _ -> imp >          Nothing -> Imp u ps ((n, (map fst ps)):pns) ns -> defDo = UI (UN "bind") 2->            (UN "IOReturn") 1 -- IO monad->            (UN "IOReturn") 1 -- IO applicative->            (UN "ioApp") 2 +> bindName = ioname "bind"+> ibindName = ioname "ibind"+> retName = ioname "ret"+> ioretName = ioname "IOReturn"+> iodoName = ioname "IODo"+> ioliftName = ioname "IOLift"+> applyName = ioname "apply" +> bindNamei = toIvorName bindName+> ibindNamei = toIvorName ibindName+> retNamei = toIvorName retName+> ioretNamei = toIvorName ioretName+> iodoNamei = toIvorName iodoName+> ioliftNamei = toIvorName ioliftName+> applyNamei = toIvorName applyName++> ioname n = NS [UN "IO"] (UN n)+> ionamei n = toIvorName (ioname n)++> defDo = UI bindName 2 retName 1 retName 1 applyName 2+ > toIvor :: UndoInfo -> Id -> RawTerm -> ViewTerm > toIvor ui fname tm = evalState (toIvorS tm) (0,1) >   where@@ -733,7 +771,7 @@ >                              toIvorS tm' >     toIvorS (RPure t) = toIvorS t >     toIvorS RRefl = return $ apply (Name Unknown (name "refl")) [Placeholder]->     toIvorS (RError x) = error x+>     toIvorS (RError f l x) = error (f ++ ":" ++ show l ++ ":" ++ x) >     mkName (UN n) i = UN (n++"_"++show i) >     mkName (MN n j) i = MN (n++"_"++show i) j @@ -775,11 +813,17 @@ >                     mkApp f l (RVar f l fulln) >                               ((mkImplicitArgs  >                                (map fst (fst (getBinders ty []))) imp ex) ++ pargs)->                   _ -> RVar f l n -- FIXME: report error if ambiguous name+>                   Left err@(Ambiguous _ _) -> RError f l (show err)+>                   Left err@(WrongNamespace _ _) -> RError f l (show err)+>                   Right (_, fulln) -> RVar f l fulln+>                   _ -> RVar f l n >           ap ex (RExpVar f l n) >               = case ctxtLookupName ctxt (thisNamespace using) n of >                   Right (IvorFun _ (Just ty) imp _ _ _ _, fulln) -> RVar f l fulln->                   _ -> RVar f l n -- FIXME: report error if ambiguous name+>                   Left err@(Ambiguous _ _) -> RError f l (show err)+>                   Left err@(WrongNamespace _ _) -> RError f l (show err)+>                   Right (_, fulln) -> RVar f l fulln+>                   _ -> RVar f l n >           ap ex (RAppImp file line n f a) = (ap ((toIvorName n,(ap [] a)):ex) f) >           ap ex (RApp file line f a) = (RApp file line (ap ex f) (ap [] a)) >           ap ex (RBind n (Pi p l ty) sc)@@ -794,7 +838,7 @@ >                   (RUserInfix file line _ op l r) -> >                       ap ex (RApp file line  >                              (RApp file line (RVar file line (useropFn op)) l) r)->                   (RError x) -> RError x+>                   (RError f l x) -> RError f l x >           ap ex (RDo ds) = RDo (map apdo ds) >           ap ex (RIdiom tm) = RIdiom (ap [] tm) >           ap ex (RPure tm) = RPure (ap [] tm)@@ -875,7 +919,7 @@ >               mkApp file line (RVar file line pure) >                     ((take pureImpl (repeat RPlaceholder)) ++ [x]) -> testCtxt = addEntry newCtxt Nothing (UN "Vect") undefined+> testCtxt = addEntry newCtxt [] (UN "Vect") undefined  > dump :: Ctxt IvorFun -> String > dump ctxt = concat $ map dumpFn (ctxtAlist ctxt)@@ -918,7 +962,7 @@ >     unI (Name _ v) [x,y] >         | Just op <- getOp v allOps = RInfix "[val]" 0 op x y >     unI (Name _ v) args ->        = case ctxtLookup ctxt Nothing (mkRName v) of+>        = case ctxtLookup ctxt [] (mkRName v) of >            Right fdata -> mkImpApp "[val]" 0 (implicitArgs fdata)  >                                   (argNames (ivorFType fdata)) (RVar "[val]" 0 (mkRName v)) args >            _ -> unwind (RVar "[val]" 0 (mkRName v)) args@@ -1063,9 +1107,9 @@ >                               prec (op2:out) opstk op1 >                             else  >                               (op1:op2:opstk, reverse out)->                   (Nothing, Nothing) -> (opstk, OTm (RError (f1 ++ ":" ++ show l1 ++ ":unknown operators " ++ show o1 ++ " and " ++ show o2)):out)->                   (Nothing, _) -> (opstk, OTm (RError (f1 ++ ":" ++ show l1 ++ ":unknown operator " ++ show o1)):out)->                   (_, Nothing) -> (opstk, OTm (RError (f2 ++ ":" ++ show l2 ++ ":unknown operator " ++ show o2)):out)+>                   (Nothing, Nothing) -> (opstk, OTm (RError f1 l1 (":unknown operators " ++ show o1 ++ " and " ++ show o2)):out)+>                   (Nothing, _) -> (opstk, OTm (RError f1 l1 (":unknown operator " ++ show o1)):out)+>                   (_, Nothing) -> (opstk, OTm (RError f2 l2 (":unknown operator " ++ show o2)):out) >          prec out opstk op1 = (op1:opstk, reverse out)  > shunt ops stk (OpenB:toks) = shunt ops (OpenB:stk) toks@@ -1104,9 +1148,9 @@ >     case (lookup opl ops, lookup opr ops) of >       (Just (assocl, precl), Just (assocr, precr)) -> >         doFix assocl precl assocr precr a opl b opr c->       (Nothing, Nothing) -> RError $ file ++ ":" ++ show line ++ ":unknown operators " ++ show opl ++ " and " ++ show opr->       (Nothing, _) -> RError $ file ++ ":" ++ show line ++ ":unknown operator " ++ show opl->       (_, Nothing) -> RError $ file ++ ":" ++ show line ++ ":unknown operator " ++ show opr+>       (Nothing, Nothing) -> RError file line $ ":unknown operators " ++ show opl ++ " and " ++ show opr+>       (Nothing, _) -> RError file line (":unknown operator " ++ show opl)+>       (_, Nothing) -> RError file line (":unknown operator " ++ show opr) >  where >    doFix al pl ar pr a opl b opr c  >          | pr > pl = mkOp False opl (fixFix' ops a) (fixFix' ops (mkOp False opr b c))@@ -1120,7 +1164,7 @@ >                    = fixFix ops $ mkOp False opr (mkOp True opl a b) c >          | pr == pl && al == RightAssoc && ar == RightAssoc >                    = fixFix ops $ mkOp False opl a (mkOp True opr b c)->          | otherwise = RError $ file ++ ":" ++ show line ++ ":ambiguous operators, please add brackets"+>          | otherwise = RError file line $ ":ambiguous operators, please add brackets"  >    mkOp t op l r = RUserInfix file line t op l r 
Idris/Compiler.lhs view
@@ -1,5 +1,3 @@-> {-# OPTIONS_GHC -fglasgow-exts #-}- > module Idris.Compiler(comp, addTransforms) where  > import Idris.AbsSyntax@@ -151,6 +149,7 @@ > quotename [] = "" > quotename ('[':cs) = "_OB_"++quotename cs > quotename (']':cs) = "_CB_"++quotename cs+> quotename ('.':cs) = "_NS_"++quotename cs > quotename (c:cs) = c:(quotename cs)  > writeDef :: Handle -> Bool -> (Name, Bool, SCFun) -> IO ()@@ -158,7 +157,7 @@ >   when (gen || elem SCInline scopts) $ hPutStr h "%inline " >   when (elem SCStrict scopts) $ hPutStr h "%strict " >   maybe (return ()) (\ c -> hPutStrLn h ("export " ++ show c ++ " ")) (getEName scopts)->   hPutStrLn h (show n ++ " (" ++ list args ++ ") -> Any = \n" +++>   hPutStrLn h (quotename (show n) ++ " (" ++ list args ++ ") -> Any = \n" ++ >                writeSC n erasure def) >    where list [] = "" >          list [a] = quotename (show a) ++ " : Any"@@ -177,9 +176,9 @@ >   writeSC' (SVar n) = quotename (show n) >   writeSC' (SCon n i) = writeCon n i ++ "()" >   writeSC' (SApp (SCon n i) (fn:args:[]))->     | n == name "Foreign" = writeFCall fn erasure args fname+>     | n == ionamei "Foreign" = writeFCall fn erasure args fname >   writeSC' (SApp (SCon n i) (_:args))->     | n == name "WhileAcc" = writeCon n i ++ "(" ++ list args ++ ")"+>     | n == ionamei "WhileAcc" = writeCon n i ++ "(" ++ list args ++ ")" >   writeSC' (SApp (SCon n i) args) = writeCon n i ++ "(" ++ list args ++ ")"  Fork is a special case, because its argument needs to be evaluated lazily@@ -260,18 +259,18 @@  > writeCon :: Name -> Int -> String > writeCon n i->   | n == name "PutStr" = "__epic_putStr"->   | n == name "GetStr" = "__epic_readStr"->   | n == name "NewRef" = "__epic_newRef"->   | n == name "ReadRef" = "__epic_readRef"->   | n == name "WriteRef" = "__epic_writeRef"->   | n == name "NewLock" = "__epic_newLock"->   | n == name "DoLock" = "__epic_doLock"->   | n == name "DoUnlock" = "__epic_doUnlock"->   | n == name "Fork" = "__epic_fork"->   | n == name "Within" = "__epic_within"->   | n == name "While" = "%while"->   | n == name "WhileAcc" = "%while"+>   | n == ionamei "PutStr" = "__epic_putStr"+>   | n == ionamei "GetStr" = "__epic_readStr"+>   | n == ionamei "NewRef" = "__epic_newRef"+>   | n == ionamei "ReadRef" = "__epic_readRef"+>   | n == ionamei "WriteRef" = "__epic_writeRef"+>   | n == ionamei "NewLock" = "__epic_newLock"+>   | n == ionamei "DoLock" = "__epic_doLock"+>   | n == ionamei "DoUnlock" = "__epic_doUnlock"+>   | n == ionamei "Fork" = "__epic_fork"+>   | n == ionamei "Within" = "__epic_within"+>   | n == ionamei "While" = "%while"+>   | n == ionamei "WhileAcc" = "%while" >   | otherwise = "Con " ++ show i  > writeOp Concat l r = "__epic_append(" ++ l ++", " ++ r ++")"
Idris/ConTrans.lhs view
@@ -297,6 +297,7 @@ >            = getPlPos (filter (plArg args args' r') acc) ps ps' >      getPlPos acc (_:ps) (_:ps') >            = getPlPos acc ps ps'+>      getPlPos acc p p' = error $ "getPlPos : " ++ show (n,acc,p,p')  >      plArg args args' r' x  >            = x<length args && args!!x == Placeholder && recGuard x n r' (namesIn (args'!!x))
Idris/Context.lhs view
@@ -1,20 +1,42 @@ > module Idris.Context(Ctxt, Id(..), addEntry, ctxtLookup, ctxtLookupName,->                      ctxtAlist, newCtxt, appCtxt, alistCtxt) where+>                      ctxtAlist, newCtxt, appCtxt, alistCtxt, mkName,+>                      Err(..)) where  > import Data.List > import qualified Data.Map as Map+> import Control.Monad.Error++> import Data.Binary+> import Data.Typeable+> import Control.Monad+ > import Char  > import Debug.Trace -> data Id = UN String | MN String Int | NS Id Id+> data Id = UN String | MN String Int | NS [Id] Id -- NS is decorated name >    deriving (Eq, Ord)  > instance Show Id where >     show (UN s) = s >     show (MN s i) = "__" ++ s ++ "_" ++ show i->     show (NS ns n) = show ns ++ "." ++ show n+>     show (NS ns n) = showSep ns ++ show n+>       where showSep ns = concat (map ((++".").show) ns) +> instance Binary Id where+>     put (UN x) = do put (0 :: Word8)+>                     put x+>     put (MN x i) = do put (1 :: Word8)+>                       put x; put i+>     put (NS n i) = do put (2 :: Word8)+>                       put n; put i++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM UN get+>                1 -> liftM2 MN get get+>                2 -> liftM2 NS get get+ > type Dict k v = Map.Map k v  Lifted this lot out since I had to change for backwards compatibility. @@ -38,27 +60,123 @@  FIXME: Needs to be a map from names to all possibilities, which are then disambiguated. -> type Ctxt a = Dict (Maybe Id) [(Id, a)]+ type Ctxt a = Dict [Id] [(Id, a)] -> type Err = String+We keep a context as an alist *and* a Dict. This is because we want to retain+ordering, have multiple entries, append *and* have fast lookup. Rather than+have a cleverer data structure, this is an easy way. -> addEntry :: Ctxt a -> Maybe Id -> Id -> a -> Ctxt a+> data Ctxt a = Ctxt {+>                 alist :: [(Id, a)], -- for retaining ordering+>                 cdict :: Dict Id [(Id, a)] +>               }++> instance Binary a => Binary (Ctxt a) where+>     put (Ctxt a b) = do put a; put b+>     get = liftM2 Ctxt get get++> data Err = NoName Id+>          | Ambiguous Id [Id]+>          | WrongNamespace Id [Id]+>          | OtherErr String++> instance Show Err where+>     show (NoName n) = "No such name " ++ show n+>     show (Ambiguous n xs) = "Ambiguous name " ++ show n ++ " " ++ show xs +>     show (WrongNamespace n ns) = show n ++ " not defined in namespace " ++ show (NS ns (UN ""))++> instance Error Err where+>     noMsg = OtherErr "Unknown error"+>     strMsg s = OtherErr s++All operations are passed a [Id], which is the namespace we are currently in.+[] is the outermost namespace. ++> mkName :: [Id] -> Id -> Id+> mkName [] name = name+> mkName ns name@(NS ns' x) = name+> mkName ns x = NS ns x++> lastName :: Id -> Id+> lastName (NS ns i) = lastName i+> lastName x = x++> globalNS :: Id -> Bool+> globalNS (NS [] _) = True+> globalNS (NS _ _) = False+> globalNS _ = True++> currentNS :: [Id] -> Id -> Bool+> currentNS ns (NS ns' _) = ns == ns'+> currentNS _ _ = True -- used as a global name, okay if not ambiguous++> getNS :: Id -> [Id]+> getNS (NS n _) = n+> getNS x = [x]++> addToD :: Dict Id [(Id,a)] -> Id -> a -> Dict Id [(Id, a)]+> addToD d n v = case dictLookup (lastName n) d of+>                  Nothing -> dictInsert (lastName n) [(n,v)] d+>                  Just nvs -> case lookup n nvs of+>                     Nothing -> dictInsert (lastName n) ((n,v):nvs) d+>                     Just _ -> dictInsert (lastName n) ((n,v):(dropN n nvs)) d+>   where dropN n [] = []+>         dropN n ((n',v):xs) | n == n' = xs+>                             | otherwise = (n',v):(dropN n xs)++If the root of the given name n appears multiple times in the dictionary,+then only return a value if it's an exact match, otherwise issue an +ambiguous name error++> lookupD :: Dict Id [(Id,a)] -> [Id] -> Id -> Either Err (a, Id) +> lookupD d ns n = case dictLookup (lastName n) d of+>                 Nothing -> Left (NoName n)+>                 Just [] -> Left (NoName n)+>                 Just [(n',v)] -> if (n==n' || currentNS ns n) then Right (v, n')+>                                    else Left (WrongNamespace (lastName n)+>                                                              (getNS n))+>                 Just xs -> case lookup n xs of+>                              Just v -> Right (v, n)+>                              Nothing -> Left (Ambiguous n (map fst xs))++> addEntry :: Ctxt a -> [Id] -> Id -> a -> Ctxt a+> addEntry (Ctxt ca cd) ns name val +>    = let name' = mkName ns name in+>          Ctxt ((name', val):ca) (addToD cd name' val)++> ctxtLookupName :: (Show a) => Ctxt a -> [Id] -> Id -> Either Err (a, Id)+> ctxtLookupName (Ctxt _ d) ns n = lookupD d ns (mkName ns n)++> ctxtLookup :: (Show a) => Ctxt a -> [Id] -> Id -> Either Err a+> ctxtLookup ctxt namespace k = case ctxtLookupName ctxt namespace k of+>                                 Right (x, k) -> Right x+>                                 Left err -> Left err++> ctxtAlist :: Ctxt a -> [(Id,a)]+> ctxtAlist (Ctxt ca _) = reverse ca++> alistCtxt :: [(Id, a)] -> Ctxt a+> alistCtxt a = Ctxt a (mkD dictEmpty a) where+>     mkD acc [] = acc+>     mkD acc ((n,v):ns) = mkD (addToD acc n v) ns++> newCtxt = Ctxt [] dictEmpty++> appCtxt :: Ctxt a -> Ctxt a -> Ctxt a+> appCtxt (Ctxt l _)  (Ctxt r _) = alistCtxt (l++r)+++> {-+> addEntry :: Ctxt a -> [Id] -> Id -> a -> Ctxt a > addEntry ctxt using k v = let vs = cnames using ctxt in >                               dictInsert using ((k,v):vs) ctxt  If name is fully qualified, just look in the right namespace. Otherwise, first look in current namespace, then in global namespace. -> ctxtLookupName :: (Show a) => Ctxt a -> Maybe Id -> Id -> Either Err (a, Id)-> ctxtLookupName ctxt namespace (NS ns k) = undefined -- not implemented yet-> ctxtLookupName ctxt Nothing k->         = case lookup k (cnames Nothing ctxt) of->                    Just v -> Right (v, k)->                    _ -> Left "No such var"-> ctxtLookupName ctxt ns@(Just namespace) k->         = case lookup k (cnames ns ctxt) of->             Just v -> Right (v, NS namespace k)->             _ -> case lookup k (cnames Nothing ctxt) of+> ctxtLookupName :: (Show a) => Ctxt a -> [Id] -> Id -> Either Err (a, Id)+> ctxtLookupName ctxt [] k+>         = case lookup k (cnames [] ctxt) of >                    Just v -> Right (v, k) >                    _ -> Left "No such var" @@ -66,7 +184,7 @@ >                      Just vs -> vs >                      _ -> [] -> ctxtLookup :: (Show a) => Ctxt a -> Maybe Id -> Id -> Either Err a+> ctxtLookup :: (Show a) => Ctxt a -> [Id] -> Id -> Either Err a > ctxtLookup ctxt namespace k = case ctxtLookupName ctxt namespace k of >                                 Right (x, k) -> Right x >                                 Left err -> Left err@@ -76,7 +194,7 @@  > alistCtxt :: [(Id, a)] -> Ctxt a > alistCtxt [] = newCtxt-> alistCtxt ((x,y):xs) = addEntry (alistCtxt xs) Nothing x y+> alistCtxt ((x,y):xs) = addEntry (alistCtxt xs) [] x y  > newCtxt = dictEmpty @@ -85,6 +203,7 @@ >   where app' [] = dictEmpty >         app' (n:ns) = let bothnames = (cnames n xs ++ cnames n ys) in >                           dictInsert n bothnames (app' ns)+> -}  We need to keep insertion order, because when we add to ivor, we'd better insert them in dependency order.
Idris/LambdaLift.lhs view
@@ -202,7 +202,7 @@  > scFun :: Context -> IdrisState -> Id -> [Name] -> SimpleCase -> SCFun > scFun ctxt ist fn args lifted = SCFun mkOpts args (toSC ctxt ist lifted)->    where mkOpts' = do ifn <- ctxtLookup (idris_context ist) Nothing fn+>    where mkOpts' = do ifn <- ctxtLookup (idris_context ist) [] fn >                       let decl = rawDecl ifn >                       let opts = if (null (lazyArgs ifn))  >                                    then [SCStrict] else []@@ -280,7 +280,7 @@  > scapply ist (SVar n) args >         = let raw = idris_context ist in->           case ctxtLookup raw Nothing (fromIvorName n) of+>           case ctxtLookup raw [] (fromIvorName n) of >             Left _ -> SApp (SVar n) args >             Right ifn -> let ia = implicitArgs ifn >                              lz = lazyArgs ifn @@ -288,7 +288,7 @@ >                              SApp (SVar n) args' > scapply ist (SCon n i) args >         = let raw = idris_context ist in->           case ctxtLookup raw Nothing (fromIvorName n) of+>           case ctxtLookup raw [] (fromIvorName n) of >             Left _ -> SApp (SCon n i) args >             Right ifn -> let ia = implicitArgs ifn >                              lz = lazyArgs ifn 
Idris/Latex.lhs view
@@ -12,7 +12,7 @@ >                      _ -> latexDefs ds  > latexDump :: Ctxt IvorFun -> [(Id,String)] -> Id -> IO ()-> latexDump ctxt defs nm = case ctxtLookup ctxt Nothing nm of+> latexDump ctxt defs nm = case ctxtLookup ctxt [] nm of >                            Right fn -> putStrLn $ latex ctxt defs fn >                            Left _ -> do putStrLn "No such name" >                                         return ()@@ -24,13 +24,13 @@ >     latex ctxt defs n  >         = case lookup n (defs++ldefs) of >             Just l -> l->             Nothing -> case ctxtLookup ctxt Nothing n of+>             Nothing -> case ctxtLookup ctxt [] n of >                          Right (IvorFun _ _ _ _ d _ _) -> ty d (show n) >                          Left _ -> "\\VV{" ++ show n ++ "}" >         where ty (DataDecl _) n = "\\TC{" ++ n ++ "}"           >               ty Constructor n = "\\DC{" ++ n ++ "}" >               ty _ n = "\\FN{" ++ n ++ "}"->               ldefs = case ctxtLookup ctxt Nothing (MN "latex" 0) of+>               ldefs = case ctxtLookup ctxt [] (MN "latex" 0) of >                         Right (IvorFun _ _ _ _ (LatexDefs ds) _ _) -> ds >                         Left _ -> [] 
Idris/Lexer.hs view
@@ -51,6 +51,7 @@  data Token       = TokenName Id+      | TokenNSep       | TokenInfixName String       | TokenBrackName Id       | TokenString String@@ -126,6 +127,9 @@       | TokenInclude       | TokenModule       | TokenNamespace+      | TokenPublic+      | TokenPrivate+      | TokenAbstract       | TokenImport       | TokenExport       | TokenInline@@ -258,7 +262,7 @@           failP (fn++":"++show line++":Unterminated character constant")                        cs fn line ops -isAllowed c = isAlpha c || isDigit c || c `elem` "_\'?#"+isAllowed c = isAlpha c || isDigit c || c `elem` "_\'?#."  lexVar cont cs =    case span isAllowed cs of@@ -269,6 +273,9 @@       ("idiom",rest) -> cont TokenIdiom rest       ("params",rest) -> cont TokenParams rest       ("namespace",rest) -> cont TokenNamespace rest+      ("public",rest) -> cont TokenPublic rest+      ("private",rest) -> cont TokenPrivate rest+      ("abstract",rest) -> cont TokenAbstract rest       ("module",rest) -> cont TokenModule rest       ("import",rest) -> cont TokenImport rest       ("export",rest) -> cont TokenExport rest@@ -390,7 +397,16 @@       (thing,rest) -> cont (TokenMetavar (UN thing)) rest  mkname :: String -> Token-mkname c = TokenName (UN c)+mkname c = TokenName (mkNS c)++mkNS c = let xs = mkNS' [] [] c in+            case xs of+              [x] -> UN x+              (x:xs) -> NS (map UN (reverse xs)) (UN x)+ where+  mkNS' acc wds [] = reverse acc:wds+  mkNS' acc wds ('.':cs) = mkNS' [] (reverse acc:wds) cs+  mkNS' acc wds (c:cs) = mkNS' (c:acc) wds cs  getstr :: String -> Maybe (String,String,Int) getstr cs = case getstr' "" cs 0 of
Idris/MakeTerm.lhs view
@@ -22,7 +22,7 @@ >           extCtxt = addEntry ctxt (thisNamespace using) n (IvorFun Nothing (Just ity)  >                                       imp Nothing decl flags (getLazy ty)) >           pclauses = map (mkPat extCtxt imp) clauses in->       IvorFun (Just (toIvorName n)) +>       IvorFun (Just (toIvorName (fullName using n)))  >                   (Just (Annotation (FileLoc file line) ity)) imp  >                   (Just (PattDef (Patterns pclauses))) decl flags (getLazy ty) >   where mkPat ectx imp (id,(RawClause lhs rhs)) @@ -59,26 +59,33 @@ > mif opt ctxt acc using' ui uo ((Params newps decls):ds) >         = let (acc', uo') = (mif opt ctxt acc (addParams using' newps) ui uo decls) in >               mif opt ctxt acc' using' ui uo' ds+> mif opt ctxt acc using' ui uo ((Namespace n decls):ds)+>         = let (acc', uo') = (mif opt ctxt acc (addNS using' n) ui uo decls) in+>               mif opt ctxt acc' using' ui uo' ds > mif opt ctxt acc using ui@(UI _ _ _ _ p pi r ri) uo ((DoUsing bind ret decls):ds) >         = let (acc', uo') = (mif opt ctxt acc using ui' uo decls) in >              mif opt ctxt acc' using ui uo' ds->    where ui' = let bimpl = case ctxtLookup (appCtxt ctxt acc) (thisNamespace using) bind of->                              Right i -> implicitArgs i->                              _ -> error $ "Can't find " ++ show bind -- 0->                    rimpl = case ctxtLookup (appCtxt ctxt acc) (thisNamespace using) ret of->                              Right i -> implicitArgs i->                              _ -> error $ "Can't find " ++ show ret -- 0->                     in UI bind bimpl ret rimpl p pi r ri+>    where ui' = let (bimpl, bfull) +>                       = case ctxtLookupName (appCtxt ctxt acc) (thisNamespace using) bind of+>                              Right (i, bfull) -> (implicitArgs i, bfull)+>                              Left err -> error (show err)+>                    (rimpl, rfull)+>                       = case ctxtLookupName (appCtxt ctxt acc) (thisNamespace using) ret of+>                              Right (i, rfull) -> (implicitArgs i, rfull)+>                              Left err -> error (show err)+>                     in UI bfull bimpl rfull rimpl p pi r ri > mif opt ctxt acc using ui@(UI b bi r ri _ _ _ _) uo ((Idiom pure ap decls):ds) >         = let (acc', uo') = (mif opt ctxt acc using ui' uo decls) in >             mif opt ctxt acc' using ui uo' ds->    where ui' = let pureImpl = case ctxtLookup (appCtxt ctxt acc) (thisNamespace using) pure of->                              Right i -> implicitArgs i->                              _ -> 0->                    apImpl = case ctxtLookup (appCtxt ctxt acc) (thisNamespace using) ap of->                              Right i -> implicitArgs i->                              _ -> 0->                     in UI b bi r ri pure pureImpl ap apImpl+>    where ui' = let (pureImpl, pfull) +>                      = case ctxtLookupName (appCtxt ctxt acc) (thisNamespace using) pure of+>                              Right (i, pfull) -> (implicitArgs i, pfull)+>                              Left err -> error (show err)+>                    (apImpl, afull) +>                      = case ctxtLookupName (appCtxt ctxt acc) (thisNamespace using) ap of+>                              Right (i, afull) -> (implicitArgs i, afull)+>                              Left err -> error (show err)+>                     in UI b bi r ri pfull pureImpl afull apImpl > mif opt ctxt acc using' ui uo (decl@(Fun f flags):ds)  >         = let using = addParamName using' (funId f) >               fn = makeIvorFun using ui uo (appCtxt ctxt acc) decl f flags in@@ -89,7 +96,7 @@ >            (rty, imp) = addImplWith using (appCtxt ctxt acc) ty >            ity = makeIvorTerm using ui uo n (appCtxt ctxt acc) rty in >            mif opt ctxt (addEntry acc (thisNamespace using) n ->                         (IvorFun (Just (toIvorName n)) +>                         (IvorFun (Just (toIvorName (fullName using n)))  >                            (Just (Annotation (FileLoc file line) ity)) >                              imp (Just Later) decl flags (getLazy ty))) using ui uo ds > mif opt ctxt acc using' ui uo (decl@(DataDecl d):ds) @@ -100,7 +107,7 @@ >         = let (itmraw, imp) = addImplWith using (appCtxt ctxt acc) tm >               itm = makeIvorTerm using ui uo n (appCtxt ctxt acc) itmraw in >               mif opt ctxt (addEntry acc (thisNamespace using) n ->                   (IvorFun (Just (toIvorName n)) Nothing imp +>                   (IvorFun (Just (toIvorName (fullName using n))) Nothing imp  >                            (Just (SimpleDef itm)) decl flags [])) using ui uo ds >     | otherwise = let (f,l) = getFileLine tm in >                       mif opt ctxt (addEntry acc (thisNamespace using) n @@ -137,11 +144,11 @@ >          Left _ -> -- add the script and process the type later, should >                    -- be a metavariable >             mif opt ctxt (addEntry acc (thisNamespace using) n->               (IvorFun (Just (toIvorName n)) Nothing 0 (Just (IProof scr)) decl [] [])) +>               (IvorFun (Just (toIvorName (fullName using n))) Nothing 0 (Just (IProof scr)) decl [] []))  >                  using ui uo ds >          Right (IvorFun _ (Just ty) imp _ _ _ _) ->  >             mif opt ctxt (addEntry acc (thisNamespace using) n->               (IvorFun (Just (toIvorName n)) (Just ty) imp (Just (IProof scr)) decl [] []))+>               (IvorFun (Just (toIvorName (fullName using n))) (Just ty) imp (Just (IProof scr)) decl [] [])) >                   using ui uo ds  Just pass these on to epic to do the right thing@@ -164,17 +171,17 @@ >     let (tyraw, imp) = addImplWith using (appCtxt ctxt acc) tty >         tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo tid (appCtxt ctxt acc) tyraw  >         acc' = addEntry acc (thisNamespace using) tid ->                   (IvorFun (Just (toIvorName tid)) (Just tytm) imp (Just LataDef) decl [] []) in+>                   (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp (Just LataDef) decl [] []) in >         mif opt ctxt acc' using ui uo ds > addDataEntries opt ctxt acc decl (Datatype tid tty cons u e f l) using ui uo ds =  >     let (tyraw, imp) = addImplWith using (appCtxt ctxt acc) tty >         tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo tid (appCtxt ctxt acc) tyraw >         acctmp = addEntry (appCtxt ctxt acc) (thisNamespace using) tid ->                     (IvorFun (Just (toIvorName tid)) (Just tytm) imp Nothing decl [] [])+>                     (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp Nothing decl [] []) >         ddef = makeInductive acctmp tid (getBinders tytm []) cons  >                    (addUsing using (Imp u [] [] (thisNamespace using))) ui uo [] >         acc' = addEntry acc (thisNamespace using) tid ->                   (IvorFun (Just (toIvorName tid)) (Just tytm) imp +>                   (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp  >                              (Just (DataDef ddef (not (elem NoElim e)))) decl [] []) in >         addConEntries opt ctxt acc' cons u using ui uo ds f l @@ -184,12 +191,12 @@ >                  [(Id,RawTerm)] -> Implicit -> >                  UndoInfo -> UserOps -> [(Name, ViewTerm)] -> Inductive > makeInductive ctxt tid (indices, tty) [] using ui uo acc->        = Inductive (toIvorName tid) [] indices tty (reverse acc)+>        = Inductive (toIvorName (fullName using tid)) [] indices tty (reverse acc) > makeInductive ctxt cdec indices ((cid, cty):cs) using ui uo acc >        = let (tyraw, imp) = addImplWith using ctxt cty >              tytm = makeIvorTerm using ui uo cdec ctxt tyraw in >              makeInductive ctxt cdec->                            indices cs using ui uo (((toIvorName cid),tytm):acc)+>                            indices cs using ui uo (((toIvorName (fullName using cid)),tytm):acc)  Examine an inductive definition; any index position which does not change across the structure becomes a parameter.@@ -263,7 +270,7 @@ >           (tyraw, imp) = addImplWith (addUsing (Imp u [] [] (thisNamespace using)) using) (appCtxt ctxt acc) ty >           tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo cid (appCtxt ctxt acc) tyraw >           acc' = addEntry acc (thisNamespace using) cid ->                      (IvorFun (Just (toIvorName cid)) (Just tytm) (imp+length (params using')) (Just IDataCon) Constructor [] (getLazy ty)) in+>                      (IvorFun (Just (toIvorName (fullName using cid))) (Just tytm) (imp+length (params using')) (Just IDataCon) Constructor [] (getLazy ty)) in >           addConEntries opt ctxt acc' cs u using ui uo ds f l  Add definitions to the Ivor Context. Return the new context and a list
Idris/PMComp.lhs view
@@ -342,8 +342,8 @@ > deIO erase t = deIO' t where  >  deIO' (App (App (App (App (Name _ bind) _) _) v) k)->      | bind == (name "bind") || ->        bind == (name "ibind") || bind == (name "ibinda")+>      | bind == bindNamei || +>        bind == ibindNamei >           = do i <- get >                put (i+1) >                v' <- deIO' v@@ -357,16 +357,16 @@ >                return $ Let (bname i) Star -- type irrelevant >                             v (quickSimpl (App k (Name Unknown (bname i)))) >  deIO' (App (App (Name _ ret) _) a) -- (without forcing)->      | (not erase) && ret == (name "IOReturn") = deIO' a+>      | (not erase) && ret == ioretNamei = deIO' a >  deIO' (App (Name _ ret) a) -- (with forcing)->      | erase && ret == (name "IOReturn") = deIO' a+>      | erase && ret == ioretNamei = deIO' a >  deIO' (App (App (Name _ upio) _) a) >      | upio == (name "unsafePerformIO") = deIO' a >  deIO' (App (App (Name _ iolift) _) io)->      | iolift == (name "IOLift")  -- Just skip this+>      | iolift == ioliftNamei  -- Just skip this >         = deIO' io >  deIO' (App (App (App (Name _ iodo) _) c) k) -- (without forcing)->      | (not erase) && iodo == (name "IODo") +>      | (not erase) && iodo == iodoNamei >         = do k' <- deIO' k >              c' <- deIO' c >              i <- get@@ -375,7 +375,7 @@ >                         (App (App (Name Unknown (name "__effect")) Placeholder) c') >                            (quickSimpl (App k' (Name Unknown (bname i)))) >  deIO' (App (App (Name _ iodo) c) k) -- (with forcing)->      | erase && iodo == (name "IODo") +>      | erase && iodo == iodoNamei >         = do k' <- deIO' k >              c' <- deIO' c >              i <- get
Idris/Parser.y view
@@ -94,6 +94,10 @@       using           { TokenUsing }       idiom           { TokenIdiom }       params          { TokenParams }+      namespace       { TokenNamespace }+      public          { TokenPublic }+      private         { TokenPrivate }+      abstract        { TokenAbstract }       noelim          { TokenNoElim }       collapsible     { TokenCollapsible }       where           { TokenWhere }@@ -195,6 +199,7 @@            | DoUsing '{' Program '}' { PDoUsing $1 $3 }             | Idiom '{' Program '}' { PIdiom $1 $3 }            | Params '{' Program '}' { PParams $1 $3 }+           | Namespace '{' Program '}' { PNamespace $1 $3 }            | Transform { RealDecl $1 }            | syntax Name NamesS '=' Term ';' { PSyntax $2 $3 $5 }            | cinclude string { RealDecl (CInclude $2) }@@ -219,6 +224,12 @@          | '|' WithTerm WithP Term '{' Functions '}'               { WithClause RPlaceholder [$2] $3 $4 $6 } +Visibility :: { CGFlag }+Visibility : public { Vis Public }+           | private { Vis Private }+           | abstract { Vis Abstract }+           | { Vis Public }+ WithP :: { Bool } WithP : with { False }       | with proof { True }@@ -238,9 +249,13 @@           | Function { [$1] }  Flags :: { [CGFlag] }-Flags : { [] }-      | Flag Flags { $1 ++ $2 }+Flags : FlagList { $1 }+      | '[' FlagList ']' { $2 } +FlagList :: { [CGFlag] }+FlagList : { [] }+      | Flag FlagList { $1 ++ $2 }+ Flag :: { [CGFlag] } Flag : nocg { [NoCG] }      | eval { [CGEval, Inline] }@@ -589,6 +604,9 @@ Params :: { [(Id, RawTerm)] }        : params '(' UseList ')' { $3 } +Namespace :: { Id }+          : namespace Name { $2 }+ UseList :: { [(Id, RawTerm)] }         : Name ':' Type { [($1, $3)] }         | Name ':' Type ',' UseList { ($1,$3):$5 }@@ -685,6 +703,9 @@         pi imps decls ((Idiom b r ds):xs)             = do (ds',imps') <- pi imps [] ds                  pi imps' (decls++[Idiom b r ds']) xs+        pi imps decls ((Namespace n ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Namespace n ds']) xs         pi imps decls (x:xs) = pi imps (decls++[x]) xs         pi imps decls [] = return (decls, imps) 
+ Idris/Serialise.lhs view
@@ -0,0 +1,382 @@+> {-# OPTIONS_GHC -fglasgow-exts #-}++Binary instances for idris data structures, and saving and loading +typechecked forms to disk.++> module Idris.Serialise where++> import Idris.AbsSyntax+> import Idris.ConTrans+> import Ivor.ViewTerm+> import Ivor.TT++> import Data.Binary+> import Data.Typeable+> import Control.Monad++> instance Binary ViewTerm where+>     put (Name t x) = do put (0 :: Word8)+>                         put t; put x+>     put (App f a) = do put (1 :: Word8)+>                        put f; put a+>     put (Lambda v ty sc) = do put (2 :: Word8)+>                               put v; put ty; put sc+>     put (Forall v ty sc) = do put (3 :: Word8)+>                               put v; put ty; put sc+>     put (Let n v ty sc) = do put (4 :: Word8)+>                              put n; put v; put ty; put sc+>     put Star = put (5 :: Word8)+>     put Placeholder = put (6 :: Word8)+>     put (Annotation a t) = do put (7 :: Word8)+>                               put a; put t+>     put (Metavar m) = do put (8 :: Word8)+>                          put m+>     put (Constant c) = case cast c :: Maybe String of+>                          Just v -> do put (9 :: Word8)+>                                       put v+>                          Nothing -> case cast c :: Maybe Int of+>                            Just v -> do put (10 :: Word8)+>                                         put v+>                            Nothing -> fail "Unknown constant type"++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM2 Name get get+>                1 -> liftM2 App get get+>                2 -> liftM3 Lambda get get get+>                3 -> liftM3 Forall get get get+>                4 -> liftM4 Let get get get get+>                5 -> return Star+>                6 -> return Placeholder+>                7 -> liftM2 Annotation get get+>                8 -> liftM Metavar get+>                9 -> do s <- get+>                        return (Constant (s :: String))+>                10 -> do i <- get+>                         return (Constant (i :: Int))+++> instance Binary RBinder where+>     put (Pi p l r) = do put (0 :: Word8)+>                         put p; put l; put r+>     put (Lam t) = do put (1 :: Word8); put t+>     put (RLet t ty) = do put (2 :: Word8); put t; put ty++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM3 Pi get get get+>                1 -> liftM Lam get+>                2 -> liftM2 RLet get get++> instance Binary Op where+>     put x = put (fromEnum x)+>     get = do t <- get+>              return (toEnum t)++> instance Binary Plicit where+>     put x = put (fromEnum x)+>     get = do t <- get+>              return (toEnum t)++> instance Binary Fixity where+>     put x = put (fromEnum x)+>     get = do t <- get+>              return (toEnum t)++> instance Binary Opt where+>     put x = put (fromEnum x)+>     get = do t <- get+>              return (toEnum t)++> instance Binary TyOpt where+>     put x = put (fromEnum x)+>     get = do t <- get+>              return (toEnum t)++> instance Binary Laziness where+>     put x = put (fromEnum x)+>     get = do t <- get+>              return (toEnum t)++> instance Binary Do where+>     put (DoBinding f l i t y) = do put (0 :: Word8)+>                                    put f; put l; put i; put t; put y+>     put (DoLet a b c d e) = do put (1 :: Word8)+>                                put a; put b; put c; put d; put e+>     put (DoExp a b c) = do put (2 :: Word8); put a; put b; put c++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM5 DoBinding get get get get get+>                1 -> liftM5 DoLet get get get get get+>                2 -> liftM3 DoExp get get get++> instance Binary RawTerm where+>     put (RVar a b c) = do put (0 :: Word8); put a; put b; put c+>     put (RExpVar a b c) = do put (1 :: Word8); put a; put b; put c+>     put (RApp a b c d) = do put (2 :: Word8); put a; put b; put c; put d+>     put (RAppImp a b c d e) +>        = do put (3 :: Word8); put a; put b; put c; put d; put e+>     put (RBind a b c) = do put (4 :: Word8); put a; put b; put c+>     put (RConst a b c) = do put (5 :: Word8); put a; put b; put c+>     put RPlaceholder = put (6 :: Word8)+>     put (RMetavar i) = do put (7 :: Word8); put i+>     put (RInfix a b c d e) +>        = do put (8 :: Word8); put a; put b; put c; put d; put e+>     put (RUserInfix a b c d e f) +>        = do put (9 :: Word8); put a; put b; put c; put d; put e; put f+>     put (RDo xs) = do put (10 :: Word8); put xs+>     put (RReturn a b) = do put (11 :: Word8); put a; put b+>     put (RIdiom i) = do put (12 :: Word8); put i+>     put (RPure i) = do put (13 :: Word8); put i+>     put RRefl = do put (14 :: Word8)+>     put (RError f l i) = do put (15 :: Word8); put f; put l; put i++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM3 RVar get get get+>                1 -> liftM3 RExpVar get get get+>                2 -> liftM4 RApp get get get get+>                3 -> liftM5 RAppImp get get get get get+>                4 -> liftM3 RBind get get get+>                5 -> liftM3 RConst get get get+>                6 -> return RPlaceholder+>                7 -> liftM RMetavar get+>                8 -> liftM5 RInfix get get get get get+>                9 -> do a <- get; b <- get; c <- get; d <- get; e <- get;+>                        f <- get;+>                        return $ RUserInfix a b c d e f+>                10 -> liftM RDo get+>                11 -> liftM2 RReturn get get+>                12 -> liftM RIdiom get+>                13 -> liftM RPure get+>                14 -> return RRefl+>                15 -> liftM3 RError get get get++> instance Binary Constant where+>     put (Num i) = do put (0 :: Word8); put i+>     put (Str i) = do put (1 :: Word8); put i+>     put (Bo b) = do put (2 :: Word8); put b+>     put (Ch c) = do put (3 :: Word8); put c+>     put (Fl f) = do put (4 :: Word8); put f+>     put TYPE = put (5 :: Word8)+>     put StringType = put (6 :: Word8)+>     put IntType = put (7 :: Word8)+>     put FloatType = put (8 :: Word8)+>     put CharType = put (9 :: Word8)+>     put PtrType = put (10 :: Word8)+>     put (Builtin i) = do put (11 :: Word8); put i++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM Num get+>                1 -> liftM Str get+>                2 -> liftM Bo get+>                3 -> liftM Ch get+>                4 -> liftM Fl get+>                5 -> return TYPE+>                6 -> return StringType+>                7 -> return IntType+>                8 -> return FloatType+>                9 -> return CharType+>                10 -> return PtrType+>                11 -> liftM Builtin get++> instance Binary TransData where+>     put (Force a b c d e f) = do put (0 :: Word8)+>                                  put a; put b; put c; put d; put e; put f+>     put (Collapse a b c d) = do put (1 :: Word8)+>                                 put a; put b; put c; put d+>     put (Drop a b c d) = do put (2 :: Word8)+>                             put a; put b; put c; put d+>     get = do tag <- getWord8+>              case tag of+>                0 -> do a <- get; b <- get; c <- get; d <- get;+>                        e <- get; f <- get;+>                        return (Force a b c d e f)+>                1 -> liftM4 Collapse get get get get+>                2 -> liftM4 Drop get get get get++> instance Binary Transform where+>     put (Trans n _ a) = do put n; put a+>     get = do n <- get; a <- get+>              let trans = case a of+>                            Nothing -> Nothing+>                            Just a' -> Just (rebuildTrans a')+>              return (Trans n trans a)++> instance Binary UserOps where+>     put (UO ds ts f) = do put ds; put ts; put f+>     get = do ds <- get; ts <- get; f <- get;+>              return (UO ds ts f)++> instance Binary IvorFun where+>     put (IvorFun a b c d e f g) = +>         do put a; put b; put c; put d; put e; put f; put g;+>     get = do a <- get; b <- get; c <- get; d <- get; e <- get; f <- get; g <- get+>              return (IvorFun a b c d e f g)++> instance Binary CGFlag where+>     put NoCG = put (0 :: Word8)+>     put CGEval = put (1 :: Word8)+>     put (CExport s) = do put (2 :: Word8); put s+>     put Inline = put (3 :: Word8)+>     put (CGSpec x) = do put (4 :: Word8); put x++>     get = do tag <- getWord8+>              case tag of+>                0 -> return NoCG+>                1 -> return CGEval+>                2 -> liftM CExport get+>                3 -> return Inline+>                4 -> liftM CGSpec get++> instance Binary Decl where+>     put (DataDecl d) = do put (0 :: Word8); put d+>     put (Fwd a b c) = do put (1 :: Word8); put a; put b; put c+>     put (Fun a b) = do put (2 :: Word8); put a; put b+>     put (TermDef a b c) = do put (3 :: Word8); put a; put b; put c+>     put Constructor = put (4 :: Word8)+>     put (Prf d) = do put (5 :: Word8); put d+>     put (LatexDefs d) = do put (6 :: Word8); put d+>     put (Using a b) = do put (7 :: Word8); put a; put b+>     put (Params a b) = do put (8 :: Word8); put a; put b+>     put (DoUsing a b c) = do put (9 :: Word8); put a; put b; put c+>     put (Idiom a b c) = do put (10 :: Word8); put a; put b; put c+>     put (CLib d) = do put (11 :: Word8); put d+>     put (CInclude d) = do put (12 :: Word8); put d+>     put (Fixity a b c) = do put (13 :: Word8); put a; put b; put c+>     put (Transform a b) = do put (14 :: Word8); put a; put b+>     put (Freeze a) = do put (15 :: Word8); put a++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM DataDecl get+>                1 -> liftM3 Fwd get get get+>                2 -> liftM2 Fun get get+>                3 -> liftM3 TermDef get get get+>                4 -> return Constructor+>                5 -> liftM Prf get+>                6 -> liftM LatexDefs get+>                7 -> liftM2 Using get get+>                8 -> liftM2 Params get get+>                9 -> liftM3 DoUsing get get get+>                10 -> liftM3 Idiom get get get+>                11 -> liftM CLib get+>                12 -> liftM CInclude get+>                13 -> liftM3 Fixity get get get+>                14 -> liftM2 Transform get get+>                15 -> liftM Freeze get++> instance Binary Datatype where+>     put (Datatype a b c d e f g) = do put (0 :: Word8)+>                                       put a; put b; put c; put d; put e;+>                                       put f; put g;+>     put (Latatype a b c d) = do put (1 :: Word8)+>                                 put a; put b; put c; put d+>     get = do tag <- getWord8+>              case tag of+>                0 -> do a <- get; b <- get; c <- get; d <- get;+>                        e <- get; f <- get; g <- get;+>                        return (Datatype a b c d e f g)+>                1 -> liftM4 Latatype get get get get++> instance Binary Function where+>     put (Function a b c d e) = do put a; put b; put c; put d; put e+>     get = liftM5 Function get get get get get++> instance Binary Proof where+>     put (Proof a b c) = do put a; put b; put c+>     get = liftM3 Proof get get get++> instance Binary RawClause where+>     put (RawClause a b) = do put (0 :: Word8); put a; put b+>     put (RawWithClause a b c d) = do put (0 :: Word8); put a; put b; put c; put d+>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM2 RawClause get get+>                1 -> liftM4 RawWithClause get get get get++> instance Binary Patterns where+>     put (Patterns p) = put p+>     get = liftM Patterns get++> instance Binary PClause where+>     put (PClause a b c) = do put (0 :: Word8); put a; put b; put c+>     put (PWithClause a b c d) = do put (0 :: Word8); put a; put b; put c; put d+>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM3 PClause get get get+>                1 -> liftM4 PWithClause get get get get++> instance Binary Inductive where+>     put (Inductive a b c d e) = do put a; put b; put c; put d; put e+>     get = liftM5 Inductive get get get get get++> instance Binary ITactic where+>     put (Intro a) = do put (0 :: Word8); put a+>     put (Refine a) = do put (1 :: Word8); put a+>     put (Generalise a) = do put (2 :: Word8); put a+>     put ReflP = put (3 :: Word8)+>     put (Induction a) = do put (4 :: Word8); put a+>     put (Fill a) = do put (5 :: Word8); put a+>     put Trivial = put (6 :: Word8)+>     put (Idris.AbsSyntax.Case a) = do put (7 :: Word8); put a+>     put (Rewrite a b c) = do put (8 :: Word8); put a; put b; put c+>     put (Unfold a) = do put (9 :: Word8); put a+>     put Compute = put (10 :: Word8)+>     put (Equiv a) = do put (11 :: Word8); put a+>     put (Believe a) = do put (12 :: Word8); put a+>     put (Use a) = do put (13 :: Word8); put a+>     put (Decide a) = do put (14 :: Word8); put a+>     put (RunTactic a) = do put (15 :: Word8); put a+>     put Qed = put (16 :: Word8)++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM Intro get+>                1 -> liftM Refine get+>                2 -> liftM Generalise get+>                3 -> return ReflP+>                4 -> liftM Induction get+>                5 -> liftM Fill get+>                6 -> return Trivial+>                7 -> liftM Idris.AbsSyntax.Case get+>                8 -> liftM3 Rewrite get get get+>                9 -> liftM Unfold get+>                10 -> return Compute+>                11 -> liftM Equiv get+>                12 -> liftM Believe get+>                13 -> liftM Use get+>                14 -> liftM Decide get+>                15 -> liftM RunTactic get+>                16 -> return Qed++> instance Binary IvorDef where+>     put (PattDef ps) = do put (0 :: Word8); put ps+>     put ITyCon = put (1 :: Word8)+>     put IDataCon = put (2 :: Word8)+>     put (SimpleDef t) = do put (3 :: Word8); put t+>     put (DataDef a b) = do put (4 :: Word8); put a; put b+>     put (IProof ts) = do put (5 :: Word8); put ts+>     put Later = put (6 :: Word8)+>     put LataDef = put (7 :: Word8)++>     get = do tag <- getWord8+>              case tag of+>                0 -> liftM PattDef get+>                1 -> return ITyCon+>                2 -> return IDataCon+>                3 -> liftM SimpleDef get+>                4 -> liftM2 DataDef get get+>                5 -> liftM IProof get+>                6 -> return Later+>                7 -> return LataDef++> instance Binary IdrisState where+>     put (IState a b c d e f g) +>        = do put a; put b; put c; put d; put e; put f; put g+>     get = do a <- get; b <- get; c <- get;+>              d <- get; e <- get; f <- get; g <- get+>              return (IState a b c d e f g)+
Main.lhs view
@@ -282,7 +282,7 @@ >                               return Quit >                        Just (':':command) ->  >                            do addHistory (':':command)->                               runCommand (words command) commands+>                               runCommand' (words command) commands >                        Just exprinput ->  >                            do termInput' raw fixes ctxt exprinput >                               addHistory exprinput@@ -307,7 +307,10 @@ >      termInput' r f c inp = handle handler $ termInput True r f c inp >         where handler StackOverflow = putStrLn "Stack overflow" >               handler UserInterrupt = putStrLn "Interrupted"->               handler e             = throwIO e+>               handler e             = print e -- throwIO e+>      runCommand' w c = handle handler $ runCommand w c+>         where handler e = do print (e :: IOError)+>                              return Continue  > termInput runio raw uo ctxt tm  >         = case getTerm tm of
dist/build/Idris/Parser.hs view
@@ -1,3582 +1,3675 @@-{-# OPTIONS -fglasgow-exts -cpp #-}--- -*-Haskell-*--{-# OPTIONS_GHC -fglasgow-exts #-}--module Idris.Parser where--import Data.Char-import Ivor.TT-import System.IO.Unsafe-import List-import Control.Monad--import Idris.AbsSyntax-import Idris.Lexer-import Idris.Lib--import Debug.Trace-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-#else-import Array-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif---- parser produced by Happy Version 1.18.2--newtype HappyAbsSyn t66 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = GHC.Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t66)-happyIn6 x = unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t66) -> ([ParseDecl])-happyOut6 x = unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (ParseDecl) -> (HappyAbsSyn t66)-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t66) -> (ParseDecl)-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Decl) -> (HappyAbsSyn t66)-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t66) -> (Decl)-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (ParseDecl) -> (HappyAbsSyn t66)-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t66) -> (ParseDecl)-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (Bool) -> (HappyAbsSyn t66)-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t66) -> (Bool)-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: ([ParseDecl]) -> (HappyAbsSyn t66)-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t66) -> ([ParseDecl])-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ([CGFlag]) -> (HappyAbsSyn t66)-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t66) -> ([CGFlag])-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t66)-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t66) -> ([CGFlag])-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([Decl]) -> (HappyAbsSyn t66)-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t66) -> ([Decl])-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([String]) -> (HappyAbsSyn t66)-happyIn17 x = unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t66) -> ([String])-happyOut17 x = unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (String) -> (HappyAbsSyn t66)-happyIn18 x = unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t66) -> (String)-happyOut18 x = unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (Fixity) -> (HappyAbsSyn t66)-happyIn19 x = unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t66) -> (Fixity)-happyOut19 x = unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (Decl) -> (HappyAbsSyn t66)-happyIn20 x = unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t66) -> (Decl)-happyOut20 x = unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: ([(Id,String)]) -> (HappyAbsSyn t66)-happyIn21 x = unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t66) -> ([(Id,String)])-happyOut21 x = unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t66)-happyIn22 x = unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t66) -> ((Id, [(RawTerm, Maybe Id)]))-happyOut22 x = unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t66)-happyIn23 x = unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t66) -> ([(RawTerm,Maybe Id)])-happyOut23 x = unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (Datatype) -> (HappyAbsSyn t66)-happyIn24 x = unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t66) -> (Datatype)-happyOut24 x = unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t66)-happyIn25 x = unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t66) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))-happyOut25 x = unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: ([TyOpt]) -> (HappyAbsSyn t66)-happyIn26 x = unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t66) -> ([TyOpt])-happyOut26 x = unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: ([TyOpt]) -> (HappyAbsSyn t66)-happyIn27 x = unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t66) -> ([TyOpt])-happyOut27 x = unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: (TyOpt) -> (HappyAbsSyn t66)-happyIn28 x = unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn t66) -> (TyOpt)-happyOut28 x = unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Id) -> (HappyAbsSyn t66)-happyIn29 x = unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn t66) -> (Id)-happyOut29 x = unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn30 x = unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut30 x = unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn31 x = unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut31 x = unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn32 x = unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut32 x = unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn33 x = unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut33 x = unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn34 x = unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut34 x = unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([Id]) -> (HappyAbsSyn t66)-happyIn35 x = unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn t66) -> ([Id])-happyOut35 x = unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ([(Id, Int)]) -> (HappyAbsSyn t66)-happyIn36 x = unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn t66) -> ([(Id, Int)])-happyOut36 x = unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([Id]) -> (HappyAbsSyn t66)-happyIn37 x = unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn t66) -> ([Id])-happyOut37 x = unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([Id]) -> (HappyAbsSyn t66)-happyIn38 x = unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn t66) -> ([Id])-happyOut38 x = unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t66)-happyIn39 x = unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn t66) -> ([(Id, RawTerm, RawTerm)])-happyOut39 x = unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ((Id, RawTerm)) -> (HappyAbsSyn t66)-happyIn40 x = unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn t66) -> ((Id, RawTerm))-happyOut40 x = unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn41 x = unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut41 x = unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn42 x = unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut42 x = unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn43 x = unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut43 x = unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (String) -> (HappyAbsSyn t66)-happyIn44 x = unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn t66) -> (String)-happyOut44 x = unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn45 x = unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut45 x = unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn46 x = unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut46 x = unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn47 x = unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut47 x = unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn48 x = unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut48 x = unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn49 x = unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut49 x = unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn50 x = unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut50 x = unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn51 x = unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut51 x = unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn52 x = unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut52 x = unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn53 x = unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut53 x = unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: ([Do]) -> (HappyAbsSyn t66)-happyIn54 x = unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn t66) -> ([Do])-happyOut54 x = unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([Do]) -> (HappyAbsSyn t66)-happyIn55 x = unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn t66) -> ([Do])-happyOut55 x = unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (Do) -> (HappyAbsSyn t66)-happyIn56 x = unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn t66) -> (Do)-happyOut56 x = unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: (Constant) -> (HappyAbsSyn t66)-happyIn57 x = unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn t66) -> (Constant)-happyOut57 x = unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn58 x = unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut58 x = unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t66)-happyIn59 x = unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn t66) -> ((RawTerm, [(Id, RawTerm)]))-happyOut59 x = unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn60 x = unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut60 x = unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ((Id,Id)) -> (HappyAbsSyn t66)-happyIn61 x = unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn t66) -> ((Id,Id))-happyOut61 x = unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ((Id,Id)) -> (HappyAbsSyn t66)-happyIn62 x = unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn t66) -> ((Id,Id))-happyOut62 x = unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn63 x = unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut63 x = unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn64 x = unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut64 x = unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([Id]) -> (HappyAbsSyn t66)-happyIn65 x = unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn t66) -> ([Id])-happyOut65 x = unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: t66 -> (HappyAbsSyn t66)-happyIn66 x = unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn t66) -> t66-happyOut66 x = unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([ConParse]) -> (HappyAbsSyn t66)-happyIn67 x = unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn t66) -> ([ConParse])-happyOut67 x = unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (ConParse) -> (HappyAbsSyn t66)-happyIn68 x = unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn t66) -> (ConParse)-happyOut68 x = unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn69 x = unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut69 x = unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (ITactic) -> (HappyAbsSyn t66)-happyIn70 x = unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn t66) -> (ITactic)-happyOut70 x = unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: ([ITactic]) -> (HappyAbsSyn t66)-happyIn71 x = unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn t66) -> ([ITactic])-happyOut71 x = unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: ([ITactic]) -> (HappyAbsSyn t66)-happyIn72 x = unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn t66) -> ([ITactic])-happyOut72 x = unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (LineNumber) -> (HappyAbsSyn t66)-happyIn73 x = unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn t66) -> (LineNumber)-happyOut73 x = unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (String) -> (HappyAbsSyn t66)-happyIn74 x = unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn t66) -> (String)-happyOut74 x = unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (Fixities) -> (HappyAbsSyn t66)-happyIn75 x = unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn t66) -> (Fixities)-happyOut75 x = unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyInTok :: (Token) -> (HappyAbsSyn t66)-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t66) -> (Token)-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x16\x00\x21\x05\x57\x0d\x00\x00\x20\x04\x6e\x01\x6e\x01\x21\x05\x00\x00\x3b\x03\xea\x02\x00\x00\x6e\x01\x00\x00\x21\x05\x21\x05\x00\x00\x21\x05\x21\x05\x21\x05\x21\x05\x00\x00\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x61\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\xfd\x08\x48\x02\x21\x05\x21\x05\x06\x08\x21\x05\x00\x00\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x05\x00\x00\x00\x00\x00\x00\x4c\x01\x00\x00\x21\x05\x5b\x00\x1f\x04\x01\x00\x00\x00\x00\x00\x01\x00\x57\x04\x00\x00\x6f\x04\x00\x00\xf5\x01\x5b\x04\x5a\x04\x58\x04\x56\x04\x39\x09\xd1\x01\x4a\x04\x00\x00\x00\x00\x00\x00\x4b\x04\x49\x04\x48\x04\x5b\x00\x53\x04\x1b\x04\x43\x04\x51\x04\x21\x05\x50\x04\x46\x04\x00\x00\x00\x00\x1e\x04\x3d\x04\x5b\x00\x28\x04\x3c\x04\x5b\x00\x5b\x00\x5b\x00\x5b\x00\x5b\x00\x12\x02\x32\x04\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x13\x00\x00\x00\x00\x00\x99\x02\x00\x00\x00\x00\x00\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\x00\x00\xca\x07\x37\x04\xfc\xff\xe3\x08\x2d\x04\x77\x00\x39\x09\xd1\x01\x00\x00\x00\x00\x30\x04\xe4\x03\x14\x02\x00\x00\x26\x04\xd0\x04\x00\x00\x00\x00\x27\x04\x00\x00\x27\x04\x00\x00\xaa\x05\xa3\x08\xfa\x01\x4e\x04\x7f\x04\x1a\x04\x7f\x04\x7f\x04\x18\x04\x13\x04\x7f\x04\x7f\x04\x9e\x01\x67\x00\x00\x00\x7f\x04\xa6\x08\x5b\x00\x19\x04\xf3\x03\x00\x00\x06\x08\x0c\x04\x00\x00\x7f\x04\xfe\x03\x7f\x04\x7f\x04\x7f\x04\x7f\x04\x7f\x04\x00\x00\x78\x01\x5f\x01\x51\x01\x4f\x01\x42\x01\x1a\x01\x00\x00\x18\x01\x7f\x04\xf1\x00\x7f\x04\xb8\x00\x00\x00\xf6\x03\x00\x00\x5b\x00\x41\x00\x07\x00\x00\x00\x17\x04\x17\x04\x17\x04\x17\x04\x17\x04\x00\x00\x7f\x04\x17\x04\x06\x08\x00\x00\x00\x00\x00\x00\x7f\x04\xf5\x03\xfd\x08\x0f\x04\x07\x04\xe8\x03\xbe\x01\xfc\x03\x20\x01\xfa\x03\xd2\x08\xfd\x08\x00\x00\xfd\x08\xf7\x03\x00\x00\x22\x06\x00\x00\x22\x06\x00\x00\x22\x06\x00\x00\x22\x06\x00\x00\x7f\x04\x00\x00\x7f\x04\x7f\x04\x7f\x04\x7f\x04\x7f\x04\xfb\x03\x00\x00\x00\x00\x7f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x22\x06\xee\x03\x2e\x04\x5b\x00\xe6\x03\x00\x00\xdd\x03\xdd\x03\xe3\x03\xf4\x03\xda\x03\xef\x03\xdd\x03\xdd\x03\xdd\x03\xa3\x03\x57\x0d\xed\x03\x50\x01\x0c\x00\xd0\x03\xca\x07\xdd\x03\x00\x00\x00\x00\xe1\x03\xdc\x03\xdb\x03\xd7\x03\x00\x00\x00\x00\x4c\x04\xe0\x03\x00\x00\x00\x00\xdd\x03\xdd\x03\xdd\x03\x00\x00\xd4\x03\xc1\x03\x00\x00\x00\x00\x84\x01\xde\x03\xce\x03\xb2\x03\xc8\x03\x5b\x00\xb1\x03\x01\x00\x5b\x00\xbd\x03\xad\x03\x00\x00\xdd\x03\x29\x0a\xc7\x03\x00\x00\xa4\x03\x00\x00\xdd\x03\x00\x00\x00\x00\x5b\x00\x00\x00\xe3\x08\x00\x00\x5b\x00\x5b\x00\xa8\x03\xe3\x08\x00\x00\x00\x00\x12\x02\x00\x00\x41\x05\x3f\x05\x11\x05\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x04\x00\x00\x5b\x00\x00\x00\x8f\x00\xc3\x03\x00\x00\x00\x00\x00\x00\xb6\x03\xa9\x03\xfd\x08\xaf\x03\xa6\x03\x00\x00\x5b\x03\xb5\x01\xc0\x04\x00\x00\xd1\x01\x00\x00\xdd\x03\x9b\x00\xb3\x01\xdd\x03\x93\x03\x00\x00\x00\x00\x00\x00\x68\x03\x69\x08\x00\x00\x42\x08\xe6\x05\x00\x00\xfd\x08\x00\x00\xac\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x00\x00\x99\x03\x00\x00\x06\x08\x00\x00\x89\x03\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x08\xfd\x08\x84\x03\xe3\x08\x5b\x00\x70\x03\xe3\x08\x0c\x00\x5b\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x08\x42\x08\x42\x08\x42\x08\x42\x08\x42\x08\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x08\x00\x00\x02\x00\xfd\x08\x04\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x07\x00\x00\x52\x07\x00\x00\x16\x07\x00\x00\xda\x06\x97\x03\x95\x03\x94\x03\x92\x03\x8f\x03\x65\x00\x00\x00\x00\x00\xdd\x03\x9e\x06\x77\x03\x22\x06\xdd\x03\xcf\x00\x00\x00\x99\x00\x8d\x03\x82\x03\x00\x00\x57\x0d\x0c\x00\x60\x03\x5b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x06\x00\x00\x99\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x26\x06\x7c\x03\x75\x03\x00\x00\x00\x00\x56\x03\x6f\x03\x0a\x03\x5b\x00\x51\x03\x00\x00\x5b\x00\x6e\x03\x00\x00\x00\x00\x5b\x00\x00\x00\x5b\x00\x00\x00\x06\x08\x00\x00\x00\x00\xe3\x08\x00\x00\x35\x03\x00\x00\x00\x00\x00\x00\x5b\x00\x99\x00\x67\x03\x00\x00\x00\x00\x00\x00\x6b\x03\xaa\x00\x64\x03\xe3\x08\x00\x00\x5b\x00\x00\x00\x58\x03\x5b\x00\x66\x03\x00\x00\xdd\x03\x00\x00\x22\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x03\x3a\x03\x50\x03\x00\x00\x00\x00\x00\x00\xcf\x00\xea\x05\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x03\x00\x00\x00\x00\x33\x03\x5b\x00\x00\x00\x00\x00\x00\x00\x42\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x00\x00\x69\x08\x8c\x03\x00\x00\xae\x05\x00\x00\x00\x00\x00\x00\x72\x05\x3f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x0c\x0a\x49\x0d\x0f\x03\x00\x00\x00\x00\xa2\x01\x3e\x03\x38\x0d\x00\x00\x27\x0d\x16\x0d\x00\x00\x3d\x03\x00\x00\x05\x0d\xf4\x0c\x00\x00\xe3\x0c\xd2\x0c\xc1\x0c\xb0\x0c\x00\x00\x00\x00\x09\x03\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x35\x08\xc2\x01\x9f\x0c\x8e\x0c\x7a\x0d\x7d\x0c\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x0c\x00\x00\x03\x03\x02\x03\x00\x00\x01\x03\x5b\x0c\x54\x01\x00\x00\xef\x09\x00\x00\x00\x00\xdc\x09\x00\x00\x00\x00\x38\x03\x00\x00\xf0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x66\x00\x2b\x03\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x33\x01\x00\x00\x0f\x01\x00\x00\x00\x00\x69\x01\x48\x00\x19\x03\x21\x00\x18\x03\x3d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x03\xe7\x02\x1c\x01\x00\x00\xe5\x02\x70\x05\x00\x00\xe4\x02\xe2\x02\xbf\x09\xac\x09\x8f\x09\x7c\x09\x00\x00\x28\x0a\x00\x00\x00\x00\x73\x0d\x00\x00\xf0\x02\x33\x00\x18\x02\x00\x00\x00\x00\xfe\x02\x00\x00\x14\x01\xe1\x02\xda\x02\x14\x07\xd7\x02\xd5\x02\x0c\x01\xd3\x02\x07\x01\x00\x00\x06\x01\x06\x01\x40\x01\x93\x00\x39\x0c\x00\x00\x28\x0c\x17\x0c\x00\x00\x00\x00\xd9\x03\x88\x03\x05\x01\x00\x00\x00\x00\x06\x0c\x92\x04\x19\x02\xcf\x02\x00\x00\xcd\x02\x68\x0d\x00\x00\xcb\x02\xf5\x0b\xc4\x02\xe4\x0b\xd3\x0b\xc2\x0b\xb1\x0b\xa0\x0b\xc3\x02\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\xff\x00\x8f\x0b\xff\x00\x7e\x0b\xff\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xff\x00\xff\x00\x00\x00\xfe\x00\xf5\x00\xf4\x00\xe9\x00\xe7\x00\xc1\x02\x6d\x0b\xd5\x00\x59\x0d\xbf\x02\xba\x02\x00\x00\x5c\x0b\x00\x00\xf9\x07\x00\x00\x00\x00\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\xc8\x00\xfe\x05\x00\x00\x6e\x05\x00\x00\xb9\x02\xab\x00\xb8\x02\xa3\x00\xa4\x02\x9e\x00\xb3\x02\x9d\x00\xb1\x02\x37\x03\x00\x00\xe6\x02\x4b\x0b\x3a\x0b\x44\x02\x95\x02\x00\x00\x00\x00\xa8\x02\x29\x0b\xa3\x02\x9d\x02\x9c\x02\x00\x00\x00\x00\xd1\x00\x95\x00\x00\x00\xd8\x06\xbd\x00\x00\x00\x00\x00\x18\x0b\x07\x0b\x00\x00\x00\x00\x00\x00\xd9\x02\xf6\x0a\xe5\x0a\xd4\x0a\x00\x00\xcf\x01\xb0\x02\x10\x02\x00\x00\x00\x00\x0a\x0a\xc3\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x02\x97\x02\x94\x00\x00\x00\x94\x02\x93\x02\xb2\x0a\xa1\x0a\x90\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x42\x09\xbe\x02\x00\x00\x00\x00\x00\x00\x7f\x0a\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0a\x00\x00\x00\x00\xbd\x02\x00\x00\xbd\x07\x8f\x02\x0a\x00\x43\x00\x00\x00\x81\x07\x83\x02\x82\x02\xc9\x01\x00\x00\x94\x00\x94\x00\x94\x00\x00\x00\x00\x00\x80\x02\x00\x00\x50\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x7b\x02\x7c\x01\x60\x02\xc1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x04\x00\x00\x00\x00\x00\x00\x94\x00\x03\x00\x94\x00\x00\x00\x4b\x01\x00\x00\x5d\x0a\x94\x00\x94\x00\x4c\x0a\x35\x02\x00\x00\x00\x00\x7a\x02\x00\x00\x4d\x0d\x00\x00\x4d\x0d\x94\x00\x74\x02\xb2\x02\x72\x02\x94\x00\x00\x00\x70\x02\x6f\x02\x6d\x02\x6a\x02\x68\x02\x67\x02\x63\x02\x00\x00\x62\x02\x00\x00\x4c\x02\x36\x09\x5f\x02\x00\x00\x52\x02\x00\x00\x51\x02\x00\x00\x61\x02\xe9\x01\x00\x00\x45\x07\xab\x01\x00\x00\x09\x07\x00\x00\x60\x00\x94\x00\x4b\x02\x4a\x02\x00\x00\x47\x02\x94\x00\x00\x00\x46\x02\x43\x02\x42\x02\x41\x02\x40\x02\x00\x00\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x02\x00\x00\x00\x00\x0e\x02\x00\x00\x00\x00\x3e\x02\x32\x02\x29\x02\x21\x02\x00\x00\x2e\x08\x00\x00\x2e\x08\x00\x00\x2e\x08\x00\x00\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x01\x3b\x0a\x2e\x08\x00\x00\x6c\x00\xc8\x07\x4b\x00\x00\x00\x2c\x02\x00\x00\x00\x00\x00\x00\x63\x01\x00\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x1e\x02\x00\x00\x1c\x02\xf9\x08\x05\x02\x0b\x02\x00\x00\x00\x00\x00\x00\xf7\x01\xef\x01\xd6\x01\xa5\x01\x8a\x06\x00\x00\x00\x00\x00\x00\xdb\x01\x00\x00\x00\x00\x4b\x00\xcd\x01\x00\x00\x00\x00\xf9\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x37\x00\x00\x00\xf2\x07\x00\x00\x00\x00\xcd\x06\x9d\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x06\x00\x00\x2f\x00\x17\x01\x00\x00\xf9\xff\x0b\x00\x91\x01\x8c\x07\x00\x00\x05\x00\x6f\x01\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x01\x00\x00\x00\x00\x00\x00\x36\x01\x00\x00\x25\x01\xf7\xff\x04\x08\xce\x00\x00\x00\x5e\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x1c\x00\x00\x00\xec\xff\x04\x08\x60\x06\xd5\xff\x04\x08\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\xc5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x39\xff\x00\x00\x00\x00\x00\x00\x00\x00\x27\xff\x00\x00\x00\x00\x24\xff\x00\x00\x00\x00\x1f\xff\x00\x00\x1d\xff\x00\x00\x00\x00\x1a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x15\xff\x14\xff\x0f\xff\x0f\xff\xa5\xff\x8a\xff\x58\xff\x59\xff\xac\xff\x57\xff\x5c\xff\x0f\xff\xb5\xff\x41\xff\x43\xff\x3f\xff\x42\xff\x40\xff\x63\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\xff\x00\x00\x49\xff\x48\xff\x47\xff\x4a\xff\x45\xff\x46\xff\x44\xff\x4b\xff\x00\x00\x60\xff\x0f\xff\x0f\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x00\x00\x39\xff\xf0\xff\xf8\xff\x39\xff\x00\x00\xf6\xff\xe0\xff\xf7\xff\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\xff\xc8\xff\xca\xff\xc9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\xee\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\xcd\xff\xcc\xff\xcb\xff\x00\x00\x0f\xff\x0f\xff\xde\xff\x0f\xff\x00\x00\xaf\xff\x0f\xff\x0f\xff\x39\xff\x39\xff\x39\xff\x39\xff\xc4\xff\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x7a\xff\x00\x00\x0f\xff\x10\xff\x7a\xff\x00\x00\x10\xff\x10\xff\x0f\xff\x0f\xff\x0f\xff\x64\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x00\x00\x00\x00\xce\xff\xcd\xff\x7c\xff\x7b\xff\x0f\xff\x0f\xff\x0f\xff\x00\x00\x6b\xff\x00\x00\x00\x00\x00\x00\x7a\xff\x00\x00\x10\xff\x00\x00\x00\x00\x10\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x1e\xff\x0f\xff\x00\x00\x0f\xff\x00\x00\x0f\xff\x26\xff\x9e\xff\x28\xff\x00\x00\x0f\xff\x0f\xff\x67\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x10\xff\x00\x00\x0f\xff\x00\x00\x0f\xff\x0f\xff\x61\xff\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x0f\xff\x00\x00\xab\xff\x00\x00\x00\x00\x10\xff\x0f\xff\x10\xff\x0f\xff\x10\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x65\xff\x0f\xff\x7c\xff\x7b\xff\x0f\xff\x0f\xff\x00\x00\x5b\xff\x0f\xff\x00\x00\x10\xff\x10\xff\x10\xff\x5f\xff\x5e\xff\x0f\xff\x0f\xff\x00\x00\x4f\xff\x00\x00\x00\x00\x66\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xff\xe0\xff\x00\x00\x00\x00\x00\x00\xe3\xff\x00\x00\x78\xff\xd9\xff\x75\xff\x98\xff\xc3\xff\x00\x00\xea\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x10\xff\x10\xff\x0f\xff\x00\x00\x10\xff\x10\xff\x00\x00\x00\x00\x00\x00\xb4\xff\x00\x00\xb9\xff\xb7\xff\xb6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xff\x00\x00\x39\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x0f\xff\x00\x00\xc7\xff\x00\x00\xf9\xff\x00\x00\x95\xff\x35\xff\x00\x00\x38\xff\x00\x00\x0f\xff\x32\xff\x2e\xff\x00\x00\x00\x00\x0f\xff\x0f\xff\x00\x00\xba\xff\x0f\xff\x0f\xff\x0f\xff\xb1\xff\xb0\xff\x0f\xff\xdd\xff\x00\x00\xae\xff\xad\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x0f\xff\x0f\xff\x00\x00\x0f\xff\xd9\xff\x00\x00\xd3\xff\xd7\xff\xd6\xff\xd4\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe2\xff\x0f\xff\x0f\xff\x0f\xff\xe1\xff\x00\x00\xd1\xff\x00\x00\x0f\xff\x0f\xff\x00\x00\x7a\xff\x50\xff\x52\xff\x10\xff\x00\x00\xa8\xff\x62\xff\x90\xff\x0f\xff\x10\xff\x00\x00\x10\xff\x0f\xff\x53\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x00\x00\x10\xff\x00\x00\x10\xff\x00\x00\x0f\xff\x74\xff\x0f\xff\x6e\xff\x0f\xff\x71\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\xff\x00\x00\x0f\xff\x10\xff\x10\xff\xaa\xff\x10\xff\x0f\xff\x92\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x9d\xff\x8b\xff\x8e\xff\x8c\xff\x8d\xff\x8f\xff\x88\xff\xa9\xff\x89\xff\xa2\xff\x9f\xff\x00\x00\xa1\xff\x79\xff\x00\x00\x69\xff\x68\xff\x0f\xff\x10\xff\x10\xff\x10\xff\xb3\xff\x00\x00\x80\xff\x00\x00\x7f\xff\x00\x00\x5a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x0f\xff\x00\x00\x0f\xff\xcf\xff\x00\x00\x00\x00\x00\x00\x13\xff\x12\xff\x77\xff\x00\x00\x00\x00\xd2\xff\xd8\xff\x10\xff\x97\xff\x10\xff\xc3\xff\x10\xff\x00\x00\xe6\xff\x00\x00\xb8\xff\x10\xff\x10\xff\x39\xff\x0f\xff\x3e\xff\x00\x00\x2d\xff\x31\xff\x10\xff\x34\xff\x00\x00\x0f\xff\x00\x00\xc6\xff\xec\xff\x00\x00\x00\x00\xef\xff\x36\xff\x00\x00\xbf\xff\x2e\xff\xbe\xff\x3e\xff\x2a\xff\x2b\xff\x00\x00\x10\xff\x00\x00\xbd\xff\xbc\xff\x3b\xff\x00\x00\xda\xff\x00\x00\xdc\xff\xc0\xff\xc1\xff\x00\x00\x9b\xff\x00\x00\x00\x00\x11\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x0f\xff\x10\xff\x00\x00\x4c\xff\x0f\xff\x10\xff\x0f\xff\x82\xff\x7e\xff\x83\xff\x86\xff\x84\xff\x85\xff\x87\xff\x7d\xff\x81\xff\xb2\xff\x6d\xff\x6c\xff\x10\xff\x73\xff\x72\xff\x00\x00\x10\xff\x56\xff\x10\xff\x0f\xff\x00\x00\x10\xff\x93\xff\x0f\xff\x10\xff\x00\x00\x76\xff\xd5\xff\x9c\xff\x00\x00\xeb\xff\xe4\xff\xdb\xff\x00\x00\x3c\xff\x3a\xff\x29\xff\x3d\xff\x2c\xff\x33\xff\x37\xff\xc5\xff\xe5\xff\x9a\xff\x00\x00\x0f\xff\xe7\xff\x10\xff\xa4\xff\x00\x00\x10\xff\x00\x00\x6a\xff\x70\xff\x4e\xff\x00\x00\x00\x00\xe9\xff\x10\xff\x99\xff\xe8\xff\x51\xff\x4d\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x11\x00\x01\x00\x0b\x00\x02\x00\x0a\x00\x02\x00\x17\x00\x43\x00\x02\x00\x03\x00\x08\x00\x09\x00\x0c\x00\x02\x00\x13\x00\x17\x00\x10\x00\x0b\x00\x11\x00\x13\x00\x25\x00\x03\x00\x01\x00\x43\x00\x22\x00\x21\x00\x2b\x00\x20\x00\x2d\x00\x2e\x00\x0c\x00\x30\x00\x17\x00\x0c\x00\x33\x00\x1d\x00\x22\x00\x10\x00\x22\x00\x26\x00\x22\x00\x23\x00\x27\x00\x31\x00\x22\x00\x27\x00\x43\x00\x2e\x00\x41\x00\x2e\x00\x20\x00\x21\x00\x2e\x00\x17\x00\x3f\x00\x17\x00\x06\x00\x2e\x00\x44\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x02\x00\x03\x00\x3b\x00\x17\x00\x44\x00\x47\x00\x44\x00\x17\x00\x18\x00\x0b\x00\x4c\x00\x17\x00\x44\x00\x4f\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x45\x00\x3a\x00\x17\x00\x3a\x00\x01\x00\x47\x00\x1d\x00\x17\x00\x44\x00\x2e\x00\x4c\x00\x22\x00\x23\x00\x4f\x00\x33\x00\x02\x00\x27\x00\x02\x00\x69\x00\x10\x00\x06\x00\x22\x00\x6d\x00\x2e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x3d\x00\x3e\x00\x11\x00\x17\x00\x11\x00\x72\x00\x1a\x00\x02\x00\x03\x00\x17\x00\x18\x00\x69\x00\x3d\x00\x3e\x00\x3a\x00\x6d\x00\x0b\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x13\x00\x11\x00\x12\x00\x13\x00\x17\x00\x22\x00\x44\x00\x17\x00\x43\x00\x19\x00\x2e\x00\x2e\x00\x2e\x00\x1d\x00\x20\x00\x21\x00\x33\x00\x01\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x17\x00\x44\x00\x20\x00\x21\x00\x0c\x00\x0b\x00\x2e\x00\x2f\x00\x10\x00\x20\x00\x35\x00\x11\x00\x12\x00\x13\x00\x05\x00\x44\x00\x3b\x00\x17\x00\x72\x00\x19\x00\x22\x00\x22\x00\x22\x00\x1d\x00\x26\x00\x02\x00\x03\x00\x45\x00\x22\x00\x23\x00\x22\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x22\x00\x4d\x00\x4e\x00\x45\x00\x2e\x00\x2f\x00\x52\x00\x53\x00\x22\x00\x55\x00\x0c\x00\x26\x00\x02\x00\x03\x00\x10\x00\x17\x00\x1d\x00\x13\x00\x44\x00\x44\x00\x44\x00\x22\x00\x23\x00\x4d\x00\x4e\x00\x21\x00\x27\x00\x44\x00\x44\x00\x44\x00\x6a\x00\x6b\x00\x6c\x00\x2e\x00\x44\x00\x4d\x00\x4e\x00\x22\x00\x72\x00\x1d\x00\x52\x00\x53\x00\x44\x00\x55\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x22\x00\x27\x00\x6a\x00\x6b\x00\x6c\x00\x0b\x00\x2e\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x6a\x00\x6b\x00\x6c\x00\x0f\x00\x22\x00\x47\x00\x22\x00\x44\x00\x72\x00\x1d\x00\x4c\x00\x17\x00\x43\x00\x4f\x00\x22\x00\x23\x00\x44\x00\x22\x00\x22\x00\x27\x00\x44\x00\x02\x00\x03\x00\x02\x00\x03\x00\x0f\x00\x2e\x00\x22\x00\x22\x00\x02\x00\x0b\x00\x55\x00\x0b\x00\x17\x00\x22\x00\x22\x00\x22\x00\x72\x00\x44\x00\x69\x00\x44\x00\x22\x00\x27\x00\x6d\x00\x11\x00\x6f\x00\x70\x00\x71\x00\x1d\x00\x22\x00\x1d\x00\x44\x00\x44\x00\x22\x00\x23\x00\x22\x00\x23\x00\x22\x00\x27\x00\x20\x00\x27\x00\x44\x00\x44\x00\x02\x00\x03\x00\x2e\x00\x27\x00\x2e\x00\x44\x00\x44\x00\x44\x00\x44\x00\x0b\x00\x2e\x00\x03\x00\x44\x00\x02\x00\x03\x00\x02\x00\x03\x00\x22\x00\x0b\x00\x0c\x00\x44\x00\x03\x00\x0b\x00\x44\x00\x0b\x00\x07\x00\x12\x00\x1d\x00\x44\x00\x02\x00\x03\x00\x72\x00\x22\x00\x23\x00\x10\x00\x27\x00\x43\x00\x27\x00\x0b\x00\x17\x00\x1d\x00\x17\x00\x1d\x00\x01\x00\x2e\x00\x22\x00\x23\x00\x22\x00\x23\x00\x21\x00\x27\x00\x44\x00\x27\x00\x43\x00\x02\x00\x03\x00\x1d\x00\x2e\x00\x10\x00\x2e\x00\x17\x00\x22\x00\x23\x00\x0b\x00\x44\x00\x01\x00\x27\x00\x02\x00\x03\x00\x20\x00\x72\x00\x17\x00\x72\x00\x2e\x00\x0a\x00\x0b\x00\x17\x00\x17\x00\x1e\x00\x17\x00\x10\x00\x1d\x00\x17\x00\x1e\x00\x1e\x00\x1d\x00\x22\x00\x23\x00\x1d\x00\x4d\x00\x4e\x00\x27\x00\x02\x00\x03\x00\x1d\x00\x40\x00\x20\x00\x42\x00\x2e\x00\x22\x00\x23\x00\x0b\x00\x0c\x00\x0d\x00\x27\x00\x17\x00\x43\x00\x11\x00\x1a\x00\x13\x00\x43\x00\x2e\x00\x72\x00\x02\x00\x03\x00\x02\x00\x03\x00\x17\x00\x6a\x00\x6b\x00\x6c\x00\x17\x00\x20\x00\x1d\x00\x0b\x00\x72\x00\x17\x00\x72\x00\x26\x00\x27\x00\x1b\x00\x1c\x00\x0a\x00\x08\x00\x09\x00\x0d\x00\x2e\x00\x2f\x00\x0c\x00\x31\x00\x1d\x00\x72\x00\x1d\x00\x02\x00\x43\x00\x22\x00\x23\x00\x22\x00\x23\x00\x17\x00\x27\x00\x19\x00\x27\x00\x3f\x00\x15\x00\x16\x00\x43\x00\x2e\x00\x44\x00\x2e\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x44\x00\x72\x00\x4d\x00\x4e\x00\x2b\x00\x1d\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x01\x00\x72\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x17\x00\x18\x00\x4d\x00\x4e\x00\x0a\x00\x10\x00\x53\x00\x0d\x00\x6a\x00\x6b\x00\x6c\x00\x16\x00\x36\x00\x18\x00\x03\x00\x40\x00\x1b\x00\x42\x00\x07\x00\x2a\x00\x2b\x00\x2c\x00\x02\x00\x03\x00\x08\x00\x09\x00\x25\x00\x10\x00\x33\x00\x28\x00\x43\x00\x6a\x00\x6b\x00\x6c\x00\x17\x00\x0b\x00\x0c\x00\x17\x00\x18\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x03\x00\x17\x00\x1d\x00\x43\x00\x07\x00\x1b\x00\x1c\x00\x22\x00\x23\x00\x2a\x00\x2b\x00\x43\x00\x27\x00\x10\x00\x44\x00\x49\x00\x4a\x00\x4b\x00\x33\x00\x2e\x00\x17\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x43\x00\x01\x00\x02\x00\x56\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x16\x00\x42\x00\x43\x00\x0e\x00\x0f\x00\x10\x00\x2a\x00\x2b\x00\x17\x00\x27\x00\x19\x00\x16\x00\x43\x00\x18\x00\x43\x00\x33\x00\x1b\x00\x43\x00\x1d\x00\x52\x00\x23\x00\x24\x00\x25\x00\x22\x00\x23\x00\x43\x00\x25\x00\x26\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x43\x00\x2e\x00\x33\x00\x17\x00\x18\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x44\x00\x43\x00\x43\x00\x43\x00\x43\x00\x14\x00\x44\x00\x43\x00\x43\x00\x2a\x00\x2b\x00\x43\x00\x43\x00\x43\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x33\x00\x44\x00\x44\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x02\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x44\x00\x44\x00\x43\x00\x43\x00\x0e\x00\x0f\x00\x10\x00\x43\x00\x43\x00\x17\x00\x43\x00\x19\x00\x16\x00\x43\x00\x18\x00\x43\x00\x43\x00\x1b\x00\x43\x00\x1d\x00\x43\x00\x23\x00\x24\x00\x25\x00\x22\x00\x23\x00\x43\x00\x25\x00\x44\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x44\x00\x30\x00\x44\x00\x44\x00\x33\x00\x17\x00\x18\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x44\x00\x17\x00\x17\x00\x43\x00\x43\x00\x28\x00\x44\x00\x43\x00\x43\x00\x2a\x00\x2b\x00\x05\x00\x43\x00\x43\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x33\x00\x43\x00\x43\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x44\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x44\x00\x27\x00\x44\x00\x0e\x00\x0f\x00\x10\x00\x43\x00\x43\x00\x17\x00\x44\x00\x19\x00\x16\x00\x27\x00\x18\x00\x44\x00\x43\x00\x1b\x00\x43\x00\x1d\x00\x44\x00\x23\x00\x24\x00\x25\x00\x02\x00\x03\x00\x43\x00\x25\x00\x43\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x0b\x00\x30\x00\x44\x00\x43\x00\x33\x00\x43\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x43\x00\x27\x00\x44\x00\x1d\x00\x44\x00\x44\x00\x44\x00\x44\x00\x22\x00\x23\x00\x04\x00\x17\x00\x17\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x17\x00\x0c\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x05\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x44\x00\x44\x00\x44\x00\x17\x00\x0e\x00\x0f\x00\x10\x00\x44\x00\x44\x00\x17\x00\x40\x00\x19\x00\x16\x00\x13\x00\x18\x00\x17\x00\x17\x00\x1b\x00\x15\x00\x1d\x00\x26\x00\x23\x00\x24\x00\x25\x00\x02\x00\x03\x00\x15\x00\x25\x00\x11\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x0b\x00\x30\x00\x2e\x00\x03\x00\x33\x00\x13\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x0b\x00\x26\x00\x1d\x00\x44\x00\x13\x00\x44\x00\x26\x00\x22\x00\x23\x00\x11\x00\x11\x00\x0c\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x0b\x00\x14\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x2e\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x14\x00\x20\x00\x0b\x00\x31\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\x2e\x00\x17\x00\x11\x00\x19\x00\x16\x00\x11\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x11\x00\x23\x00\x24\x00\x25\x00\x02\x00\x03\x00\x11\x00\x25\x00\x2e\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x2e\x00\x30\x00\x13\x00\x0b\x00\x33\x00\x13\x00\x11\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x10\x00\x04\x00\x20\x00\x1d\x00\x26\x00\x04\x00\x44\x00\x20\x00\x22\x00\x23\x00\x13\x00\x20\x00\x26\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x26\x00\x11\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x11\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x26\x00\x0a\x00\x15\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x13\x00\x13\x00\x17\x00\x11\x00\x19\x00\x16\x00\x13\x00\x18\x00\x26\x00\x0a\x00\x1b\x00\x56\x00\x1d\x00\x0c\x00\x23\x00\x24\x00\x25\x00\x0b\x00\x26\x00\x13\x00\x25\x00\x20\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x0d\x00\x30\x00\x13\x00\x11\x00\x33\x00\x11\x00\x26\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x31\x00\x11\x00\x0a\x00\x03\x00\x26\x00\x26\x00\x44\x00\x20\x00\x13\x00\x02\x00\x03\x00\x2f\x00\x0a\x00\x11\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x11\x00\x03\x00\x11\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x0a\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x10\x00\x55\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x12\x00\x22\x00\x23\x00\x0b\x00\x11\x00\x16\x00\x27\x00\x18\x00\x0b\x00\x0b\x00\x1b\x00\x04\x00\x1d\x00\x2e\x00\x2f\x00\x02\x00\x03\x00\x02\x00\x03\x00\x01\x00\x25\x00\x04\x00\x12\x00\x28\x00\x04\x00\x10\x00\x10\x00\x3f\x00\x10\x00\x05\x00\x11\x00\x14\x00\x11\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x12\x00\x1d\x00\x12\x00\x1d\x00\x12\x00\x12\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x26\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\x0c\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x20\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x72\x00\x72\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x0c\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x17\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x1c\x00\xff\xff\x13\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x1d\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x22\x00\x23\x00\xff\xff\x02\x00\x03\x00\x27\x00\x33\x00\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x01\x00\x12\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x1d\x00\xff\xff\x2a\x00\x2b\x00\xff\xff\x22\x00\x23\x00\xff\xff\x02\x00\x03\x00\x27\x00\x33\x00\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x01\x00\x12\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\xff\xff\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\xff\xff\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0c\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x17\x00\x18\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x2a\x00\x2b\x00\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x33\x00\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x02\x00\x03\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x19\x00\x16\x00\xff\xff\x18\x00\x1d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x02\x00\x03\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x19\x00\x16\x00\xff\xff\x18\x00\x1d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x2e\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x02\x00\x03\x00\xff\xff\x01\x00\x2a\x00\x2b\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x33\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x16\x00\xff\xff\x18\x00\x1d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x25\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x16\x00\x2b\x00\x18\x00\x2d\x00\x2e\x00\x1b\x00\x30\x00\xff\xff\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x25\x00\xff\xff\x4f\x00\x50\x00\x17\x00\x16\x00\x2b\x00\x18\x00\x2d\x00\x2e\x00\x1b\x00\x30\x00\x2a\x00\x2b\x00\x33\x00\x34\x00\xff\xff\xff\xff\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x25\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x16\x00\x2b\x00\x18\x00\x2d\x00\x2e\x00\x1b\x00\x30\x00\x2a\x00\x2b\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x33\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x25\x00\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x02\x00\x03\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x0f\x00\x10\x00\xff\xff\x4f\x00\x50\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x22\x00\x23\x00\xff\xff\x22\x00\x23\x00\x27\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\xff\xff\x11\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x4a\x00\x4b\x00\x0f\x00\x10\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x2e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x25\x00\xff\xff\x11\x00\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x25\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x4a\x00\x4b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x0a\x00\x17\x00\xff\xff\x0d\x00\x0e\x00\x18\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x25\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\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\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x17\x00\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x17\x00\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x11\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x17\x00\xff\xff\x17\x00\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x11\x00\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\x17\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x25\x00\xff\xff\xff\xff\x27\x00\xff\xff\x17\x00\x2b\x00\x19\x00\x2d\x00\x2e\x00\x2e\x00\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\x17\x00\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\x17\x00\xff\xff\x25\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2b\x00\x30\x00\x2d\x00\x2e\x00\x33\x00\x30\x00\x25\x00\x17\x00\x33\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x17\x00\x18\x00\x33\x00\x25\x00\xff\xff\xff\xff\xff\xff\x17\x00\x1f\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x29\x00\x2a\x00\x2b\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x33\x00\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x7f\x00\x22\x00\x03\x02\xe1\x00\xd8\x00\xe1\x00\x17\x00\x57\x02\xaf\x00\xb0\x00\xd3\x01\x5c\x01\x50\x00\xe1\x00\x14\x01\x8a\x00\x51\x00\x20\xff\x75\xff\xfc\xff\x1b\x00\xb0\x00\x22\x00\x52\x02\xac\x00\x31\x02\x1c\x00\x15\x01\x80\x00\x1e\x00\xdf\xff\x1f\x00\x42\x01\x50\x00\x20\x00\xb1\x00\xac\x00\x51\x00\xac\x00\x75\xff\xb2\x00\xb3\x00\x93\x01\x7a\xff\xac\x00\xb4\x00\x54\x02\xe3\x00\x81\x00\xe3\x00\xdf\xff\xdf\xff\xb5\x00\x2a\x01\x56\x00\x2a\x01\x09\x01\xe3\x00\x4d\x02\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xaf\x00\xb0\x00\xec\x01\x34\x02\xad\x00\x59\x00\x2d\x02\x73\x00\x74\x00\x22\xff\x5a\x00\xe9\x01\x30\x02\x5b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xdf\xff\x42\x02\xe9\x01\x2b\x01\x22\x00\x59\x00\xb1\x00\x2a\x01\x55\x02\x75\x00\x5a\x00\xb2\x00\xb3\x00\x5b\x00\x76\x00\xe1\x00\xb4\x00\xe1\x00\x5c\x00\x51\x00\x72\x00\xac\x00\x5d\x00\xb5\x00\x5e\x00\x5f\x00\x60\x00\xfc\xff\x41\x02\xeb\x01\x1b\x02\xa8\x00\xe2\x00\x20\xff\xaf\x01\xaf\x00\xb0\x00\x73\x00\x74\x00\x5c\x00\xea\x01\xeb\x01\x2d\x01\x5d\x00\xa7\xff\x5e\x00\x5f\x00\x60\x00\xfc\xff\x41\x01\xa7\xff\xa7\xff\xa7\xff\x42\x01\xac\x00\xad\x00\xa7\xff\x49\x02\xa7\xff\xe3\x00\x75\x00\xe3\x00\xb1\x00\x0c\x01\x0d\x01\x76\x00\x22\x00\xb2\x00\xb3\x00\xaf\x00\xb0\x00\xa7\xff\xb4\x00\x2e\x01\x4a\x02\x23\x01\x24\x01\x50\x00\xa6\xff\xb5\x00\xa7\xff\x51\x00\x3c\x01\x43\x01\xa6\xff\xa6\xff\xa6\xff\x38\x02\x15\x02\x44\x01\xa6\xff\x22\xff\xa6\xff\xac\x00\xac\x00\xac\x00\xb1\x00\xec\x00\xaf\x00\xb0\x00\x0e\x01\xb2\x00\xb3\x00\xac\x00\xac\x00\xa6\xff\xb4\x00\x25\xff\x22\x00\xac\x00\xa7\xff\xa7\xff\x0e\x01\xb5\x00\xa6\xff\xa7\xff\xa7\xff\xac\x00\xa7\xff\x50\x00\x39\x02\xaf\x00\xb0\x00\x51\x00\x71\x01\xb1\x00\xfc\xff\xad\x00\xad\x00\x74\x01\xb2\x00\xb3\x00\x5e\x01\x5f\x01\x8b\x00\xb4\x00\x2b\x02\x83\x01\x85\x01\xa7\xff\xa7\xff\xa7\xff\xb5\x00\x87\x01\xa6\xff\xa6\xff\xac\x00\xa7\xff\xb1\x00\xa6\xff\xa6\xff\x89\x01\xa6\xff\xb2\x00\xb3\x00\xaf\x00\xb0\x00\x14\x02\xb4\x00\xac\x00\x75\x01\x60\x01\x61\x01\x62\x01\x23\xff\xb5\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa6\xff\xa6\xff\xa6\xff\x44\x02\xac\x00\x59\x00\xac\x00\xad\x00\xa6\xff\xb1\x00\x5a\x00\x33\x01\x4b\x02\x5b\x00\xb2\x00\xb3\x00\xb5\x00\xac\x00\xac\x00\xb4\x00\x9e\x01\xaf\x00\xb0\x00\xaf\x00\xb0\x00\x32\x01\xb5\x00\xac\x00\xac\x00\xe1\x00\x21\xff\x94\xff\x1c\xff\x33\x01\xe3\x00\xac\x00\xac\x00\x25\xff\xa1\x01\x5c\x00\xa2\x01\xac\x00\xf4\x00\x5d\x00\x91\x01\x5e\x00\x5f\x00\x60\x00\xb1\x00\xac\x00\xb1\x00\xa3\x01\xa4\x01\xb2\x00\xb3\x00\xb2\x00\xb3\x00\xe3\x00\xb4\x00\x92\x01\xb4\x00\xa5\x01\xad\x00\xaf\x00\xb0\x00\xb5\x00\x93\x01\xb5\x00\xe4\x00\xad\x00\xf8\x00\x20\x01\x1b\xff\xe3\x00\x8f\x00\xfa\x00\xaf\x00\xb0\x00\xaf\x00\xb0\x00\xac\x00\xd1\x01\x08\x01\xad\x00\x06\x02\x19\xff\x33\x02\x18\xff\x3b\x02\x90\x00\xb1\x00\xe4\x00\xaf\x00\xb0\x00\x23\xff\xb2\x00\xb3\x00\x48\x00\xf4\x00\x4e\x02\xb4\x00\x17\xff\x8a\x00\xb1\x00\x4a\x00\xb1\x00\x22\x00\xb5\x00\xb2\x00\xb3\x00\xb2\x00\xb3\x00\x8b\x00\xb4\x00\xad\x00\xb4\x00\x4f\x02\xaf\x00\xb0\x00\xb1\x00\xb5\x00\x51\x00\xb5\x00\x2e\x01\xb2\x00\xb3\x00\x16\xff\xb5\x00\x22\x00\xb4\x00\xaf\x00\xb0\x00\x2f\x01\x21\xff\x0c\x02\x1c\xff\xb5\x00\x46\x01\x47\x01\x0c\x02\x0c\x02\x56\x02\xc3\x00\x51\x00\xb1\x00\xc3\x00\x46\x02\x0d\x02\xdd\x01\xb2\x00\xb3\x00\xa6\x01\x5e\x01\x5f\x01\xb4\x00\x6f\xff\xb0\x00\xb1\x00\x64\x01\x48\x01\x0f\x02\xb5\x00\xb2\x00\xb3\x00\x6f\xff\x6f\xff\x6f\xff\xb4\x00\xa8\x00\x2a\x02\x6f\xff\xa9\x00\x6f\xff\x2c\x02\xb5\x00\x1b\xff\xaf\x00\xb0\x00\xaf\x00\xb0\x00\xc3\x00\x60\x01\x61\x01\x62\x01\x3c\x02\x6f\xff\xc4\x00\xd9\xff\x19\xff\xd8\x00\x18\xff\x6f\xff\x6f\xff\xb2\x01\xda\x00\x95\x01\xdb\x01\x5c\x01\x7a\xff\x6f\xff\x6f\xff\x6d\x00\x6f\xff\xb1\x00\x17\xff\xb1\x00\x6f\x00\x2f\x02\xb2\x00\xb3\x00\xb2\x00\xb3\x00\x98\x00\xb4\x00\x99\x00\xb4\x00\x6f\xff\xe4\x01\x26\x01\x3e\x02\xb5\x00\x6f\xff\xb5\x00\xf5\x01\x19\x00\x1a\x00\x1b\x00\x9a\x00\x00\x02\x16\xff\x6f\xff\x6f\xff\x1c\x00\x70\x00\x1d\x00\x1e\x00\x9b\x00\x1f\x00\x71\x00\x72\x00\x20\x00\x22\x00\xff\xff\x83\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x84\x00\x73\x00\xa2\x00\x5e\x01\x5f\x01\xd8\x00\x2b\x00\xd0\x01\x7a\xff\x6f\xff\x6f\xff\x6f\xff\x2c\x00\x01\x02\x2d\x00\x06\x02\x64\x01\x2e\x00\x65\x01\x07\x02\xb5\x01\xa4\x00\xb6\x01\xaf\x00\xb0\x00\x5b\x01\x5c\x01\x30\x00\x48\x00\x76\x00\x31\x00\xf9\x01\x60\x01\x61\x01\x62\x01\x4a\x00\x07\x01\x08\x01\x73\x00\xa2\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x06\x02\xd8\x00\xb1\x00\x03\x02\x12\x02\xd9\x00\xda\x00\xb2\x00\xb3\x00\x28\x02\xa4\x00\x04\x02\xb4\x00\x48\x00\x19\x02\x3b\x00\x3c\x00\x3d\x00\x76\x00\xb5\x00\x4a\x00\x3e\x00\x3f\x00\x73\x00\xa2\x00\x08\x02\x22\x00\x9d\x00\x85\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x25\x01\x26\x01\x28\x01\x29\x01\x29\x00\x2a\x00\x2b\x00\x29\x02\xa4\x00\x17\x00\xcd\x01\x7d\x01\x2c\x00\x0a\x02\x2d\x00\x0b\x02\x76\x00\x2e\x00\x24\x02\x9e\x00\x05\x01\x19\x00\x1a\x00\x1b\x00\x9f\x00\xa0\x00\x25\x02\x30\x00\xa1\x00\x1c\x00\x31\x00\x1d\x00\x1e\x00\x7e\x01\x1f\x00\x26\x02\xa2\x00\x20\x00\x73\x00\xa2\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x27\x02\xa7\x01\xa8\x01\xa9\x01\xaa\x01\x6b\x00\x7f\x01\xab\x01\xac\x01\xb7\x01\xa4\x00\xad\x01\xae\x01\xbc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xb8\x01\xb9\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x6f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xba\x01\xdc\x01\xbe\x01\xc0\x01\x29\x00\x2a\x00\x2b\x00\xc1\x01\xc2\x01\x17\x00\xc3\x01\xc9\x00\x2c\x00\xc4\x01\x2d\x00\xc5\x01\xc6\x01\x2e\x00\xc7\x01\x9e\x00\xc9\x01\x19\x00\x1a\x00\x1b\x00\x71\x00\x72\x00\xcc\x01\x30\x00\xde\x01\x1c\x00\x31\x00\x1d\x00\x1e\x00\xe0\x01\x1f\x00\xe5\x01\xe6\x01\x20\x00\x73\x00\xa2\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xed\x01\xef\x01\x39\x01\x4d\x01\x4e\x01\x62\x01\x7c\x01\x52\x01\x53\x01\xc8\x01\xa4\x00\x6a\x01\x76\x01\x77\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\x78\x01\x86\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x7a\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0a\x01\x82\x01\xd6\x00\x84\x01\x29\x00\x2a\x00\x2b\x00\x88\x01\x8a\x01\x17\x00\x9b\x01\xcd\x00\x2c\x00\x02\x01\x2d\x00\x9c\x01\xa0\x01\x2e\x00\xc8\x00\x2f\x00\xce\x00\x19\x00\x1a\x00\x1b\x00\xaf\x00\xb0\x00\xd1\x00\x30\x00\xd4\x00\x1c\x00\x31\x00\x1d\x00\x1e\x00\xf7\x01\x1f\x00\xf9\x00\xfb\x00\x20\x00\xfc\x00\xbf\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x03\x01\x06\x01\x1b\x01\xb1\x00\x1c\x01\x1f\x01\x80\x01\x20\x01\xb2\x00\xb3\x00\x21\x01\x29\x01\x2c\x01\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x67\x00\x6d\x00\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x85\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x8d\x00\x90\x00\x91\x00\x93\x00\x29\x00\x2a\x00\x2b\x00\xaa\x00\xb5\x00\x17\x00\x04\x00\xd0\x00\x2c\x00\x59\x02\x2d\x00\xbc\x00\xc2\x00\x2e\x00\x46\x02\x2f\x00\x48\x02\x19\x00\x1a\x00\x1b\x00\xaf\x00\xb0\x00\x49\x02\x30\x00\x51\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\xd5\x01\x1f\x00\xe3\x00\x00\x00\x20\x00\x33\x02\xc1\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x37\x02\x3a\x02\xf5\x01\xb1\x00\x3e\x02\x3b\x02\x81\x01\xf9\x01\xb2\x00\xb3\x00\x44\x02\xf8\x01\xfb\x01\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfc\x01\x06\x02\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x0f\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x11\x02\x17\x02\x12\x02\xcc\x01\x29\x00\x2a\x00\x2b\x00\xd8\x00\xb2\x01\x17\x00\x1c\x02\xe5\x00\x2c\x00\x1d\x02\x2d\x00\x1e\x02\x1f\x02\x2e\x00\x20\x02\x2f\x00\xbe\x01\x19\x00\x1a\x00\x1b\x00\xaf\x00\xb0\x00\xc0\x01\x30\x00\xb5\x01\x1c\x00\x31\x00\x1d\x00\x1e\x00\xe3\x00\x1f\x00\xd6\x01\xd7\x01\x20\x00\xd9\x01\x54\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xda\x01\xdb\x01\xe9\x01\xb1\x00\xf2\x01\xf3\x01\xe6\x00\x38\x01\xb2\x00\xb3\x00\x39\x01\x3c\x01\x52\x01\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3f\x01\x3e\x01\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x40\x01\x02\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x49\x01\x41\x01\x4a\x01\x55\x01\x29\x00\x2a\x00\x2b\x00\x56\x01\x57\x01\x17\x00\x50\x01\xe7\x00\x2c\x00\x58\x01\x2d\x00\x5b\x01\x64\x01\x2e\x00\x67\x01\x2f\x00\x87\x00\x19\x00\x1a\x00\x1b\x00\x6d\x01\x6c\x01\x74\x01\x30\x00\x6e\x01\x1c\x00\x31\x00\x1d\x00\x1e\x00\x7c\x01\x1f\x00\x8c\x01\x90\x01\x20\x00\x94\x01\x96\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x71\x01\x97\x01\x98\x01\x00\x00\x9a\x01\xc6\x00\xe8\x00\xd0\x00\xd3\x00\xaf\x00\xb0\x00\xd6\x00\xd8\x00\xcb\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcc\xff\x00\x00\xeb\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xd8\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x32\x01\x06\x01\xd8\x00\xb1\x00\x29\x00\x2a\x00\x2b\x00\x0f\x01\xb2\x00\xb3\x00\x16\x01\x25\x01\x2c\x00\xb4\x00\x2d\x00\x31\x01\x35\x01\x2e\x00\x61\x00\x2f\x00\xb5\x00\x36\x01\xaf\x00\xb0\x00\xee\x00\xb0\x00\x64\x00\x30\x00\x62\x00\x65\x00\x31\x00\x67\x00\x69\x00\x6a\x00\x66\x00\x6b\x00\x88\x00\x51\x01\x6d\x00\xef\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x7c\x00\xb1\x00\x7d\x00\xf0\x00\x7e\x00\x7f\x00\xb2\x00\xb3\x00\xf1\x00\xf2\x00\x52\x01\xb4\x00\xf3\x00\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x87\x00\xf4\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xac\x00\x02\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xdb\x00\xa2\x00\x00\x00\x00\x00\xdc\x00\xda\x00\x00\x00\x91\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xb1\x00\x00\x00\xdd\x00\xa4\x00\xde\x00\xb2\x00\xb3\x00\x00\x00\xaf\x00\xb0\x00\xb4\x00\x76\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xd3\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x2c\x00\xb4\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\xb5\x00\x00\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x73\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xb1\x00\x00\x00\xd7\x01\xa4\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\xaf\x00\xb0\x00\xb4\x00\x76\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xe2\x01\x02\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x2c\x00\xb4\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\xb5\x00\x00\x00\xaf\x00\xb0\x00\xaf\x00\xb0\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\xe3\x01\x00\x00\xe4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xb1\x00\x00\x00\xb1\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\xb2\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x00\x00\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x6d\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x73\x00\xa2\x00\x17\x00\x2c\x00\x1d\x01\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x8c\x01\xa4\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1e\x01\x1f\x00\x76\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xaf\x00\xb0\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x52\x02\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\xf7\x00\x2c\x00\x00\x00\x2d\x00\xb1\x00\x00\x00\x2e\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\xf8\x00\xb4\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xaf\x00\xb0\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x4d\x02\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\xcb\x01\x2c\x00\x00\x00\x2d\x00\xb1\x00\x00\x00\x2e\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb5\x00\x73\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xaf\x00\xb0\x00\x00\x00\x22\x00\x8d\x01\xa4\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x02\x76\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\xb1\x00\x00\x00\x2e\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x83\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x0f\x01\x3e\x00\x3f\x00\xfd\x00\x2c\x00\xfe\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x35\x02\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x53\x02\x00\x01\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x18\x02\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x1b\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x2c\x00\x1c\x00\x2d\x00\xfc\x01\x1e\x00\x2e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\xfd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x21\x02\x0f\x01\x3e\x00\x3f\x00\xfd\x00\x2c\x00\xfe\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x3f\x02\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x72\x01\x00\x01\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x22\x02\x0f\x01\x3e\x00\x3f\x00\xfd\x00\x2c\x00\xfe\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\xb0\x01\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\xff\x00\x00\x01\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x23\x02\x0f\x01\x3e\x00\x3f\x00\x17\x00\x2c\x00\x7d\x01\x2d\x00\x00\x00\x00\x00\x2e\x00\xb0\x01\xb3\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x7e\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x24\x02\x0f\x01\x3e\x00\x3f\x00\x17\x00\x2c\x00\x2e\x02\x2d\x00\x00\x00\x00\x00\x2e\x00\xe7\x01\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x83\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x0f\x01\x3e\x00\x3f\x00\x17\x00\x2c\x00\x14\x02\x2d\x00\x00\x00\x00\x00\x2e\x00\xee\x01\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x1b\x00\x00\x00\x3e\x00\x3f\x00\x17\x00\x2c\x00\x1c\x00\x2d\x00\xfc\x01\x1e\x00\x2e\x00\x1f\x00\x98\x01\xa4\x00\x20\x00\x40\x02\x00\x00\x00\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x9d\x01\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x1b\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x2c\x00\x1c\x00\x2d\x00\x9d\x01\x1e\x00\x2e\x00\x1f\x00\xa3\x00\xa4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x22\x00\x6f\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\xa7\x00\x00\x00\x00\x00\x00\x00\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\x00\x00\x70\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x71\x00\x72\x00\xb4\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xa8\x00\x00\x00\x00\x00\x8f\x01\x22\x00\x00\x00\x13\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x7a\x00\x7b\x00\xa6\x00\xa7\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\xb5\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x79\x00\x00\x00\x09\x02\x00\x00\xa6\x00\xa7\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xa8\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x1c\x00\x00\x00\x80\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x7a\x00\x7b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xa8\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3a\x01\x42\x00\x43\x00\x44\x00\x00\x00\x7a\x00\x7b\x00\x78\x00\x00\x00\x00\x00\x45\x00\x17\x00\x00\x00\x46\x00\x47\x00\x2d\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x1c\x00\x00\x00\xbb\x01\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x17\x01\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x18\x01\x42\x00\x43\x00\x44\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x01\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x1a\x01\x42\x00\x43\x00\x44\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x89\x00\x42\x00\x43\x00\x44\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x59\x01\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x1c\x00\x00\x00\x80\x00\x1e\x00\x16\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x17\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x1b\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x17\x00\x1c\x00\x18\x02\x80\x00\x1e\x00\xb5\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf0\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x36\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4a\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4c\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x58\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x67\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x68\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x69\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x79\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc6\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc7\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc9\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xdf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x94\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe9\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x62\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x8c\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x92\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x94\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x97\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb6\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb7\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb8\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb9\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x17\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x17\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x9d\x01\x1e\x00\x20\x00\x1f\x00\x1b\x00\x17\x00\x20\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x9d\x01\x1e\x00\x00\x00\x1f\x00\x73\x00\xa2\x00\x20\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x17\x00\x0f\x01\x1c\x00\x00\x00\xd3\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x10\x01\x11\x01\xa4\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x76\x00\x95\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (3, 241) [-	(3 , happyReduce_3),-	(4 , happyReduce_4),-	(5 , happyReduce_5),-	(6 , happyReduce_6),-	(7 , happyReduce_7),-	(8 , happyReduce_8),-	(9 , happyReduce_9),-	(10 , happyReduce_10),-	(11 , happyReduce_11),-	(12 , happyReduce_12),-	(13 , happyReduce_13),-	(14 , happyReduce_14),-	(15 , happyReduce_15),-	(16 , happyReduce_16),-	(17 , happyReduce_17),-	(18 , happyReduce_18),-	(19 , happyReduce_19),-	(20 , happyReduce_20),-	(21 , happyReduce_21),-	(22 , happyReduce_22),-	(23 , happyReduce_23),-	(24 , happyReduce_24),-	(25 , happyReduce_25),-	(26 , happyReduce_26),-	(27 , happyReduce_27),-	(28 , happyReduce_28),-	(29 , happyReduce_29),-	(30 , happyReduce_30),-	(31 , happyReduce_31),-	(32 , happyReduce_32),-	(33 , happyReduce_33),-	(34 , happyReduce_34),-	(35 , happyReduce_35),-	(36 , happyReduce_36),-	(37 , happyReduce_37),-	(38 , happyReduce_38),-	(39 , happyReduce_39),-	(40 , happyReduce_40),-	(41 , happyReduce_41),-	(42 , happyReduce_42),-	(43 , happyReduce_43),-	(44 , happyReduce_44),-	(45 , happyReduce_45),-	(46 , happyReduce_46),-	(47 , happyReduce_47),-	(48 , happyReduce_48),-	(49 , happyReduce_49),-	(50 , happyReduce_50),-	(51 , happyReduce_51),-	(52 , happyReduce_52),-	(53 , happyReduce_53),-	(54 , happyReduce_54),-	(55 , happyReduce_55),-	(56 , happyReduce_56),-	(57 , happyReduce_57),-	(58 , happyReduce_58),-	(59 , happyReduce_59),-	(60 , happyReduce_60),-	(61 , happyReduce_61),-	(62 , happyReduce_62),-	(63 , happyReduce_63),-	(64 , happyReduce_64),-	(65 , happyReduce_65),-	(66 , happyReduce_66),-	(67 , happyReduce_67),-	(68 , happyReduce_68),-	(69 , happyReduce_69),-	(70 , happyReduce_70),-	(71 , happyReduce_71),-	(72 , happyReduce_72),-	(73 , happyReduce_73),-	(74 , happyReduce_74),-	(75 , happyReduce_75),-	(76 , happyReduce_76),-	(77 , happyReduce_77),-	(78 , happyReduce_78),-	(79 , happyReduce_79),-	(80 , happyReduce_80),-	(81 , happyReduce_81),-	(82 , happyReduce_82),-	(83 , happyReduce_83),-	(84 , happyReduce_84),-	(85 , happyReduce_85),-	(86 , happyReduce_86),-	(87 , happyReduce_87),-	(88 , happyReduce_88),-	(89 , happyReduce_89),-	(90 , happyReduce_90),-	(91 , happyReduce_91),-	(92 , happyReduce_92),-	(93 , happyReduce_93),-	(94 , happyReduce_94),-	(95 , happyReduce_95),-	(96 , happyReduce_96),-	(97 , happyReduce_97),-	(98 , happyReduce_98),-	(99 , happyReduce_99),-	(100 , happyReduce_100),-	(101 , happyReduce_101),-	(102 , happyReduce_102),-	(103 , happyReduce_103),-	(104 , happyReduce_104),-	(105 , happyReduce_105),-	(106 , happyReduce_106),-	(107 , happyReduce_107),-	(108 , happyReduce_108),-	(109 , happyReduce_109),-	(110 , happyReduce_110),-	(111 , happyReduce_111),-	(112 , happyReduce_112),-	(113 , happyReduce_113),-	(114 , happyReduce_114),-	(115 , happyReduce_115),-	(116 , happyReduce_116),-	(117 , happyReduce_117),-	(118 , happyReduce_118),-	(119 , happyReduce_119),-	(120 , happyReduce_120),-	(121 , happyReduce_121),-	(122 , happyReduce_122),-	(123 , happyReduce_123),-	(124 , happyReduce_124),-	(125 , happyReduce_125),-	(126 , happyReduce_126),-	(127 , happyReduce_127),-	(128 , happyReduce_128),-	(129 , happyReduce_129),-	(130 , happyReduce_130),-	(131 , happyReduce_131),-	(132 , happyReduce_132),-	(133 , happyReduce_133),-	(134 , happyReduce_134),-	(135 , happyReduce_135),-	(136 , happyReduce_136),-	(137 , happyReduce_137),-	(138 , happyReduce_138),-	(139 , happyReduce_139),-	(140 , happyReduce_140),-	(141 , happyReduce_141),-	(142 , happyReduce_142),-	(143 , happyReduce_143),-	(144 , happyReduce_144),-	(145 , happyReduce_145),-	(146 , happyReduce_146),-	(147 , happyReduce_147),-	(148 , happyReduce_148),-	(149 , happyReduce_149),-	(150 , happyReduce_150),-	(151 , happyReduce_151),-	(152 , happyReduce_152),-	(153 , happyReduce_153),-	(154 , happyReduce_154),-	(155 , happyReduce_155),-	(156 , happyReduce_156),-	(157 , happyReduce_157),-	(158 , happyReduce_158),-	(159 , happyReduce_159),-	(160 , happyReduce_160),-	(161 , happyReduce_161),-	(162 , happyReduce_162),-	(163 , happyReduce_163),-	(164 , happyReduce_164),-	(165 , happyReduce_165),-	(166 , happyReduce_166),-	(167 , happyReduce_167),-	(168 , happyReduce_168),-	(169 , happyReduce_169),-	(170 , happyReduce_170),-	(171 , happyReduce_171),-	(172 , happyReduce_172),-	(173 , happyReduce_173),-	(174 , happyReduce_174),-	(175 , happyReduce_175),-	(176 , happyReduce_176),-	(177 , happyReduce_177),-	(178 , happyReduce_178),-	(179 , happyReduce_179),-	(180 , happyReduce_180),-	(181 , happyReduce_181),-	(182 , happyReduce_182),-	(183 , happyReduce_183),-	(184 , happyReduce_184),-	(185 , happyReduce_185),-	(186 , happyReduce_186),-	(187 , happyReduce_187),-	(188 , happyReduce_188),-	(189 , happyReduce_189),-	(190 , happyReduce_190),-	(191 , happyReduce_191),-	(192 , happyReduce_192),-	(193 , happyReduce_193),-	(194 , happyReduce_194),-	(195 , happyReduce_195),-	(196 , happyReduce_196),-	(197 , happyReduce_197),-	(198 , happyReduce_198),-	(199 , happyReduce_199),-	(200 , happyReduce_200),-	(201 , happyReduce_201),-	(202 , happyReduce_202),-	(203 , happyReduce_203),-	(204 , happyReduce_204),-	(205 , happyReduce_205),-	(206 , happyReduce_206),-	(207 , happyReduce_207),-	(208 , happyReduce_208),-	(209 , happyReduce_209),-	(210 , happyReduce_210),-	(211 , happyReduce_211),-	(212 , happyReduce_212),-	(213 , happyReduce_213),-	(214 , happyReduce_214),-	(215 , happyReduce_215),-	(216 , happyReduce_216),-	(217 , happyReduce_217),-	(218 , happyReduce_218),-	(219 , happyReduce_219),-	(220 , happyReduce_220),-	(221 , happyReduce_221),-	(222 , happyReduce_222),-	(223 , happyReduce_223),-	(224 , happyReduce_224),-	(225 , happyReduce_225),-	(226 , happyReduce_226),-	(227 , happyReduce_227),-	(228 , happyReduce_228),-	(229 , happyReduce_229),-	(230 , happyReduce_230),-	(231 , happyReduce_231),-	(232 , happyReduce_232),-	(233 , happyReduce_233),-	(234 , happyReduce_234),-	(235 , happyReduce_235),-	(236 , happyReduce_236),-	(237 , happyReduce_237),-	(238 , happyReduce_238),-	(239 , happyReduce_239),-	(240 , happyReduce_240),-	(241 , happyReduce_241)-	]--happy_n_terms = 115 :: Int-happy_n_nonterms = 70 :: Int--happyReduce_3 = happySpecReduce_0  0# happyReduction_3-happyReduction_3  =  happyIn6-		 ([]-	)--happyReduce_4 = happySpecReduce_2  0# happyReduction_4-happyReduction_4 happy_x_2-	happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (happy_var_1:happy_var_2-	)}}--happyReduce_5 = happySpecReduce_2  0# happyReduction_5-happyReduction_5 happy_x_2-	happy_x_1-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (map RealDecl happy_var_1 ++ happy_var_2-	)}}--happyReduce_6 = happyReduce 4# 0# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	case happyOut6 happy_x_4 of { happy_var_4 -> -	happyIn6-		 (RealDecl (PInclude happy_var_2) : happy_var_4-	) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1  1# happyReduction_7-happyReduction_7 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (happy_var_1-	)}--happyReduce_8 = happySpecReduce_1  1# happyReduction_8-happyReduction_8 happy_x_1-	 =  case happyOut24 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl (DataDecl happy_var_1)-	)}--happyReduce_9 = happySpecReduce_1  1# happyReduction_9-happyReduction_9 happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_10 = happySpecReduce_3  1# happyReduction_10-happyReduction_10 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> -	happyIn7-		 (RealDecl (Freeze happy_var_2)-	)}--happyReduce_11 = happyReduce 4# 1# happyReduction_11-happyReduction_11 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut60 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_12 = happyReduce 4# 1# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut61 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PDoUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_13 = happyReduce 4# 1# happyReduction_13-happyReduction_13 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut62 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PIdiom happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_14 = happyReduce 4# 1# happyReduction_14-happyReduction_14 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut63 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PParams happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_15 = happySpecReduce_1  1# happyReduction_15-happyReduction_15 happy_x_1-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_16 = happyReduce 6# 1# happyReduction_16-happyReduction_16 (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 happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut38 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	happyIn7-		 (PSyntax happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_17 = happySpecReduce_2  1# happyReduction_17-happyReduction_17 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CInclude happy_var_2)-	)}--happyReduce_18 = happySpecReduce_2  1# happyReduction_18-happyReduction_18 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CLib happy_var_2)-	)}--happyReduce_19 = happyReduce 5# 2# happyReduction_19-happyReduction_19 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn8-		 (Transform happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_20 = happyReduce 7# 3# happyReduction_20-happyReduction_20 (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 happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut14 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6-	) `HappyStk` happyRest}}}}}--happyReduce_21 = happySpecReduce_3  3# happyReduction_21-happyReduction_21 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut71 happy_x_2 of { happy_var_2 -> -	happyIn9-		 (ProofScript happy_var_1 happy_var_2-	)}}--happyReduce_22 = happyReduce 9# 3# happyReduction_22-happyReduction_22 (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 happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	case happyOut10 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut13 happy_x_6 of { happy_var_6 -> -	case happyOut74 happy_x_8 of { happy_var_8 -> -	case happyOut73 happy_x_9 of { happy_var_9 -> -	happyIn9-		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}}}}--happyReduce_23 = happyReduce 10# 3# happyReduction_23-happyReduction_23 (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 happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut29 happy_x_7 of { happy_var_7 -> -	case happyOut74 happy_x_9 of { happy_var_9 -> -	case happyOut73 happy_x_10 of { happy_var_10 -> -	happyIn9-		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}}}}--happyReduce_24 = happyReduce 8# 3# happyReduction_24-happyReduction_24 (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 happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut14 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_7 of { happy_var_7 -> -	case happyOut73 happy_x_8 of { happy_var_8 -> -	happyIn9-		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)-	) `HappyStk` happyRest}}}}}}--happyReduce_25 = happyReduce 5# 3# happyReduction_25-happyReduction_25 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn9-		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []-	) `HappyStk` happyRest}}--happyReduce_26 = happyReduce 8# 3# happyReduction_26-happyReduction_26 (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 happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut29 happy_x_7 of { happy_var_7 -> -	happyIn9-		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}--happyReduce_27 = happyReduce 7# 3# happyReduction_27-happyReduction_27 (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 happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut10 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut13 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_28 = happySpecReduce_1  4# happyReduction_28-happyReduction_28 happy_x_1-	 =  happyIn10-		 (False-	)--happyReduce_29 = happySpecReduce_2  4# happyReduction_29-happyReduction_29 happy_x_2-	happy_x_1-	 =  happyIn10-		 (True-	)--happyReduce_30 = happySpecReduce_3  5# happyReduction_30-happyReduction_30 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut11 happy_x_3 of { happy_var_3 -> -	happyIn11-		 (happy_var_2:happy_var_3-	)}}--happyReduce_31 = happySpecReduce_0  5# happyReduction_31-happyReduction_31  =  happyIn11-		 ([]-	)--happyReduce_32 = happySpecReduce_1  6# happyReduction_32-happyReduction_32 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn12-		 (happy_var_1-	)}--happyReduce_33 = happySpecReduce_1  6# happyReduction_33-happyReduction_33 happy_x_1-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> -	happyIn12-		 (happy_var_1-	)}--happyReduce_34 = happySpecReduce_3  6# happyReduction_34-happyReduction_34 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn12-		 (happy_var_2-	)}--happyReduce_35 = happyReduce 5# 6# happyReduction_35-happyReduction_35 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut53 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn12-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_36 = happySpecReduce_2  7# happyReduction_36-happyReduction_36 happy_x_2-	happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	case happyOut13 happy_x_2 of { happy_var_2 -> -	happyIn13-		 (happy_var_1:happy_var_2-	)}}--happyReduce_37 = happySpecReduce_1  7# happyReduction_37-happyReduction_37 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn13-		 ([happy_var_1]-	)}--happyReduce_38 = happySpecReduce_0  8# happyReduction_38-happyReduction_38  =  happyIn14-		 ([]-	)--happyReduce_39 = happySpecReduce_2  8# happyReduction_39-happyReduction_39 happy_x_2-	happy_x_1-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> -	case happyOut14 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (happy_var_1 ++ happy_var_2-	)}}--happyReduce_40 = happySpecReduce_1  9# happyReduction_40-happyReduction_40 happy_x_1-	 =  happyIn15-		 ([NoCG]-	)--happyReduce_41 = happySpecReduce_1  9# happyReduction_41-happyReduction_41 happy_x_1-	 =  happyIn15-		 ([CGEval, Inline]-	)--happyReduce_42 = happyReduce 4# 9# happyReduction_42-happyReduction_42 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut36 happy_x_3 of { happy_var_3 -> -	happyIn15-		 ([CGSpec happy_var_3]-	) `HappyStk` happyRest}--happyReduce_43 = happySpecReduce_1  9# happyReduction_43-happyReduction_43 happy_x_1-	 =  happyIn15-		 ([CGSpec []]-	)--happyReduce_44 = happySpecReduce_1  9# happyReduction_44-happyReduction_44 happy_x_1-	 =  happyIn15-		 ([Inline]-	)--happyReduce_45 = happySpecReduce_2  9# happyReduction_45-happyReduction_45 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn15-		 ([CExport happy_var_2]-	)}--happyReduce_46 = happyReduce 4# 10# happyReduction_46-happyReduction_46 (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 happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut17 happy_x_3 of { happy_var_3 -> -	happyIn16-		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3-	) `HappyStk` happyRest}}}--happyReduce_47 = happySpecReduce_1  11# happyReduction_47-happyReduction_47 happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	happyIn17-		 ([happy_var_1]-	)}--happyReduce_48 = happySpecReduce_3  11# happyReduction_48-happyReduction_48 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut17 happy_x_3 of { happy_var_3 -> -	happyIn17-		 (happy_var_1:happy_var_3-	)}}--happyReduce_49 = happySpecReduce_1  12# happyReduction_49-happyReduction_49 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> -	happyIn18-		 (happy_var_1-	)}--happyReduce_50 = happySpecReduce_1  12# happyReduction_50-happyReduction_50 happy_x_1-	 =  happyIn18-		 ("-"-	)--happyReduce_51 = happySpecReduce_1  12# happyReduction_51-happyReduction_51 happy_x_1-	 =  happyIn18-		 ("<"-	)--happyReduce_52 = happySpecReduce_1  12# happyReduction_52-happyReduction_52 happy_x_1-	 =  happyIn18-		 (">"-	)--happyReduce_53 = happySpecReduce_1  13# happyReduction_53-happyReduction_53 happy_x_1-	 =  happyIn19-		 (LeftAssoc-	)--happyReduce_54 = happySpecReduce_1  13# happyReduction_54-happyReduction_54 happy_x_1-	 =  happyIn19-		 (RightAssoc-	)--happyReduce_55 = happySpecReduce_1  13# happyReduction_55-happyReduction_55 happy_x_1-	 =  happyIn19-		 (NonAssoc-	)--happyReduce_56 = happyReduce 4# 14# happyReduction_56-happyReduction_56 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut21 happy_x_3 of { happy_var_3 -> -	happyIn20-		 (LatexDefs happy_var_3-	) `HappyStk` happyRest}--happyReduce_57 = happySpecReduce_3  15# happyReduction_57-happyReduction_57 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	happyIn21-		 ([(happy_var_1,happy_var_3)]-	)}}--happyReduce_58 = happyReduce 5# 15# happyReduction_58-happyReduction_58 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	case happyOut21 happy_x_5 of { happy_var_5 -> -	happyIn21-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_59 = happySpecReduce_2  16# happyReduction_59-happyReduction_59 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn22-		 ((happy_var_1, happy_var_2)-	)}}--happyReduce_60 = happySpecReduce_0  17# happyReduction_60-happyReduction_60  =  happyIn23-		 ([]-	)--happyReduce_61 = happySpecReduce_2  17# happyReduction_61-happyReduction_61 happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn23-		 ((happy_var_1,Nothing):happy_var_2-	)}}--happyReduce_62 = happyReduce 5# 17# happyReduction_62-happyReduction_62 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut23 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn23-		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_63 = happyReduce 5# 17# happyReduction_63-happyReduction_63 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut23 happy_x_5 of { happy_var_5 -> -	happyIn23-		 ((happy_var_3, Just happy_var_1):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_64 = happyReduce 6# 18# happyReduction_64-happyReduction_64 (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 happyOut26 happy_x_2 of { happy_var_2 -> -	case happyOut29 happy_x_3 of { happy_var_3 -> -	case happyOut25 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn24-		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}}}--happyReduce_65 = happySpecReduce_3  19# happyReduction_65-happyReduction_65 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> -	case happyOut67 happy_x_2 of { happy_var_2 -> -	happyIn25-		 (Right (happy_var_1,happy_var_2)-	)}}--happyReduce_66 = happySpecReduce_3  19# happyReduction_66-happyReduction_66 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn25-		 (Left happy_var_2-	)}--happyReduce_67 = happySpecReduce_3  19# happyReduction_67-happyReduction_67 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn25-		 (Left (RConst happy_var_2 happy_var_3 TYPE)-	)}}--happyReduce_68 = happySpecReduce_0  20# happyReduction_68-happyReduction_68  =  happyIn26-		 ([]-	)--happyReduce_69 = happySpecReduce_3  20# happyReduction_69-happyReduction_69 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut27 happy_x_2 of { happy_var_2 -> -	happyIn26-		 (happy_var_2-	)}--happyReduce_70 = happySpecReduce_1  21# happyReduction_70-happyReduction_70 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn27-		 ([happy_var_1]-	)}--happyReduce_71 = happySpecReduce_3  21# happyReduction_71-happyReduction_71 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_3 of { happy_var_3 -> -	happyIn27-		 (happy_var_1:happy_var_3-	)}}--happyReduce_72 = happySpecReduce_1  22# happyReduction_72-happyReduction_72 happy_x_1-	 =  happyIn28-		 (NoElim-	)--happyReduce_73 = happySpecReduce_1  22# happyReduction_73-happyReduction_73 happy_x_1-	 =  happyIn28-		 (Collapsible-	)--happyReduce_74 = happySpecReduce_1  23# happyReduction_74-happyReduction_74 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> -	happyIn29-		 (happy_var_1-	)}--happyReduce_75 = happySpecReduce_3  23# happyReduction_75-happyReduction_75 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_2 of { happy_var_2 -> -	happyIn29-		 (useropFn happy_var_2-	)}--happyReduce_76 = happyReduce 4# 24# happyReduction_76-happyReduction_76 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut30 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	case happyOut51 happy_x_4 of { happy_var_4 -> -	happyIn30-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_77 = happyReduce 5# 24# happyReduction_77-happyReduction_77 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut30 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn30-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_78 = happySpecReduce_3  24# happyReduction_78-happyReduction_78 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_79 = happySpecReduce_3  24# happyReduction_79-happyReduction_79 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_80 = happySpecReduce_1  24# happyReduction_80-happyReduction_80 happy_x_1-	 =  happyIn30-		 (RPlaceholder-	)--happyReduce_81 = happySpecReduce_3  24# happyReduction_81-happyReduction_81 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_82 = happySpecReduce_3  24# happyReduction_82-happyReduction_82 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_83 = happySpecReduce_1  25# happyReduction_83-happyReduction_83 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn31-		 (happy_var_1-	)}--happyReduce_84 = happySpecReduce_3  25# happyReduction_84-happyReduction_84 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn31-		 (happy_var_2-	)}--happyReduce_85 = happyReduce 4# 25# happyReduction_85-happyReduction_85 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	case happyOut51 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_86 = happyReduce 5# 25# happyReduction_86-happyReduction_86 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn31-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_87 = happyReduce 4# 25# happyReduction_87-happyReduction_87 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_88 = happyReduce 4# 25# happyReduction_88-happyReduction_88 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut32 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (doBind Lam happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_89 = happyReduce 4# 25# happyReduction_89-happyReduction_89 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut39 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (doLetBind happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_90 = happySpecReduce_1  25# happyReduction_90-happyReduction_90 happy_x_1-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> -	happyIn31-		 (happy_var_1-	)}--happyReduce_91 = happyReduce 8# 25# happyReduction_91-happyReduction_91 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_6 of { happy_var_6 -> -	case happyOut74 happy_x_7 of { happy_var_7 -> -	case happyOut73 happy_x_8 of { happy_var_8 -> -	happyIn31-		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]-	) `HappyStk` happyRest}}}}}--happyReduce_92 = happySpecReduce_2  26# happyReduction_92-happyReduction_92 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	happyIn32-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_93 = happyReduce 4# 26# happyReduction_93-happyReduction_93 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut32 happy_x_4 of { happy_var_4 -> -	happyIn32-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_94 = happySpecReduce_3  27# happyReduction_94-happyReduction_94 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn33-		 (happy_var_1 ++ happy_var_3-	)}}--happyReduce_95 = happySpecReduce_1  27# happyReduction_95-happyReduction_95 happy_x_1-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_96 = happySpecReduce_3  28# happyReduction_96-happyReduction_96 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	happyIn34-		 (map ( \x -> (x,happy_var_3)) [happy_var_1]-	)}}--happyReduce_97 = happySpecReduce_1  29# happyReduction_97-happyReduction_97 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn35-		 ([happy_var_1]-	)}--happyReduce_98 = happySpecReduce_3  29# happyReduction_98-happyReduction_98 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn35-		 (happy_var_1:happy_var_3-	)}}--happyReduce_99 = happySpecReduce_2  30# happyReduction_99-happyReduction_99 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	happyIn36-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_100 = happySpecReduce_1  30# happyReduction_100-happyReduction_100 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn36-		 ([(happy_var_1, 0)]-	)}--happyReduce_101 = happySpecReduce_3  30# happyReduction_101-happyReduction_101 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut36 happy_x_3 of { happy_var_3 -> -	happyIn36-		 ((happy_var_1,0):happy_var_3-	)}}--happyReduce_102 = happyReduce 4# 30# happyReduction_102-happyReduction_102 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut36 happy_x_4 of { happy_var_4 -> -	happyIn36-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_103 = happySpecReduce_1  31# happyReduction_103-happyReduction_103 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	happyIn37-		 ([happy_var_1]-	)}--happyReduce_104 = happySpecReduce_3  31# happyReduction_104-happyReduction_104 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn37-		 (happy_var_1:happy_var_3-	)}}--happyReduce_105 = happySpecReduce_1  32# happyReduction_105-happyReduction_105 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn38-		 ([happy_var_1]-	)}--happyReduce_106 = happySpecReduce_2  32# happyReduction_106-happyReduction_106 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut38 happy_x_2 of { happy_var_2 -> -	happyIn38-		 (happy_var_1:happy_var_2-	)}}--happyReduce_107 = happyReduce 4# 33# happyReduction_107-happyReduction_107 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn39-		 ([(happy_var_1,happy_var_2,happy_var_4)]-	) `HappyStk` happyRest}}}--happyReduce_108 = happyReduce 6# 33# happyReduction_108-happyReduction_108 (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 happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut39 happy_x_6 of { happy_var_6 -> -	happyIn39-		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_109 = happySpecReduce_3  34# happyReduction_109-happyReduction_109 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn40-		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)-	)}}}--happyReduce_110 = happySpecReduce_3  34# happyReduction_110-happyReduction_110 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn40-		 ((happy_var_1, happy_var_3)-	)}}--happyReduce_111 = happyReduce 4# 35# happyReduction_111-happyReduction_111 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn41-		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_112 = happyReduce 5# 35# happyReduction_112-happyReduction_112 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_113 = happyReduce 5# 35# happyReduction_113-happyReduction_113 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]-	) `HappyStk` happyRest}}}}--happyReduce_114 = happyReduce 5# 35# happyReduction_114-happyReduction_114 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_115 = happyReduce 5# 35# happyReduction_115-happyReduction_115 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_116 = happyReduce 5# 35# happyReduction_116-happyReduction_116 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn41-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	) `HappyStk` happyRest}}--happyReduce_117 = happySpecReduce_1  35# happyReduction_117-happyReduction_117 happy_x_1-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> -	happyIn41-		 (happy_var_1-	)}--happyReduce_118 = happyReduce 5# 35# happyReduction_118-happyReduction_118 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut51 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_119 = happyReduce 5# 36# happyReduction_119-happyReduction_119 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn42-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_120 = happyReduce 6# 37# happyReduction_120-happyReduction_120 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_121 = happyReduce 6# 37# happyReduction_121-happyReduction_121 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_122 = happyReduce 6# 37# happyReduction_122-happyReduction_122 (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 happyOut44 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_123 = happyReduce 6# 37# happyReduction_123-happyReduction_123 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut44 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_124 = happyReduce 6# 37# happyReduction_124-happyReduction_124 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_125 = happyReduce 6# 37# happyReduction_125-happyReduction_125 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_126 = happyReduce 6# 37# happyReduction_126-happyReduction_126 (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 happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)-	) `HappyStk` happyRest}}}--happyReduce_127 = happyReduce 5# 37# happyReduction_127-happyReduction_127 (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 happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (RBind (MN "X" 1) (Lam RPlaceholder)-                    (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))-                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))-	) `HappyStk` happyRest}}--happyReduce_128 = happyReduce 5# 37# happyReduction_128-happyReduction_128 (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 happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                   (RBind (MN "X" 1) (Lam RPlaceholder)-                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))-                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),-                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))-	) `HappyStk` happyRest}}--happyReduce_129 = happyReduce 6# 37# happyReduction_129-happyReduction_129 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [happy_var_2,-                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])-	) `HappyStk` happyRest}}}--happyReduce_130 = happyReduce 6# 37# happyReduction_130-happyReduction_130 (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 happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])-	) `HappyStk` happyRest}}}--happyReduce_131 = happySpecReduce_1  38# happyReduction_131-happyReduction_131 happy_x_1-	 =  happyIn44-		 ("<"-	)--happyReduce_132 = happySpecReduce_1  38# happyReduction_132-happyReduction_132 happy_x_1-	 =  happyIn44-		 (">"-	)--happyReduce_133 = happySpecReduce_0  39# happyReduction_133-happyReduction_133  =  happyIn45-		 (RPlaceholder-	)--happyReduce_134 = happySpecReduce_2  39# happyReduction_134-happyReduction_134 happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn45-		 (happy_var_2-	)}--happyReduce_135 = happySpecReduce_0  40# happyReduction_135-happyReduction_135  =  happyIn46-		 (RPlaceholder-	)--happyReduce_136 = happySpecReduce_2  40# happyReduction_136-happyReduction_136 happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn46-		 (happy_var_2-	)}--happyReduce_137 = happyReduce 5# 41# happyReduction_137-happyReduction_137 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut37 happy_x_1 of { happy_var_1 -> -	case happyOut46 happy_x_2 of { happy_var_2 -> -	case happyOut47 happy_x_5 of { happy_var_5 -> -	happyIn47-		 (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_138 = happySpecReduce_1  41# happyReduction_138-happyReduction_138 happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	happyIn47-		 (happy_var_1-	)}--happyReduce_139 = happySpecReduce_3  42# happyReduction_139-happyReduction_139 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn48-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	)}}--happyReduce_140 = happyReduce 5# 42# happyReduction_140-happyReduction_140 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut48 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (doBind (Pi Ex Eager) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_141 = happyReduce 5# 42# happyReduction_141-happyReduction_141 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut48 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (doBind (Pi Ex Lazy) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_142 = happySpecReduce_3  42# happyReduction_142-happyReduction_142 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn48-		 (bracket happy_var_2-	)}--happyReduce_143 = happyReduce 7# 42# happyReduction_143-happyReduction_143 (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 happyOut48 happy_x_2 of { happy_var_2 -> -	case happyOut48 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn48-		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_144 = happySpecReduce_1  42# happyReduction_144-happyReduction_144 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (happy_var_1-	)}--happyReduce_145 = happySpecReduce_3  42# happyReduction_145-happyReduction_145 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn48-		 (happy_var_2-	)}--happyReduce_146 = happyReduce 5# 42# happyReduction_146-happyReduction_146 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_147 = happyReduce 5# 42# happyReduction_147-happyReduction_147 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut50 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_148 = happySpecReduce_1  42# happyReduction_148-happyReduction_148 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (happy_var_1-	)}--happyReduce_149 = happyReduce 8# 43# happyReduction_149-happyReduction_149 (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 happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut48 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_7 of { happy_var_7 -> -	case happyOut73 happy_x_8 of { happy_var_8 -> -	happyIn49-		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_150 = happySpecReduce_3  44# happyReduction_150-happyReduction_150 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn50-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_151 = happySpecReduce_3  44# happyReduction_151-happyReduction_151 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	happyIn50-		 (happy_var_1:happy_var_3-	)}}--happyReduce_152 = happySpecReduce_3  45# happyReduction_152-happyReduction_152 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_153 = happySpecReduce_3  45# happyReduction_153-happyReduction_153 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RReturn happy_var_2 happy_var_3-	)}}--happyReduce_154 = happySpecReduce_3  45# happyReduction_154-happyReduction_154 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (bracket happy_var_2-	)}--happyReduce_155 = happySpecReduce_2  45# happyReduction_155-happyReduction_155 happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (RPure happy_var_2-	)}--happyReduce_156 = happySpecReduce_1  45# happyReduction_156-happyReduction_156 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> -	happyIn51-		 (RMetavar happy_var_1-	)}--happyReduce_157 = happyReduce 4# 45# happyReduction_157-happyReduction_157 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn51-		 (RExpVar happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_158 = happySpecReduce_3  45# happyReduction_158-happyReduction_158 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_159 = happySpecReduce_1  45# happyReduction_159-happyReduction_159 happy_x_1-	 =  happyIn51-		 (RRefl-	)--happyReduce_160 = happySpecReduce_3  45# happyReduction_160-happyReduction_160 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_161 = happySpecReduce_3  45# happyReduction_161-happyReduction_161 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_162 = happySpecReduce_1  45# happyReduction_162-happyReduction_162 happy_x_1-	 =  happyIn51-		 (RPlaceholder-	)--happyReduce_163 = happySpecReduce_1  45# happyReduction_163-happyReduction_163 happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (RDo happy_var_1-	)}--happyReduce_164 = happySpecReduce_3  45# happyReduction_164-happyReduction_164 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (RIdiom happy_var_2-	)}--happyReduce_165 = happyReduce 5# 45# happyReduction_165-happyReduction_165 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut53 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn51-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_166 = happySpecReduce_1  45# happyReduction_166-happyReduction_166 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_167 = happySpecReduce_1  45# happyReduction_167-happyReduction_167 happy_x_1-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_168 = happySpecReduce_1  45# happyReduction_168-happyReduction_168 happy_x_1-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_169 = happyReduce 7# 46# happyReduction_169-happyReduction_169 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_6 of { happy_var_6 -> -	case happyOut73 happy_x_7 of { happy_var_7 -> -	happyIn52-		 (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_170 = happyReduce 5# 46# happyReduction_170-happyReduction_170 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn52-		 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_171 = happySpecReduce_3  47# happyReduction_171-happyReduction_171 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_172 = happySpecReduce_3  47# happyReduction_172-happyReduction_172 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut53 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (happy_var_1:happy_var_3-	)}}--happyReduce_173 = happyReduce 4# 48# happyReduction_173-happyReduction_173 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut55 happy_x_3 of { happy_var_3 -> -	happyIn54-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_174 = happyReduce 10# 48# happyReduction_174-happyReduction_174 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_6 of { happy_var_6 -> -	case happyOut73 happy_x_7 of { happy_var_7 -> -	case happyOut55 happy_x_9 of { happy_var_9 -> -	happyIn54-		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9-	) `HappyStk` happyRest}}}}}}--happyReduce_175 = happySpecReduce_2  49# happyReduction_175-happyReduction_175 happy_x_2-	happy_x_1-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> -	case happyOut55 happy_x_2 of { happy_var_2 -> -	happyIn55-		 (happy_var_1:happy_var_2-	)}}--happyReduce_176 = happySpecReduce_1  49# happyReduction_176-happyReduction_176 happy_x_1-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> -	happyIn55-		 ([happy_var_1]-	)}--happyReduce_177 = happyReduce 7# 50# happyReduction_177-happyReduction_177 (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 happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn56-		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_178 = happyReduce 8# 50# happyReduction_178-happyReduction_178 (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 happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_6 of { happy_var_6 -> -	case happyOut73 happy_x_7 of { happy_var_7 -> -	happyIn56-		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_179 = happyReduce 4# 50# happyReduction_179-happyReduction_179 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn56-		 (DoExp happy_var_2 happy_var_3 happy_var_1-	) `HappyStk` happyRest}}}--happyReduce_180 = happySpecReduce_1  51# happyReduction_180-happyReduction_180 happy_x_1-	 =  happyIn57-		 (TYPE-	)--happyReduce_181 = happySpecReduce_1  51# happyReduction_181-happyReduction_181 happy_x_1-	 =  happyIn57-		 (StringType-	)--happyReduce_182 = happySpecReduce_1  51# happyReduction_182-happyReduction_182 happy_x_1-	 =  happyIn57-		 (IntType-	)--happyReduce_183 = happySpecReduce_1  51# happyReduction_183-happyReduction_183 happy_x_1-	 =  happyIn57-		 (CharType-	)--happyReduce_184 = happySpecReduce_1  51# happyReduction_184-happyReduction_184 happy_x_1-	 =  happyIn57-		 (FloatType-	)--happyReduce_185 = happySpecReduce_1  51# happyReduction_185-happyReduction_185 happy_x_1-	 =  happyIn57-		 (PtrType-	)--happyReduce_186 = happySpecReduce_1  51# happyReduction_186-happyReduction_186 happy_x_1-	 =  happyIn57-		 (Builtin "Handle"-	)--happyReduce_187 = happySpecReduce_1  51# happyReduction_187-happyReduction_187 happy_x_1-	 =  happyIn57-		 (Builtin "Lock"-	)--happyReduce_188 = happySpecReduce_1  51# happyReduction_188-happyReduction_188 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> -	happyIn57-		 (Num happy_var_1-	)}--happyReduce_189 = happySpecReduce_1  51# happyReduction_189-happyReduction_189 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> -	happyIn57-		 (Ch happy_var_1-	)}--happyReduce_190 = happySpecReduce_1  51# happyReduction_190-happyReduction_190 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> -	happyIn57-		 (Str happy_var_1-	)}--happyReduce_191 = happySpecReduce_1  51# happyReduction_191-happyReduction_191 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> -	happyIn57-		 (Bo happy_var_1-	)}--happyReduce_192 = happySpecReduce_1  51# happyReduction_192-happyReduction_192 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> -	happyIn57-		 (Fl happy_var_1-	)}--happyReduce_193 = happySpecReduce_0  52# happyReduction_193-happyReduction_193  =  happyIn58-		 ([]-	)--happyReduce_194 = happySpecReduce_2  52# happyReduction_194-happyReduction_194 happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut58 happy_x_2 of { happy_var_2 -> -	happyIn58-		 (happy_var_1:happy_var_2-	)}}--happyReduce_195 = happyReduce 4# 53# happyReduction_195-happyReduction_195 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut60 happy_x_3 of { happy_var_3 -> -	happyIn59-		 ((happy_var_2, happy_var_3)-	) `HappyStk` happyRest}}--happyReduce_196 = happySpecReduce_3  53# happyReduction_196-happyReduction_196 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn59-		 ((RConst happy_var_2 happy_var_3 TYPE, [])-	)}}--happyReduce_197 = happyReduce 4# 53# happyReduction_197-happyReduction_197 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut65 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn59-		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])-	) `HappyStk` happyRest}}}--happyReduce_198 = happySpecReduce_0  54# happyReduction_198-happyReduction_198  =  happyIn60-		 ([]-	)--happyReduce_199 = happyReduce 4# 54# happyReduction_199-happyReduction_199 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut64 happy_x_3 of { happy_var_3 -> -	happyIn60-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_200 = happyReduce 7# 55# happyReduction_200-happyReduction_200 (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 happyOut29 happy_x_4 of { happy_var_4 -> -	case happyOut29 happy_x_6 of { happy_var_6 -> -	happyIn61-		 ((happy_var_4,happy_var_6)-	) `HappyStk` happyRest}}--happyReduce_201 = happyReduce 6# 56# happyReduction_201-happyReduction_201 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_3 of { happy_var_3 -> -	case happyOut29 happy_x_5 of { happy_var_5 -> -	happyIn62-		 ((happy_var_3,happy_var_5)-	) `HappyStk` happyRest}}--happyReduce_202 = happyReduce 4# 57# happyReduction_202-happyReduction_202 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut64 happy_x_3 of { happy_var_3 -> -	happyIn63-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_203 = happySpecReduce_3  58# happyReduction_203-happyReduction_203 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	happyIn64-		 ([(happy_var_1, happy_var_3)]-	)}}--happyReduce_204 = happyReduce 5# 58# happyReduction_204-happyReduction_204 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut64 happy_x_5 of { happy_var_5 -> -	happyIn64-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_205 = happySpecReduce_1  59# happyReduction_205-happyReduction_205 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn65-		 ([happy_var_1]-	)}--happyReduce_206 = happySpecReduce_2  59# happyReduction_206-happyReduction_206 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut65 happy_x_2 of { happy_var_2 -> -	happyIn65-		 (happy_var_1:happy_var_2-	)}}--happyReduce_207 = happySpecReduce_1  60# happyReduction_207-happyReduction_207 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn66-		 (happy_var_1-	)}--happyReduce_208 = happySpecReduce_1  60# happyReduction_208-happyReduction_208 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn66-		 (happy_var_1-	)}--happyReduce_209 = happySpecReduce_0  61# happyReduction_209-happyReduction_209  =  happyIn67-		 ([]-	)--happyReduce_210 = happySpecReduce_1  61# happyReduction_210-happyReduction_210 happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	happyIn67-		 ([happy_var_1]-	)}--happyReduce_211 = happySpecReduce_3  61# happyReduction_211-happyReduction_211 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	case happyOut67 happy_x_3 of { happy_var_3 -> -	happyIn67-		 (happy_var_1:happy_var_3-	)}}--happyReduce_212 = happySpecReduce_2  62# happyReduction_212-happyReduction_212 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut69 happy_x_2 of { happy_var_2 -> -	happyIn68-		 (Full happy_var_1 happy_var_2-	)}}--happyReduce_213 = happySpecReduce_2  62# happyReduction_213-happyReduction_213 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut58 happy_x_2 of { happy_var_2 -> -	happyIn68-		 (Simple happy_var_1 happy_var_2-	)}}--happyReduce_214 = happySpecReduce_2  63# happyReduction_214-happyReduction_214 happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn69-		 (happy_var_2-	)}--happyReduce_215 = happySpecReduce_2  64# happyReduction_215-happyReduction_215 happy_x_2-	happy_x_1-	 =  case happyOut35 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Intro happy_var_2-	)}--happyReduce_216 = happySpecReduce_1  64# happyReduction_216-happyReduction_216 happy_x_1-	 =  happyIn70-		 (Intro []-	)--happyReduce_217 = happySpecReduce_2  64# happyReduction_217-happyReduction_217 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Refine happy_var_2-	)}--happyReduce_218 = happySpecReduce_2  64# happyReduction_218-happyReduction_218 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Generalise happy_var_2-	)}--happyReduce_219 = happySpecReduce_1  64# happyReduction_219-happyReduction_219 happy_x_1-	 =  happyIn70-		 (ReflP-	)--happyReduce_220 = happySpecReduce_2  64# happyReduction_220-happyReduction_220 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Rewrite False False happy_var_2-	)}--happyReduce_221 = happySpecReduce_3  64# happyReduction_221-happyReduction_221 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (Rewrite False True happy_var_3-	)}--happyReduce_222 = happySpecReduce_2  64# happyReduction_222-happyReduction_222 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Rewrite True False happy_var_2-	)}--happyReduce_223 = happySpecReduce_3  64# happyReduction_223-happyReduction_223 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (Rewrite True True happy_var_3-	)}--happyReduce_224 = happySpecReduce_1  64# happyReduction_224-happyReduction_224 happy_x_1-	 =  happyIn70-		 (Compute-	)--happyReduce_225 = happySpecReduce_2  64# happyReduction_225-happyReduction_225 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Unfold happy_var_2-	)}--happyReduce_226 = happySpecReduce_1  64# happyReduction_226-happyReduction_226 happy_x_1-	 =  happyIn70-		 (Undo-	)--happyReduce_227 = happySpecReduce_2  64# happyReduction_227-happyReduction_227 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Induction happy_var_2-	)}--happyReduce_228 = happySpecReduce_2  64# happyReduction_228-happyReduction_228 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Fill happy_var_2-	)}--happyReduce_229 = happySpecReduce_1  64# happyReduction_229-happyReduction_229 happy_x_1-	 =  happyIn70-		 (Trivial-	)--happyReduce_230 = happySpecReduce_2  64# happyReduction_230-happyReduction_230 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (RunTactic happy_var_2-	)}--happyReduce_231 = happySpecReduce_2  64# happyReduction_231-happyReduction_231 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Believe happy_var_2-	)}--happyReduce_232 = happySpecReduce_2  64# happyReduction_232-happyReduction_232 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Use happy_var_2-	)}--happyReduce_233 = happySpecReduce_2  64# happyReduction_233-happyReduction_233 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Decide happy_var_2-	)}--happyReduce_234 = happySpecReduce_1  64# happyReduction_234-happyReduction_234 happy_x_1-	 =  happyIn70-		 (Abandon-	)--happyReduce_235 = happySpecReduce_1  64# happyReduction_235-happyReduction_235 happy_x_1-	 =  happyIn70-		 (Qed-	)--happyReduce_236 = happyReduce 4# 65# happyReduction_236-happyReduction_236 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut72 happy_x_3 of { happy_var_3 -> -	happyIn71-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_237 = happySpecReduce_2  66# happyReduction_237-happyReduction_237 happy_x_2-	happy_x_1-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> -	happyIn72-		 ([happy_var_1]-	)}--happyReduce_238 = happySpecReduce_3  66# happyReduction_238-happyReduction_238 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> -	case happyOut72 happy_x_3 of { happy_var_3 -> -	happyIn72-		 (happy_var_1:happy_var_3-	)}}--happyReduce_239 = happyMonadReduce 0# 67# happyReduction_239-happyReduction_239 (happyRest) tk-	 = happyThen (( getLineNo)-	) (\r -> happyReturn (happyIn73 r))--happyReduce_240 = happyMonadReduce 0# 68# happyReduction_240-happyReduction_240 (happyRest) tk-	 = happyThen (( getFileName)-	) (\r -> happyReturn (happyIn74 r))--happyReduce_241 = happyMonadReduce 0# 69# happyReduction_241-happyReduction_241 (happyRest) tk-	 = happyThen (( getOps)-	) (\r -> happyReturn (happyIn75 r))--happyNewToken action sts stk-	= lexer(\tk -> -	let cont i = happyDoAction i tk action sts stk in-	case tk of {-	TokenEOF -> happyDoAction 114# tk action sts stk;-	TokenName happy_dollar_dollar -> cont 1#;-	TokenInfixName happy_dollar_dollar -> cont 2#;-	TokenBrackName happy_dollar_dollar -> cont 3#;-	TokenString happy_dollar_dollar -> cont 4#;-	TokenInt happy_dollar_dollar -> cont 5#;-	TokenFloat happy_dollar_dollar -> cont 6#;-	TokenChar happy_dollar_dollar -> cont 7#;-	TokenBool happy_dollar_dollar -> cont 8#;-	TokenMetavar happy_dollar_dollar -> cont 9#;-	TokenColon -> cont 10#;-	TokenSemi -> cont 11#;-	TokenBar -> cont 12#;-	TokenStars -> cont 13#;-	TokenLambda -> cont 14#;-	TokenHashOB -> cont 15#;-	TokenOB -> cont 16#;-	TokenCB -> cont 17#;-	TokenOCB -> cont 18#;-	TokenCCB -> cont 19#;-	TokenOSB -> cont 20#;-	TokenCSB -> cont 21#;-	TokenOId -> cont 22#;-	TokenCId -> cont 23#;-	TokenLPair -> cont 24#;-	TokenRPair -> cont 25#;-	TokenExists -> cont 26#;-	TokenTilde -> cont 27#;-	TokenPlus -> cont 28#;-	TokenMinus -> cont 29#;-	TokenTimes -> cont 30#;-	TokenDivide -> cont 31#;-	TokenEquals -> cont 32#;-	TokenMightEqual -> cont 33#;-	TokenLT -> cont 34#;-	TokenGT -> cont 35#;-	TokenEllipsis -> cont 36#;-	TokenUnderscore -> cont 37#;-	TokenComma -> cont 38#;-	TokenTuple -> cont 39#;-	TokenBang -> cont 40#;-	TokenConcat -> cont 41#;-	TokenGE -> cont 42#;-	TokenLE -> cont 43#;-	TokenOr -> cont 44#;-	TokenAnd -> cont 45#;-	TokenArrow -> cont 46#;-	TokenFatArrow -> cont 47#;-	TokenTransArrow -> cont 48#;-	TokenLeftArrow -> cont 49#;-	TokenIntType -> cont 50#;-	TokenCharType -> cont 51#;-	TokenFloatType -> cont 52#;-	TokenStringType -> cont 53#;-	TokenHandleType -> cont 54#;-	TokenPtrType -> cont 55#;-	TokenLockType -> cont 56#;-	TokenType -> cont 57#;-	TokenLazyBracket -> cont 58#;-	TokenDataType -> cont 59#;-	TokenInfix -> cont 60#;-	TokenInfixL -> cont 61#;-	TokenInfixR -> cont 62#;-	TokenUsing -> cont 63#;-	TokenIdiom -> cont 64#;-	TokenParams -> cont 65#;-	TokenNoElim -> cont 66#;-	TokenCollapsible -> cont 67#;-	TokenWhere -> cont 68#;-	TokenWith -> cont 69#;-	TokenPartial -> cont 70#;-	TokenSyntax -> cont 71#;-	TokenLazy -> cont 72#;-	TokenRefl -> cont 73#;-	TokenEmptyType -> cont 74#;-	TokenUnitType -> cont 75#;-	TokenInclude -> cont 76#;-	TokenExport -> cont 77#;-	TokenInline -> cont 78#;-	TokenDo -> cont 79#;-	TokenReturn -> cont 80#;-	TokenIf -> cont 81#;-	TokenThen -> cont 82#;-	TokenElse -> cont 83#;-	TokenLet -> cont 84#;-	TokenIn -> cont 85#;-	TokenProof -> cont 86#;-	TokenIntro -> cont 87#;-	TokenRefine -> cont 88#;-	TokenGeneralise -> cont 89#;-	TokenReflP -> cont 90#;-	TokenRewrite -> cont 91#;-	TokenRewriteAll -> cont 92#;-	TokenCompute -> cont 93#;-	TokenUnfold -> cont 94#;-	TokenUndo -> cont 95#;-	TokenInduction -> cont 96#;-	TokenFill -> cont 97#;-	TokenTrivial -> cont 98#;-	TokenMkTac -> cont 99#;-	TokenBelieve -> cont 100#;-	TokenUse -> cont 101#;-	TokenDecide -> cont 102#;-	TokenAbandon -> cont 103#;-	TokenQED -> cont 104#;-	TokenLaTeX -> cont 105#;-	TokenNoCG -> cont 106#;-	TokenEval -> cont 107#;-	TokenSpec -> cont 108#;-	TokenFreeze -> cont 109#;-	TokenThaw -> cont 110#;-	TokenTransform -> cont 111#;-	TokenCInclude -> cont 112#;-	TokenCLib -> cont 113#;-	_ -> happyError' tk-	})--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--mkparse = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--mkparseTerm = happySomeParser where-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut31 x))--mkparseTactic = happySomeParser where-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut70 x))--happySeq = happyDontSeq---data ConParse = Full Id RawTerm-              | Simple Id [RawTerm]--parse :: String -> FilePath -> Result [Decl]-parse s fn = do ds <- mkparse s fn 1 []-                collectDecls ds--processImports :: [Opt] -> [FilePath] -> Result [Decl] -> -                  IO ([Decl], [FilePath])-processImports opts imped (Success ds) = pi imped [] ds-  where pi imps decls ((PInclude fp):xs)-           | fp `elem` imps = pi imps decls xs-           | otherwise = do-                 f <- readLibFile defaultLibPath fp-                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)-                 case parse f fp of-                   Success t -> pi (fp:imps) decls (t++xs)-                   Failure e f l ->-                     fail $ f ++ ":" ++ show l ++ ":" ++ e-        pi imps decls ((Using t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Using t ds']) xs-        pi imps decls ((Params t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Params t ds']) xs-        pi imps decls ((DoUsing b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[DoUsing b r ds']) xs-        pi imps decls ((Idiom b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Idiom b r ds']) xs-        pi imps decls (x:xs) = pi imps (decls++[x]) xs-        pi imps decls [] = return (decls, imps)--processImports _ imped (Failure e f l) -    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e---parseTerm :: String -> Result RawTerm-parseTerm s = mkparseTerm s "(input)" 0 []--parseTactic :: String -> Result ITactic-parseTactic s = mkparseTactic s "(tactic)" 0 []--mkCon :: RawTerm -> ConParse -> (Id,RawTerm)-mkCon _ (Full n t) = (n,t)-mkCon ty (Simple n args) = (n, mkConTy args ty)-   where mkConTy [] ty = ty-         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)--mkDef file line (n, tms) = mkImpApp (RVar file line n) tms-   where mkImpApp f [] = f-         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts-         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts--doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm-doBind b [] t = t-doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)--doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm-doLetBind [] t = t-doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)--mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm-mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)-   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)-         getTyArgs x = []--mkTyParams :: String -> Int -> [Id] -> RawTerm-mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)--mkDatatype :: String -> Int ->-              Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> -                    [TyOpt] -> Datatype-mkDatatype file line n (Right ((t, using), cons)) opts-    = Datatype n t (map (mkCon (mkTyApp file line n t)) cons) using opts file line -mkDatatype file line n (Left t) opts-    = Latatype n t file line--bracket (RUserInfix f l _ op x y) = RUserInfix f l True op x y-bracket x = x--pairDesugar :: String -> Int -> RawTerm -> [RawTerm] -> RawTerm-pairDesugar file line pair [x,y] = mkApp file line pair [x,y]-pairDesugar file line pair (x:y:xs) -    = pairDesugar file line pair ((mkApp file line pair [x,y]):xs)--sigDesugar :: String -> Int -> (Id, RawTerm) -> RawTerm -> RawTerm-sigDesugar file line (n, tm) sc-    = mkApp file line (RVar file line (UN "Sigma")) [tm, lam]-   where lam = RBind n (Lam tm) sc-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 28 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "templates/GenericTemplate.hs" #-}--{-# LINE 59 "templates/GenericTemplate.hs" #-}--{-# LINE 68 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser).  We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =-	happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = -	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st-	= {- nothing -}---	  case action of-		0#		  -> {- nothing -}-				     happyFail i tk st-		-1# 	  -> {- nothing -}-				     happyAccept i tk st-		n | (n <# (0# :: Int#)) -> {- nothing -}--				     (happyReduceArr ! rule) i tk st-				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))-		n		  -> {- nothing -}---				     happyShift new_state i tk st-				     where new_state = (n -# (1# :: Int#))-   where off    = indexShortOffAddr happyActOffsets st-	 off_i  = (off +# i)-	 check  = if (off_i >=# (0# :: Int#))-			then (indexShortOffAddr happyCheck off_i ==#  i)-			else False- 	 action | check     = indexShortOffAddr happyTable off_i-		| otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "templates/GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =-#if __GLASGOW_HASKELL__ > 500-	narrow16Int# i-#elif __GLASGOW_HASKELL__ == 500-	intToInt16# i-#else-	(i `iShiftL#` 16#) `iShiftRA#` 16#-#endif-  where-#if __GLASGOW_HASKELL__ >= 503-	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-#else-	i = word2Int# ((high `shiftL#` 8#) `or#` low)-#endif-	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-	low  = int2Word# (ord# (indexCharOffAddr# arr off'))-	off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =-     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in---     trace "shifting the error token" $-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')-     = let r = fn v1 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')-     = let r = fn v1 v2 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')-     = let r = fn v1 v2 v3 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-     = case happyDrop (k -# (1# :: Int#)) sts of-	 sts1@((HappyCons (st1@(action)) (_))) ->-        	let r = fn stk in  -- it doesn't hurt to always seq here...-       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--             off    = indexShortOffAddr happyGotoOffsets st1-             off_i  = (off +# nt)-             new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = -   {- nothing -}-   happyDoAction j tk new_state-   where off    = indexShortOffAddr happyGotoOffsets st-	 off_i  = (off +# nt)- 	 new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail  0# tk old_st _ stk =---	trace "failing" $ -    	happyError_ tk--{-  We don't need state discarding for our restricted implementation of-    "error".  In fact, it can cause some bogus parses, so I've disabled it-    for now --SDM---- discard a state-happyFail  0# tk old_st (HappyCons ((action)) (sts)) -						(saved_tok `HappyStk` _ `HappyStk` stk) =---	trace ("discarding state, depth " ++ show (length stk))  $-	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,---                       save the old token and carry on.-happyFail  i tk (action) sts stk =---      trace "entering error recovery" $-	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a+{-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}+{-# OPTIONS -fglasgow-exts -cpp #-}+-- -*-Haskell-*-+{-# OPTIONS_GHC -fglasgow-exts #-}++module Idris.Parser where++import Data.Char+import Ivor.TT+import System.IO.Unsafe+import List+import Control.Monad++import Idris.AbsSyntax+import Idris.Lexer+import Idris.Lib++import Debug.Trace+#if __GLASGOW_HASKELL__ >= 503+import qualified Data.Array as Happy_Data_Array+#else+import qualified Array as Happy_Data_Array+#endif+#if __GLASGOW_HASKELL__ >= 503+import qualified GHC.Exts as Happy_GHC_Exts+#else+import qualified GlaExts as Happy_GHC_Exts+#endif++-- parser produced by Happy Version 1.18.4++newtype HappyAbsSyn t69 = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t69)+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn t69) -> ([ParseDecl])+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (ParseDecl) -> (HappyAbsSyn t69)+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn t69) -> (ParseDecl)+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Decl) -> (HappyAbsSyn t69)+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn t69) -> (Decl)+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (ParseDecl) -> (HappyAbsSyn t69)+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn t69) -> (ParseDecl)+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (CGFlag) -> (HappyAbsSyn t69)+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn t69) -> (CGFlag)+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Bool) -> (HappyAbsSyn t69)+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn t69) -> (Bool)+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t69)+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn t69) -> ([ParseDecl])+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t69)+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn t69) -> ([CGFlag])+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t69)+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn t69) -> ([CGFlag])+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t69)+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn t69) -> ([CGFlag])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Decl]) -> (HappyAbsSyn t69)+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn t69) -> ([Decl])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: ([String]) -> (HappyAbsSyn t69)+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn t69) -> ([String])+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (String) -> (HappyAbsSyn t69)+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn t69) -> (String)+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Fixity) -> (HappyAbsSyn t69)+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn t69) -> (Fixity)+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Decl) -> (HappyAbsSyn t69)+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn t69) -> (Decl)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t69)+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn t69) -> ([(Id,String)])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t69)+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn t69) -> ((Id, [(RawTerm, Maybe Id)]))+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t69)+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn t69) -> ([(RawTerm,Maybe Id)])+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: (Datatype) -> (HappyAbsSyn t69)+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn t69) -> (Datatype)+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t69)+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn t69) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t69)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t69) -> ([TyOpt])+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t69)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t69) -> ([TyOpt])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (TyOpt) -> (HappyAbsSyn t69)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t69) -> (TyOpt)+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: (Id) -> (HappyAbsSyn t69)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t69) -> (Id)+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: ([Id]) -> (HappyAbsSyn t69)+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn t69) -> ([Id])+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t69)+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn t69) -> ([(Id, Int)])+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([Id]) -> (HappyAbsSyn t69)+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn t69) -> ([Id])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([Id]) -> (HappyAbsSyn t69)+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn t69) -> ([Id])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t69)+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn t69) -> ([(Id, RawTerm, RawTerm)])+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t69)+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn t69) -> ((Id, RawTerm))+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (String) -> (HappyAbsSyn t69)+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn t69) -> (String)+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: ([Do]) -> (HappyAbsSyn t69)+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn t69) -> ([Do])+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: ([Do]) -> (HappyAbsSyn t69)+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn t69) -> ([Do])+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: (Do) -> (HappyAbsSyn t69)+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn t69) -> (Do)+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: (Constant) -> (HappyAbsSyn t69)+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn t69) -> (Constant)+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t69)+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn t69) -> ((RawTerm, [(Id, RawTerm)]))+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ((Id,Id)) -> (HappyAbsSyn t69)+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn t69) -> ((Id,Id))+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((Id,Id)) -> (HappyAbsSyn t69)+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn t69) -> ((Id,Id))+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: (Id) -> (HappyAbsSyn t69)+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn t69) -> (Id)+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: ([Id]) -> (HappyAbsSyn t69)+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn t69) -> ([Id])+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: t69 -> (HappyAbsSyn t69)+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn t69) -> t69+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([ConParse]) -> (HappyAbsSyn t69)+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn t69) -> ([ConParse])+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: (ConParse) -> (HappyAbsSyn t69)+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn t69) -> (ConParse)+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: (ITactic) -> (HappyAbsSyn t69)+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn t69) -> (ITactic)+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: ([ITactic]) -> (HappyAbsSyn t69)+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn t69) -> ([ITactic])+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: ([ITactic]) -> (HappyAbsSyn t69)+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn t69) -> ([ITactic])+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: (LineNumber) -> (HappyAbsSyn t69)+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn t69) -> (LineNumber)+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: (String) -> (HappyAbsSyn t69)+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn t69) -> (String)+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: (Fixities) -> (HappyAbsSyn t69)+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn t69) -> (Fixities)+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyInTok :: (Token) -> (HappyAbsSyn t69)+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn t69) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x1a\x00\x44\x05\x1e\x0e\x00\x00\xf2\x03\x13\x01\x13\x01\x44\x05\x00\x00\x46\x03\xf1\x02\x00\x00\x13\x01\x00\x00\x44\x05\x44\x05\x00\x00\x44\x05\x44\x05\x44\x05\x44\x05\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x23\x09\x47\x02\x44\x05\x44\x05\x17\x08\x44\x05\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x05\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x44\x05\x6a\x00\xeb\x03\x01\x00\x00\x00\x00\x00\x01\x00\x5a\x04\x00\x00\x36\x04\x00\x00\x0d\x02\x4a\x04\x40\x04\x3f\x04\x3d\x04\x35\x04\x5d\x09\xb9\x01\x27\x04\x00\x00\x00\x00\x00\x00\x31\x04\x30\x04\x2a\x04\x6a\x00\x6a\x00\x34\x04\xf6\x03\x1d\x04\x2b\x04\x44\x05\x18\x04\x17\x04\x00\x00\x00\x00\x8b\x03\x0f\x04\x6a\x00\x06\x04\x0e\x04\x6a\x00\x00\x00\x6a\x00\x6a\x00\x6a\x00\x6a\x00\x12\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x17\x00\x00\x00\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\x00\x00\xdd\x07\x08\x04\x0e\x01\xe9\x08\x00\x04\xe9\xff\x5d\x09\xb9\x01\x00\x00\x00\x00\x07\x04\xb7\x03\x8c\x02\x00\x00\x05\x04\xef\x04\x00\x00\x00\x00\x0b\x04\x00\x00\x0b\x04\x00\x00\x0c\x0a\xa8\x0a\xca\x01\xfc\x09\x9a\x04\xfb\x03\x9a\x04\x9a\x04\xf9\x03\xf8\x03\x9a\x04\x9a\x04\xb2\x01\x4e\x00\x00\x00\x9a\x04\xaf\x08\x6a\x00\xfd\x03\xce\x03\x00\x00\x17\x08\xe7\x03\x00\x00\x9a\x04\xdc\x03\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x00\x00\x8a\x01\x76\x01\x68\x01\x54\x01\x46\x01\x32\x01\x00\x00\x24\x01\x9a\x04\x10\x01\x9a\x04\xc4\x00\x00\x00\xd5\x03\x00\x00\x6a\x00\x5b\x00\x05\x00\x00\x00\xef\x03\xef\x03\xef\x03\xef\x03\xef\x03\x00\x00\x9a\x04\xef\x03\x17\x08\x00\x00\x00\x00\x00\x00\x9a\x04\xc7\x03\x23\x09\xe2\x03\xda\x03\xc0\x03\xb7\x01\xd4\x03\x86\x00\xcf\x03\x8f\x0a\x23\x09\x00\x00\x23\x09\xd0\x03\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x9a\x04\x00\x00\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\xcd\x03\x00\x00\x00\x00\x9a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x17\x09\xc4\x03\x45\x04\x6a\x00\x96\x03\x00\x00\xf0\x03\xf0\x03\xa6\x03\xba\x03\x9e\x03\xb3\x03\xf0\x03\xf0\x03\xf0\x03\x67\x03\x1e\x0e\xb4\x03\x97\x00\x03\x00\x97\x03\xdd\x07\xf0\x03\x00\x00\x00\x00\xa9\x03\xa8\x03\xa4\x03\xa2\x03\xa1\x03\x00\x00\x00\x00\xef\x09\x9f\x03\x00\x00\x00\x00\xf0\x03\xf0\x03\xf0\x03\x00\x00\x9a\x03\x86\x03\x00\x00\x00\x00\xe3\x00\x9d\x03\x94\x03\x80\x03\x87\x03\x6a\x00\x7d\x03\x01\x00\x6a\x00\x83\x03\x77\x03\x00\x00\xf0\x03\x82\x0a\x8d\x03\x00\x00\x69\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x6a\x00\x00\x00\xe9\x08\x00\x00\x6a\x00\x6a\x00\x70\x03\xe9\x08\x00\x00\x00\x00\x12\x02\x00\x00\x80\x0a\x6d\x0a\x5a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x0a\x00\x00\x6a\x00\x00\x00\x00\x00\xcd\x01\xcd\x01\x82\x03\x00\x00\x00\x00\x00\x00\x7c\x03\x78\x03\x23\x09\x7f\x03\x76\x03\x00\x00\x46\x0a\xac\x01\x32\x0a\x00\x00\xb9\x01\x00\x00\xf0\x03\xa7\x00\x45\x00\xf0\x03\x7b\x03\x00\x00\x00\x00\x00\x00\x57\x03\x76\x08\x00\x00\x51\x08\x29\x0a\x00\x00\x23\x09\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x00\x00\x6f\x03\x00\x00\x17\x08\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x23\x09\x54\x03\xe9\x08\x6a\x00\x53\x03\xe9\x08\x03\x00\x6a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x00\x00\x88\x00\x23\x09\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x07\x00\x00\x69\x07\x00\x00\x2f\x07\x00\x00\xf5\x06\x65\x03\x63\x03\x62\x03\x5b\x03\x59\x03\x1c\x00\x00\x00\x00\x00\xf0\x03\xbb\x06\x49\x03\x17\x09\xf0\x03\x0a\x02\x00\x00\x82\x01\x5d\x03\x4c\x03\x00\x00\x1e\x0e\x03\x00\x36\x03\x6a\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x06\x00\x00\x82\x01\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x47\x06\x52\x03\x4e\x03\x00\x00\x00\x00\x31\x03\x47\x03\x19\x0a\x6a\x00\x2b\x03\x00\x00\x6a\x00\x42\x03\x00\x00\x00\x00\x6a\x00\x00\x00\x6a\x00\x00\x00\x17\x08\x00\x00\x00\x00\xe9\x08\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x6a\x00\x82\x01\x3f\x03\x00\x00\x00\x00\x00\x00\x3d\x03\x00\x00\xfe\xff\x32\x03\xe9\x08\x00\x00\x6a\x00\x00\x00\x2f\x03\x6a\x00\x3e\x03\x00\x00\xf0\x03\x00\x00\x17\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0d\x03\x29\x03\x00\x00\x00\x00\x00\x00\x0a\x02\x0d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x00\x00\x00\x00\x12\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x76\x08\x9b\x03\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x99\x05\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x67\x09\x43\x0e\xef\x02\x00\x00\x00\x00\x91\x01\x16\x03\x32\x0e\x00\x00\x21\x0e\x10\x0e\x00\x00\x13\x03\x00\x00\xff\x0d\xee\x0d\x00\x00\xdd\x0d\xcc\x0d\xbb\x0d\xaa\x0d\x00\x00\x00\x00\xda\x02\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xaf\x06\xab\x0a\x99\x0d\x88\x0d\x58\x05\x77\x0d\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0d\x00\x00\xd6\x02\xd5\x02\x00\x00\xd1\x02\x55\x0d\x4d\x01\x00\x00\xf4\x08\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x11\x03\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x07\x03\xfe\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\xf9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x00\x00\x86\x01\x00\x00\x00\x00\x0f\x01\x00\x00\x60\x00\xf6\x02\x48\x00\xf4\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\xc4\x02\x40\x01\x00\x00\xc3\x02\xbe\x0a\x00\x00\xb7\x02\xb6\x02\x1d\x05\xc8\x04\x73\x04\x1e\x04\xc9\x03\x00\x00\x04\x04\x00\x00\x00\x00\xce\x07\x00\x00\xc1\x02\xff\xff\x0b\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x3d\x01\xad\x02\xd2\x02\xf1\x0a\xa8\x02\xa7\x02\x39\x01\xa5\x02\x36\x01\x00\x00\x17\x01\x17\x01\x27\x01\x8d\x00\x33\x0d\x00\x00\x22\x0d\x11\x0d\x00\x00\x00\x00\xbe\x09\xba\x09\x15\x01\x00\x00\x00\x00\x00\x0d\xc7\x05\x11\x02\xbb\x02\x00\x00\xa1\x02\x36\x05\x00\x00\xa0\x02\xef\x0c\x9e\x02\xde\x0c\xcd\x0c\xbc\x0c\xab\x0c\x9a\x0c\x9b\x02\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x14\x01\x89\x0c\x14\x01\x78\x0c\x14\x01\x00\x00\x00\x00\x00\x00\x87\x01\x14\x01\x14\x01\x00\x00\x0c\x01\x07\x01\x06\x01\x05\x01\xf8\x00\x9a\x02\x67\x0c\xe5\x00\x03\x05\x98\x02\x96\x02\x00\x00\x56\x0c\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xde\x00\x3b\x06\x00\x00\x39\x06\x00\x00\x95\x02\xd7\x00\x92\x02\xd2\x00\x91\x02\xd1\x00\x82\x02\xc1\x00\x81\x02\x9f\x09\x00\x00\x9b\x09\x45\x0c\x34\x0c\x40\x03\x80\x09\x00\x00\x00\x00\x80\x02\x23\x0c\x7f\x02\x7d\x02\x7c\x02\x00\x00\x00\x00\xe2\xff\xba\x00\x00\x00\xe0\x0a\x3f\x01\x00\x00\x00\x00\x12\x0c\x01\x0c\x00\x00\x00\x00\x00\x00\xba\x02\xf0\x0b\xdf\x0b\xce\x0b\x00\x00\xa6\x01\xbc\x01\x48\x02\x00\x00\x00\x00\xaf\x03\xbd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x76\x02\xb8\x00\x00\x00\x75\x02\x6f\x02\xac\x0b\x9b\x0b\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\xca\x02\x9f\x02\x00\x00\x00\x00\x00\x00\x79\x0b\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x9d\x02\x00\x00\x94\x07\x6a\x02\x08\x00\x30\x00\x00\x00\x5a\x07\x69\x02\x66\x02\xf1\x01\x00\x00\xb8\x00\xb8\x00\xb8\x00\x00\x00\x00\x00\x61\x02\x00\x00\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x60\x02\x53\x01\x5f\x02\x00\x00\xee\x01\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\xb8\x00\x0c\x00\xb8\x00\x00\x00\x95\x01\x00\x00\x57\x0b\xb8\x00\xb8\x00\x46\x0b\xd6\x01\x00\x00\x00\x00\x53\x02\x00\x00\xe1\x04\x00\x00\xe1\x04\xb8\x00\x52\x02\x7b\x05\x51\x02\xb8\x00\x00\x00\x4c\x02\x4b\x02\x43\x02\x41\x02\x40\x02\x3b\x02\x32\x02\x00\x00\x31\x02\x00\x00\x30\x02\xae\x04\x2c\x02\x00\x00\x2b\x02\x00\x00\x1e\x02\x00\x00\x01\x03\x57\x02\x00\x00\x20\x07\xd9\x01\x00\x00\xe6\x06\x00\x00\xf3\xff\xb8\x00\x25\x02\x22\x02\x00\x00\x20\x02\xb8\x00\x00\x00\x18\x02\x0e\x02\x04\x02\x01\x02\xf8\x01\x00\x00\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\xed\x01\xf3\x01\xe5\x01\xe0\x01\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x35\x0b\x8c\x04\x00\x00\xb5\x00\x24\x0b\x99\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xaf\x01\x5b\x02\xaa\x01\x99\x01\x00\x00\x00\x00\x00\x00\x97\x01\x7c\x01\x71\x01\x4a\x01\x1d\x09\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x99\x00\x31\x01\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\xf9\xff\x00\x00\x59\x04\x00\x00\x00\x00\x72\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x0b\x01\xd9\x00\x00\x00\xe1\x00\x7b\x00\xa6\x00\x13\x0b\x00\x00\x3f\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x50\x00\xef\xff\x37\x04\x4b\x00\x00\x00\x38\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x28\x00\x00\x00\xdf\xff\x37\x04\xcf\x0a\xda\xff\x37\x04\x00\x00\x00\x00\x00\x00\x37\x04\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x32\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x1c\xff\x00\x00\x00\x00\x17\xff\x00\x00\x15\xff\x00\x00\x00\x00\x12\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x0c\xff\x07\xff\x07\xff\x9e\xff\x83\xff\x51\xff\x52\xff\xa5\xff\x50\xff\x55\xff\x07\xff\xae\xff\x3a\xff\x3c\xff\x38\xff\x3b\xff\x39\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x42\xff\x41\xff\x40\xff\x43\xff\x3e\xff\x3f\xff\x3d\xff\x44\xff\x00\x00\x59\xff\x07\xff\x07\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x32\xff\xef\xff\xf8\xff\x32\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\x07\xff\x07\xff\xd9\xff\x07\xff\x00\x00\xa8\xff\x07\xff\x07\xff\x32\xff\x32\xff\x32\xff\x32\xff\x32\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\x07\xff\x08\xff\x73\xff\x00\x00\x08\xff\x08\xff\x07\xff\x07\xff\x07\xff\x5d\xff\x07\xff\x07\xff\x07\xff\x07\xff\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\x07\xff\x07\xff\x07\xff\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x08\xff\x00\x00\x00\x00\x08\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x16\xff\x07\xff\x00\x00\x07\xff\x00\x00\x07\xff\x1e\xff\x97\xff\x20\xff\x00\x00\x07\xff\x07\xff\x60\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x08\xff\x00\x00\x07\xff\x00\x00\x07\xff\x07\xff\x5a\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\xa4\xff\x00\x00\x00\x00\x08\xff\x07\xff\x08\xff\x07\xff\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x5e\xff\x07\xff\x75\xff\x74\xff\x07\xff\x07\xff\x00\x00\x54\xff\x07\xff\x00\x00\x08\xff\x08\xff\x08\xff\x58\xff\x57\xff\x07\xff\x07\xff\x00\x00\x48\xff\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x08\xff\x07\xff\x00\x00\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x32\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x07\xff\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x2e\xff\x00\x00\x31\xff\x00\x00\x07\xff\x2a\xff\x26\xff\x00\x00\x00\x00\x07\xff\x07\xff\x00\x00\xb3\xff\x07\xff\x07\xff\x07\xff\xaa\xff\xa9\xff\x07\xff\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x07\xff\x07\xff\x00\x00\x07\xff\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\x07\xff\x07\xff\x07\xff\xdc\xff\x00\x00\xca\xff\x00\x00\x07\xff\x07\xff\x00\x00\x73\xff\x49\xff\x4b\xff\x08\xff\x00\x00\xa1\xff\x5b\xff\x89\xff\x07\xff\x08\xff\x00\x00\x08\xff\x07\xff\x4c\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x08\xff\x00\x00\x08\xff\x00\x00\x07\xff\x6d\xff\x07\xff\x67\xff\x07\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x07\xff\x08\xff\x08\xff\xa3\xff\x08\xff\x07\xff\x8b\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x62\xff\x61\xff\x07\xff\x08\xff\x08\xff\x08\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\x07\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x0a\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x08\xff\x90\xff\x08\xff\xbc\xff\x08\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x08\xff\x08\xff\x32\xff\x07\xff\x37\xff\x00\x00\x25\xff\x29\xff\x08\xff\x2c\xff\x00\x00\x07\xff\x00\x00\xbf\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x2f\xff\x00\x00\xb8\xff\x26\xff\xb7\xff\x37\xff\x22\xff\x23\xff\x00\x00\x08\xff\x00\x00\xb6\xff\xb5\xff\x34\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x09\xff\x00\x00\x07\xff\x00\x00\x00\x00\x07\xff\x08\xff\x00\x00\x45\xff\x07\xff\x08\xff\x07\xff\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x08\xff\x6c\xff\x6b\xff\x00\x00\x08\xff\x4f\xff\x08\xff\x07\xff\x00\x00\x08\xff\x8c\xff\x07\xff\x08\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x35\xff\x33\xff\x21\xff\x36\xff\x24\xff\x2b\xff\x30\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\x07\xff\xe6\xff\x08\xff\x9d\xff\x00\x00\x08\xff\x00\x00\x63\xff\x69\xff\x47\xff\x00\x00\x00\x00\xe8\xff\x08\xff\x92\xff\xe7\xff\x4a\xff\x46\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x05\x00\x0a\x00\x02\x00\x07\x00\x02\x00\x03\x00\x20\x00\x21\x00\x29\x00\x19\x00\x0c\x00\x46\x00\x1c\x00\x0b\x00\x10\x00\x19\x00\x24\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x19\x00\x1a\x00\x03\x00\x01\x00\x20\x00\x21\x00\x02\x00\x02\x00\x46\x00\x19\x00\x1d\x00\x0c\x00\x26\x00\x46\x00\x0c\x00\x22\x00\x23\x00\x47\x00\x10\x00\x31\x00\x27\x00\x11\x00\x19\x00\x30\x00\x24\x00\x2e\x00\x49\x00\x2e\x00\x35\x00\x3f\x00\x47\x00\x20\x00\x21\x00\x40\x00\x41\x00\x07\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x27\x00\x49\x00\x3e\x00\x02\x00\x03\x00\x19\x00\x2e\x00\x2e\x00\x4b\x00\x19\x00\x1a\x00\x46\x00\x02\x00\x50\x00\x3d\x00\x47\x00\x53\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x11\x00\x49\x00\x19\x00\x1d\x00\x24\x00\x30\x00\x4b\x00\x0b\x00\x22\x00\x23\x00\x35\x00\x50\x00\x01\x00\x27\x00\x53\x00\x6d\x00\x47\x00\x40\x00\x41\x00\x71\x00\x2e\x00\x73\x00\x74\x00\x75\x00\x76\x00\x1d\x00\x19\x00\x10\x00\x76\x00\x2e\x00\x22\x00\x23\x00\x47\x00\x02\x00\x03\x00\x27\x00\x02\x00\x03\x00\x3d\x00\x47\x00\x6d\x00\x02\x00\x2e\x00\x02\x00\x71\x00\x0b\x00\x73\x00\x74\x00\x75\x00\x76\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x46\x00\x11\x00\x17\x00\x11\x00\x19\x00\x1d\x00\x57\x00\x3d\x00\x1d\x00\x24\x00\x22\x00\x23\x00\x46\x00\x22\x00\x23\x00\x27\x00\x20\x00\x26\x00\x27\x00\x02\x00\x03\x00\x14\x00\x2e\x00\x27\x00\x26\x00\x2e\x00\x2f\x00\x24\x00\x0b\x00\x46\x00\x2e\x00\x28\x00\x2e\x00\x47\x00\x11\x00\x12\x00\x13\x00\x14\x00\x03\x00\x24\x00\x17\x00\x29\x00\x19\x00\x15\x00\x47\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x46\x00\x22\x00\x23\x00\x12\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x76\x00\x51\x00\x52\x00\x47\x00\x2e\x00\x2f\x00\x56\x00\x57\x00\x24\x00\x59\x00\x0c\x00\x24\x00\x47\x00\x24\x00\x10\x00\x47\x00\x1d\x00\x13\x00\x37\x00\x01\x00\x24\x00\x22\x00\x23\x00\x51\x00\x52\x00\x3e\x00\x27\x00\x46\x00\x0a\x00\x0b\x00\x6e\x00\x6f\x00\x70\x00\x2e\x00\x10\x00\x76\x00\x24\x00\x24\x00\x76\x00\x51\x00\x52\x00\x19\x00\x24\x00\x47\x00\x56\x00\x57\x00\x47\x00\x59\x00\x47\x00\x24\x00\x20\x00\x23\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x24\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x01\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x47\x00\x4b\x00\x0b\x00\x24\x00\x76\x00\x47\x00\x50\x00\x47\x00\x13\x00\x53\x00\x10\x00\x19\x00\x47\x00\x02\x00\x03\x00\x19\x00\x24\x00\x24\x00\x24\x00\x47\x00\x1d\x00\x20\x00\x0b\x00\x24\x00\x22\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x24\x00\x76\x00\x24\x00\x6d\x00\x0b\x00\x2e\x00\x47\x00\x71\x00\x1d\x00\x73\x00\x74\x00\x75\x00\x46\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x29\x00\x0b\x00\x2e\x00\x47\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x47\x00\x47\x00\x24\x00\x47\x00\x0b\x00\x2e\x00\x24\x00\x23\x00\x1d\x00\x24\x00\x24\x00\x19\x00\x11\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x19\x00\x23\x00\x1d\x00\x1f\x00\x0b\x00\x2e\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x03\x00\x27\x00\x20\x00\x47\x00\x46\x00\x08\x00\x47\x00\x0b\x00\x2e\x00\x01\x00\x47\x00\x1d\x00\x76\x00\x47\x00\x47\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x0c\x00\x27\x00\x19\x00\x47\x00\x10\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x11\x00\x22\x00\x23\x00\x76\x00\x20\x00\x03\x00\x27\x00\x19\x00\x19\x00\x19\x00\x08\x00\x0d\x00\x0e\x00\x2e\x00\x20\x00\x1f\x00\x1d\x00\x76\x00\x38\x00\x19\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x1f\x00\x27\x00\x19\x00\x19\x00\x02\x00\x03\x00\x1c\x00\x0b\x00\x2e\x00\x19\x00\x1a\x00\x02\x00\x76\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x0a\x00\x46\x00\x11\x00\x0d\x00\x13\x00\x14\x00\x0a\x00\x0b\x00\x1d\x00\x76\x00\x13\x00\x2c\x00\x2d\x00\x22\x00\x23\x00\x47\x00\x19\x00\x20\x00\x27\x00\x0a\x00\x35\x00\x1d\x00\x0d\x00\x26\x00\x27\x00\x2e\x00\x22\x00\x23\x00\x46\x00\x76\x00\x27\x00\x2e\x00\x2f\x00\x43\x00\x31\x00\x45\x00\x2d\x00\x2a\x00\x2f\x00\x30\x00\x43\x00\x32\x00\x45\x00\x76\x00\x35\x00\x19\x00\x1a\x00\x46\x00\x3f\x00\x19\x00\x19\x00\x1a\x00\x46\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x48\x00\x21\x00\x44\x00\x51\x00\x52\x00\x29\x00\x76\x00\x2c\x00\x2d\x00\x51\x00\x52\x00\x2b\x00\x2c\x00\x2d\x00\x17\x00\x18\x00\x35\x00\x46\x00\x02\x00\x03\x00\x01\x00\x35\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0d\x00\x0e\x00\x6e\x00\x6f\x00\x70\x00\x10\x00\x51\x00\x52\x00\x6e\x00\x6f\x00\x70\x00\x16\x00\x03\x00\x18\x00\x46\x00\x1d\x00\x1b\x00\x08\x00\x19\x00\x46\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x26\x00\x27\x00\x25\x00\x12\x00\x47\x00\x28\x00\x17\x00\x18\x00\x2e\x00\x46\x00\x19\x00\x6e\x00\x6f\x00\x70\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x01\x00\x02\x00\x46\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0b\x00\x46\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x46\x00\x18\x00\x53\x00\x54\x00\x1b\x00\x59\x00\x1d\x00\x47\x00\x46\x00\x5a\x00\x46\x00\x22\x00\x23\x00\x46\x00\x25\x00\x26\x00\x13\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x46\x00\x2d\x00\x46\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x02\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x47\x00\x22\x00\x23\x00\x47\x00\x47\x00\x16\x00\x27\x00\x18\x00\x46\x00\x19\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x22\x00\x23\x00\x06\x00\x25\x00\x46\x00\x46\x00\x28\x00\x46\x00\x05\x00\x47\x00\x47\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x46\x00\x46\x00\x0f\x00\x10\x00\x46\x00\x12\x00\x47\x00\x14\x00\x47\x00\x46\x00\x46\x00\x56\x00\x19\x00\x29\x00\x47\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x47\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x46\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x29\x00\x29\x00\x47\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x05\x00\x18\x00\x47\x00\x47\x00\x1b\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x19\x00\x19\x00\x16\x00\x0e\x00\x25\x00\x06\x00\x47\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x11\x00\x47\x00\x47\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x19\x00\x2c\x00\x2d\x00\x19\x00\x22\x00\x23\x00\x43\x00\x13\x00\x26\x00\x27\x00\x35\x00\x15\x00\x26\x00\x15\x00\x11\x00\x2e\x00\x2e\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x03\x00\x13\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x0b\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x48\x00\x26\x00\x13\x00\x11\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x11\x00\x19\x00\x0c\x00\x1b\x00\x16\x00\x0b\x00\x18\x00\x14\x00\x14\x00\x1b\x00\x15\x00\x1d\x00\x2e\x00\x25\x00\x26\x00\x27\x00\x0b\x00\x20\x00\x11\x00\x25\x00\x11\x00\x2d\x00\x28\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x11\x00\x35\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x2e\x00\x2e\x00\x2e\x00\x11\x00\x0a\x00\x04\x00\x47\x00\x31\x00\x13\x00\x0b\x00\x13\x00\x10\x00\x02\x00\x03\x00\x26\x00\x20\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x13\x00\x20\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x20\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x26\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x22\x00\x23\x00\x15\x00\x11\x00\x16\x00\x27\x00\x18\x00\x13\x00\x13\x00\x1b\x00\x13\x00\x1d\x00\x2e\x00\x2f\x00\x13\x00\x13\x00\x26\x00\x0a\x00\x0c\x00\x25\x00\x5a\x00\x13\x00\x28\x00\x26\x00\x0b\x00\x20\x00\x31\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x13\x00\x0f\x00\x10\x00\x0d\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x11\x00\x32\x00\x19\x00\x13\x00\x35\x00\x11\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x0a\x00\x26\x00\x53\x00\x54\x00\x55\x00\x01\x00\x03\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x20\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x0a\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x59\x00\x0a\x00\x12\x00\x0b\x00\x11\x00\x25\x00\x10\x00\x13\x00\x28\x00\x0b\x00\x0b\x00\x04\x00\x04\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x01\x00\x0f\x00\x10\x00\x12\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x3f\x00\x32\x00\x19\x00\x04\x00\x35\x00\x10\x00\x14\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x10\x00\x10\x00\x0c\x00\x53\x00\x54\x00\x55\x00\x01\x00\x12\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x12\x00\x19\x00\x12\x00\x12\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x12\x00\x18\x00\x27\x00\x05\x00\x1b\x00\x76\x00\x1d\x00\x20\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x76\x00\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\x36\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x19\x00\x1a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x35\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\x0e\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\x1d\x00\x1e\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x35\x00\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x02\x00\x03\x00\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x01\x00\x02\x00\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\x4d\x00\x4e\x00\x4f\x00\x27\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x0f\x00\x10\x00\x1d\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\x42\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x0c\x00\xff\xff\x18\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x11\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x11\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x02\x00\x03\x00\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x0b\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x19\x00\xff\xff\x12\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x1d\x00\x27\x00\x0b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x2e\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x13\x00\x12\x00\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x1d\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\x2e\x00\xff\xff\x2e\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\x22\x00\x23\x00\x02\x00\x03\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\x11\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\x2e\x00\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x1d\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0e\x00\xff\xff\xff\xff\x27\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\x2e\x00\x19\x00\x2d\x00\x1b\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\x0c\x02\x22\x00\x42\x02\xdc\x00\xe5\x00\x0d\x01\xb3\x00\xb4\x00\x10\x01\x11\x01\x7d\x01\xac\x00\x51\x00\x61\x02\xb7\x01\x18\xff\x52\x00\xf2\x01\xb0\x00\xfc\xff\xdb\x01\x62\x01\x63\x01\x76\x00\x77\x00\xb4\x00\x22\x00\x28\x01\x29\x01\xe5\x00\xe5\x00\x5c\x02\x47\x01\xb5\x00\xda\xff\x43\x02\x5e\x02\x51\x00\xb6\x00\xb7\x00\xb9\x00\x52\x00\x73\xff\xb8\x00\x25\x02\x2f\x01\x78\x00\xb0\x00\xe7\x00\x12\x01\xb9\x00\x79\x00\x57\x00\x57\x02\xda\xff\xda\xff\x4b\x02\xf4\x01\x75\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x9b\x01\x12\x01\xf5\x01\xb3\x00\xb4\x00\xf2\x01\xe7\x00\xe7\x00\x5b\x00\x76\x00\x77\x00\x53\x02\xe5\x00\x5c\x00\x4c\x02\xb1\x00\x5d\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\xe6\x00\xda\xff\x2f\x01\xb5\x00\xb0\x00\x78\x00\x5b\x00\x1a\xff\xb6\x00\xb7\x00\x79\x00\x5c\x00\x22\x00\xb8\x00\x5d\x00\x5e\x00\x5f\x02\xf3\x01\xf4\x01\x5f\x00\xb9\x00\x60\x00\x61\x00\x62\x00\xfc\xff\xb5\x00\x2f\x01\x52\x00\x18\xff\xe7\x00\xb6\x00\xb7\x00\x54\x02\xb3\x00\xb4\x00\xb8\x00\xb3\x00\xb4\x00\x30\x01\x37\x02\x5e\x00\xe5\x00\xb9\x00\xe5\x00\x5f\x00\xa0\xff\x60\x00\x61\x00\x62\x00\xfc\xff\x55\x02\xa0\xff\xa0\xff\xa0\xff\xa0\xff\x58\x02\x99\x01\xa0\xff\x6e\xff\xa0\xff\xb5\x00\xd8\x01\x32\x01\xb5\x00\xb0\x00\xb6\x00\xb7\x00\x59\x02\xb6\x00\xb7\x00\xb8\x00\x9a\x01\xa0\xff\xb8\x00\xb3\x00\xb4\x00\x65\x01\xb9\x00\x9b\x01\x6e\xff\xb9\x00\xa0\xff\xb0\x00\x9f\xff\x34\x02\xe7\x00\xf0\x00\xe7\x00\x35\x02\x9f\xff\x9f\xff\x9f\xff\x9f\xff\x93\x00\xb0\x00\x9f\xff\xf8\x00\x9f\xff\x46\x01\x3a\x02\x33\x01\xb5\x00\x47\x01\xb3\x00\xb4\x00\x36\x02\xb6\x00\xb7\x00\x94\x00\x41\x01\x9f\xff\xb8\x00\x1d\xff\x22\x00\x1a\xff\xa0\xff\xa0\xff\xb1\x00\xb9\x00\x9f\xff\xa0\xff\xa0\xff\xb0\x00\xa0\xff\x51\x00\xb0\x00\x25\x01\xb0\x00\x52\x00\xb1\x00\xb5\x00\xfc\xff\x48\x01\x22\x00\xb0\x00\xb6\x00\xb7\x00\x66\x01\x67\x01\x49\x01\xb8\x00\x39\x02\x4b\x01\x4c\x01\xa0\xff\xa0\xff\xa0\xff\xb9\x00\x52\x00\xff\xff\xb0\x00\xb0\x00\xa0\xff\x9f\xff\x9f\xff\x8e\x00\xb0\x00\x1f\x02\x9f\xff\x9f\xff\xb1\x00\x9f\xff\x7c\x01\xb0\x00\x4d\x01\x3b\x02\x68\x01\x69\x01\x6a\x01\x8b\x01\xb0\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\x22\x00\x9f\xff\x9f\xff\x9f\xff\x8d\x01\x8f\x01\x5b\x00\x1b\xff\xb0\x00\x9f\xff\x91\x01\x5c\x00\x3d\x02\x18\x01\x5d\x00\x52\x00\x3e\x02\xb1\x00\xb3\x00\xb4\x00\x33\x01\xb0\x00\xb0\x00\xb0\x00\xa6\x01\xb5\x00\x19\x01\x19\xff\xb0\x00\x34\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x46\x02\xb8\x00\xb0\x00\xe7\x00\x1d\xff\xb0\x00\x5e\x00\x14\xff\xb9\x00\xa9\x01\x5f\x00\xb5\x00\x60\x00\x61\x00\x62\x00\x48\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xfe\x01\xb8\x00\xaa\x01\xab\x01\xac\x01\xb5\x00\xf8\x00\x13\xff\xb9\x00\xad\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x79\x01\xb8\x00\xb0\x00\xb1\x00\xe8\x00\xb0\x00\xb1\x00\x11\xff\xb9\x00\xb0\x00\x8f\x00\xb5\x00\xe7\x00\xb0\x00\x8e\x00\x4e\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc7\x00\xb8\x00\xb9\x00\x38\x01\x8f\x00\xb5\x00\xe6\x01\x10\xff\xb9\x00\x16\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x0f\x02\xb8\x00\x60\x02\xfc\x00\x02\x02\x45\x02\xfe\x00\x0f\xff\xb9\x00\x22\x00\xb1\x00\xb5\x00\x1b\xff\xe8\x00\xb1\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x51\x00\xb8\x00\x4a\x00\x09\x02\x52\x00\xb5\x00\x16\x02\x0e\xff\xb9\x00\x37\x01\xb6\x00\xb7\x00\x19\xff\x50\x02\x0f\x02\xb8\x00\x16\x02\x38\x01\xc7\x00\x10\x02\xd9\x01\x0c\x01\xb9\x00\x17\x02\xae\x01\xb5\x00\x14\xff\x0a\x02\xc7\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc8\x00\xb8\x00\x4a\x00\xac\x00\x68\xff\xb4\x00\xad\x00\xd2\xff\xb9\x00\x76\x00\xa6\x00\x72\x00\x13\xff\x68\xff\x68\xff\x68\xff\x65\x01\x9d\x01\x0c\x02\x68\xff\x73\xff\x68\xff\x68\xff\xe3\x01\x63\x01\xb5\x00\x11\xff\x83\x00\x32\x02\xa8\x00\xb6\x00\xb7\x00\x23\x02\x17\x00\x68\xff\xb8\x00\xdc\x00\x79\x00\x73\x00\x73\xff\x68\xff\x68\xff\xb9\x00\x74\x00\x75\x00\x0d\x02\x10\xff\x1b\x00\x68\xff\x68\xff\x6c\x01\x68\xff\x19\x02\x1c\x00\x6a\x01\x84\x00\x1e\x00\x6c\x01\x1f\x00\x6d\x01\x0f\xff\x20\x00\x76\x00\xa6\x00\x11\x02\x68\xff\xdc\x00\x76\x00\xa6\x00\x13\x02\xba\x01\xde\x00\xe4\x01\x63\x01\x68\xff\x13\x01\x85\x00\x66\x01\x67\x01\xd5\x01\x0e\xff\x33\x02\xa8\x00\x68\xff\x68\xff\x3f\x02\x15\x01\xa8\x00\xed\x01\x2b\x01\x79\x00\x14\x02\xb3\x00\xb4\x00\x22\x00\x79\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x88\x00\x0b\x01\x0c\x01\x68\x01\x69\x01\x6a\x01\x2b\x00\x66\x01\x67\x01\x68\xff\x68\xff\x68\xff\x2c\x00\x0f\x02\x2d\x00\x2e\x02\xb5\x00\x2e\x00\x1c\x02\xdc\x00\x2f\x02\xb6\x00\xb7\x00\xdd\x00\xde\x00\x1e\x02\xb8\x00\x30\x00\x48\x00\x31\x02\x31\x00\x2a\x01\x2b\x01\xb9\x00\x30\x02\x4a\x00\x68\x01\x69\x01\x6a\x01\xaf\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb0\x01\x22\x00\xa1\x00\xb1\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x61\x01\x62\x01\x63\x01\xb2\x01\x29\x00\x2a\x00\x2b\x00\x2d\x01\x2e\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\xb3\x01\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x8d\xff\xa2\x00\xc0\x01\xb4\x01\x89\x00\xb5\x01\xa3\x00\xa4\x00\xb6\x01\x30\x00\xa5\x00\x12\x02\x31\x00\x76\x00\xa6\x00\xc1\x01\xc2\x01\x17\x00\xa6\x00\xc4\x01\xc6\x01\xc8\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc9\x01\x1b\x00\xbd\x01\xa8\x00\xbe\x01\xca\x01\xcb\x01\x1c\x00\xcc\x01\x84\x00\x1e\x00\x79\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\xcd\x01\xce\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcf\x01\xd1\x01\xd4\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x72\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xe5\x01\xe7\x01\xe9\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\xee\x01\xb6\x00\xb7\x00\xef\x01\xf6\x01\x2c\x00\xb8\x00\x2d\x00\x52\x01\xf8\x01\x2e\x00\x3e\x01\xa2\x00\xb9\x00\x53\x01\x57\x01\x58\x01\x74\x00\x75\x00\x72\x01\x30\x00\x7e\x01\x7f\x01\x31\x00\x80\x01\x0e\x01\x82\x01\x8a\x01\x8c\x01\x3f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x8e\x01\x90\x01\x46\x00\x47\x00\x92\x01\x48\x00\xa3\x01\x49\x00\xa4\x01\xa8\x01\xcc\x00\x09\x01\x4a\x00\xda\x00\xd2\x00\xd5\x00\xd8\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfd\x00\xff\x00\x00\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x07\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x06\x01\x0a\x01\x20\x01\x21\x01\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x26\x01\x2d\x00\x24\x01\x25\x01\x2e\x00\x2e\x01\x2f\x00\x31\x01\xb3\x00\xb4\x00\x69\x00\x6a\x00\x6e\x00\x70\x00\x30\x00\x89\x00\x91\x00\x31\x00\x76\x00\xa6\x00\x94\x00\x95\x00\x97\x00\x4d\xff\xae\x00\xb9\x00\xc3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb5\x00\xc0\x00\xbf\x01\xa8\x00\xc6\x00\xb6\x00\xb7\x00\x04\x00\x63\x02\x57\x01\xb8\x00\x79\x00\x50\x02\x52\x02\x53\x02\x5b\x02\xe7\x00\xb9\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x3d\x02\x41\x02\x3e\x00\x3f\x00\x40\x00\x22\x00\x44\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x48\x02\xfe\x01\x45\x02\x4e\x02\x29\x00\x2a\x00\x2b\x00\x02\x02\x01\x02\x17\x00\x04\x02\x85\x01\x2c\x00\x05\x02\x2d\x00\x0f\x02\x1b\x02\x2e\x00\x16\x02\x2f\x00\x19\x02\x19\x00\x1a\x00\x1b\x00\x1c\x02\x21\x02\x26\x02\x30\x00\x27\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x28\x02\x29\x02\x20\x00\x2a\x02\xc5\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc6\x01\xba\x01\xbd\x01\xe7\x00\xc8\x01\xdc\x00\xe3\x01\x87\x01\xd4\x01\xde\x01\xdf\x01\xe1\x01\xe2\x01\xb3\x00\xb4\x00\xfb\x01\xf2\x01\xfc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x01\x3d\x01\x43\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x41\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x45\x01\x44\x01\x46\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\x4e\x01\xb6\x00\xb7\x00\x4f\x01\x55\x01\x2c\x00\xb8\x00\x2d\x00\x5a\x01\x5b\x01\x2e\x00\x5c\x01\x2f\x00\xb9\x00\x3b\x01\x5d\x01\x5e\x01\x61\x01\x6c\x01\x8b\x00\x30\x00\x6f\x01\x5f\x01\x31\x00\x74\x01\x75\x01\x76\x01\x79\x01\x17\x00\x1b\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x7c\x01\x46\x00\x47\x00\x84\x01\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x98\x01\x1f\x00\x4a\x00\x94\x01\x20\x00\x9c\x01\x9e\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x9f\x01\xa0\x01\xa2\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd7\x00\xca\x00\xd4\x00\xda\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\xdc\x00\x2d\x00\xc4\xff\xc5\xff\x2e\x00\xef\x00\x2f\x00\x00\x00\xdc\x00\x0a\x01\xdc\x00\x13\x01\x1a\x01\x2a\x01\x30\x00\x37\x01\x1a\x01\x31\x00\x36\x01\x3a\x01\x63\x00\x64\x00\x17\x00\x1c\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x66\x00\x46\x00\x47\x00\x67\x00\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x68\x00\x1f\x00\x4a\x00\x69\x00\x20\x00\x6c\x00\x70\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6d\x00\x6e\x00\x8b\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x7f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x80\x00\x17\x00\x81\x00\x82\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x83\x00\x2d\x00\x1b\x00\x8c\x00\x2e\x00\xff\xff\x2f\x00\xb0\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\xff\xff\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1d\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x4a\x02\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1e\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xc3\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xd7\x00\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8c\x00\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x99\x00\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xa6\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x64\x02\x00\x00\x00\x00\xd0\x01\xa8\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x79\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x70\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x5c\x02\x00\x00\xdf\x00\xa6\x00\x00\x00\x2b\x00\xe0\x00\xde\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa8\x00\xe2\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x57\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x02\x76\x00\xa6\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x94\x01\xa8\x00\x95\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x79\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x49\x02\x15\x01\xa8\x00\x00\x00\xa0\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x22\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\xbb\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2d\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf0\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2e\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf7\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x14\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\xb3\x00\xb4\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x72\x00\x8a\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\xaa\x00\xab\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x17\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x8d\x00\x42\x00\x43\x00\x44\x00\xaa\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xb4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\xaa\x00\xab\x00\xb5\x00\x00\x00\x17\x00\x7d\x00\x7e\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xb9\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x1c\x00\x00\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x07\x02\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x45\x00\x00\x00\x2d\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xd1\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x84\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xe9\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x88\x01\x19\x00\x1a\x00\x1b\x00\x89\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xb4\x00\x56\x01\xea\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf3\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x57\x01\xb8\x00\x00\x00\x00\x00\xf4\x00\x00\x00\xb3\x00\xb4\x00\xb9\x00\xf5\x00\xf6\x00\x00\x00\x00\x00\xf7\x00\xb8\x00\x00\x02\xfb\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf8\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xfc\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xd3\x01\x00\x00\xdb\x01\x00\x00\xb5\x00\xb9\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xb5\x00\xb8\x00\xdd\x01\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xb9\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xe9\x01\xeb\x01\xb8\x00\x00\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb5\x00\x00\x00\xb5\x00\xec\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\xb9\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\xed\x01\x00\x00\xfd\x01\x00\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\x00\x00\xb5\x00\x97\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\xb9\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\xb5\x00\x9d\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x70\x00\x00\x00\x00\x00\xb8\x00\x19\x00\x1a\x00\x1b\x00\x9e\x00\x00\x00\x00\x00\xb9\x00\x17\x00\x1c\x00\x22\x01\x1d\x00\x1e\x00\x9f\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x23\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x5d\x02\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x7a\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x85\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x03\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x38\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x1e\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x22\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd6\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd8\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf9\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x3b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x50\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x51\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x5e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x70\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x71\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x76\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x77\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x81\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa2\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa7\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xed\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xef\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x64\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x90\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9b\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbe\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc5\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (3, 249) [+	(3 , happyReduce_3),+	(4 , happyReduce_4),+	(5 , happyReduce_5),+	(6 , happyReduce_6),+	(7 , happyReduce_7),+	(8 , happyReduce_8),+	(9 , happyReduce_9),+	(10 , happyReduce_10),+	(11 , happyReduce_11),+	(12 , happyReduce_12),+	(13 , happyReduce_13),+	(14 , happyReduce_14),+	(15 , happyReduce_15),+	(16 , happyReduce_16),+	(17 , happyReduce_17),+	(18 , happyReduce_18),+	(19 , happyReduce_19),+	(20 , happyReduce_20),+	(21 , happyReduce_21),+	(22 , happyReduce_22),+	(23 , happyReduce_23),+	(24 , happyReduce_24),+	(25 , happyReduce_25),+	(26 , happyReduce_26),+	(27 , happyReduce_27),+	(28 , happyReduce_28),+	(29 , happyReduce_29),+	(30 , happyReduce_30),+	(31 , happyReduce_31),+	(32 , happyReduce_32),+	(33 , happyReduce_33),+	(34 , happyReduce_34),+	(35 , happyReduce_35),+	(36 , happyReduce_36),+	(37 , happyReduce_37),+	(38 , happyReduce_38),+	(39 , happyReduce_39),+	(40 , happyReduce_40),+	(41 , happyReduce_41),+	(42 , happyReduce_42),+	(43 , happyReduce_43),+	(44 , happyReduce_44),+	(45 , happyReduce_45),+	(46 , happyReduce_46),+	(47 , happyReduce_47),+	(48 , happyReduce_48),+	(49 , happyReduce_49),+	(50 , happyReduce_50),+	(51 , happyReduce_51),+	(52 , happyReduce_52),+	(53 , happyReduce_53),+	(54 , happyReduce_54),+	(55 , happyReduce_55),+	(56 , happyReduce_56),+	(57 , happyReduce_57),+	(58 , happyReduce_58),+	(59 , happyReduce_59),+	(60 , happyReduce_60),+	(61 , happyReduce_61),+	(62 , happyReduce_62),+	(63 , happyReduce_63),+	(64 , happyReduce_64),+	(65 , happyReduce_65),+	(66 , happyReduce_66),+	(67 , happyReduce_67),+	(68 , happyReduce_68),+	(69 , happyReduce_69),+	(70 , happyReduce_70),+	(71 , happyReduce_71),+	(72 , happyReduce_72),+	(73 , happyReduce_73),+	(74 , happyReduce_74),+	(75 , happyReduce_75),+	(76 , happyReduce_76),+	(77 , happyReduce_77),+	(78 , happyReduce_78),+	(79 , happyReduce_79),+	(80 , happyReduce_80),+	(81 , happyReduce_81),+	(82 , happyReduce_82),+	(83 , happyReduce_83),+	(84 , happyReduce_84),+	(85 , happyReduce_85),+	(86 , happyReduce_86),+	(87 , happyReduce_87),+	(88 , happyReduce_88),+	(89 , happyReduce_89),+	(90 , happyReduce_90),+	(91 , happyReduce_91),+	(92 , happyReduce_92),+	(93 , happyReduce_93),+	(94 , happyReduce_94),+	(95 , happyReduce_95),+	(96 , happyReduce_96),+	(97 , happyReduce_97),+	(98 , happyReduce_98),+	(99 , happyReduce_99),+	(100 , happyReduce_100),+	(101 , happyReduce_101),+	(102 , happyReduce_102),+	(103 , happyReduce_103),+	(104 , happyReduce_104),+	(105 , happyReduce_105),+	(106 , happyReduce_106),+	(107 , happyReduce_107),+	(108 , happyReduce_108),+	(109 , happyReduce_109),+	(110 , happyReduce_110),+	(111 , happyReduce_111),+	(112 , happyReduce_112),+	(113 , happyReduce_113),+	(114 , happyReduce_114),+	(115 , happyReduce_115),+	(116 , happyReduce_116),+	(117 , happyReduce_117),+	(118 , happyReduce_118),+	(119 , happyReduce_119),+	(120 , happyReduce_120),+	(121 , happyReduce_121),+	(122 , happyReduce_122),+	(123 , happyReduce_123),+	(124 , happyReduce_124),+	(125 , happyReduce_125),+	(126 , happyReduce_126),+	(127 , happyReduce_127),+	(128 , happyReduce_128),+	(129 , happyReduce_129),+	(130 , happyReduce_130),+	(131 , happyReduce_131),+	(132 , happyReduce_132),+	(133 , happyReduce_133),+	(134 , happyReduce_134),+	(135 , happyReduce_135),+	(136 , happyReduce_136),+	(137 , happyReduce_137),+	(138 , happyReduce_138),+	(139 , happyReduce_139),+	(140 , happyReduce_140),+	(141 , happyReduce_141),+	(142 , happyReduce_142),+	(143 , happyReduce_143),+	(144 , happyReduce_144),+	(145 , happyReduce_145),+	(146 , happyReduce_146),+	(147 , happyReduce_147),+	(148 , happyReduce_148),+	(149 , happyReduce_149),+	(150 , happyReduce_150),+	(151 , happyReduce_151),+	(152 , happyReduce_152),+	(153 , happyReduce_153),+	(154 , happyReduce_154),+	(155 , happyReduce_155),+	(156 , happyReduce_156),+	(157 , happyReduce_157),+	(158 , happyReduce_158),+	(159 , happyReduce_159),+	(160 , happyReduce_160),+	(161 , happyReduce_161),+	(162 , happyReduce_162),+	(163 , happyReduce_163),+	(164 , happyReduce_164),+	(165 , happyReduce_165),+	(166 , happyReduce_166),+	(167 , happyReduce_167),+	(168 , happyReduce_168),+	(169 , happyReduce_169),+	(170 , happyReduce_170),+	(171 , happyReduce_171),+	(172 , happyReduce_172),+	(173 , happyReduce_173),+	(174 , happyReduce_174),+	(175 , happyReduce_175),+	(176 , happyReduce_176),+	(177 , happyReduce_177),+	(178 , happyReduce_178),+	(179 , happyReduce_179),+	(180 , happyReduce_180),+	(181 , happyReduce_181),+	(182 , happyReduce_182),+	(183 , happyReduce_183),+	(184 , happyReduce_184),+	(185 , happyReduce_185),+	(186 , happyReduce_186),+	(187 , happyReduce_187),+	(188 , happyReduce_188),+	(189 , happyReduce_189),+	(190 , happyReduce_190),+	(191 , happyReduce_191),+	(192 , happyReduce_192),+	(193 , happyReduce_193),+	(194 , happyReduce_194),+	(195 , happyReduce_195),+	(196 , happyReduce_196),+	(197 , happyReduce_197),+	(198 , happyReduce_198),+	(199 , happyReduce_199),+	(200 , happyReduce_200),+	(201 , happyReduce_201),+	(202 , happyReduce_202),+	(203 , happyReduce_203),+	(204 , happyReduce_204),+	(205 , happyReduce_205),+	(206 , happyReduce_206),+	(207 , happyReduce_207),+	(208 , happyReduce_208),+	(209 , happyReduce_209),+	(210 , happyReduce_210),+	(211 , happyReduce_211),+	(212 , happyReduce_212),+	(213 , happyReduce_213),+	(214 , happyReduce_214),+	(215 , happyReduce_215),+	(216 , happyReduce_216),+	(217 , happyReduce_217),+	(218 , happyReduce_218),+	(219 , happyReduce_219),+	(220 , happyReduce_220),+	(221 , happyReduce_221),+	(222 , happyReduce_222),+	(223 , happyReduce_223),+	(224 , happyReduce_224),+	(225 , happyReduce_225),+	(226 , happyReduce_226),+	(227 , happyReduce_227),+	(228 , happyReduce_228),+	(229 , happyReduce_229),+	(230 , happyReduce_230),+	(231 , happyReduce_231),+	(232 , happyReduce_232),+	(233 , happyReduce_233),+	(234 , happyReduce_234),+	(235 , happyReduce_235),+	(236 , happyReduce_236),+	(237 , happyReduce_237),+	(238 , happyReduce_238),+	(239 , happyReduce_239),+	(240 , happyReduce_240),+	(241 , happyReduce_241),+	(242 , happyReduce_242),+	(243 , happyReduce_243),+	(244 , happyReduce_244),+	(245 , happyReduce_245),+	(246 , happyReduce_246),+	(247 , happyReduce_247),+	(248 , happyReduce_248),+	(249 , happyReduce_249)+	]++happy_n_terms = 119 :: Int+happy_n_nonterms = 73 :: Int++happyReduce_3 = happySpecReduce_0  0# happyReduction_3+happyReduction_3  =  happyIn6+		 ([]+	)++happyReduce_4 = happySpecReduce_2  0# happyReduction_4+happyReduction_4 happy_x_2+	happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (happy_var_1:happy_var_2+	)}}++happyReduce_5 = happySpecReduce_2  0# happyReduction_5+happyReduction_5 happy_x_2+	happy_x_1+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (map RealDecl happy_var_1 ++ happy_var_2+	)}}++happyReduce_6 = happyReduce 4# 0# happyReduction_6+happyReduction_6 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	case happyOut6 happy_x_4 of { happy_var_4 -> +	happyIn6+		 (RealDecl (PInclude happy_var_2) : happy_var_4+	) `HappyStk` happyRest}}++happyReduce_7 = happySpecReduce_1  1# happyReduction_7+happyReduction_7 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (happy_var_1+	)}++happyReduce_8 = happySpecReduce_1  1# happyReduction_8+happyReduction_8 happy_x_1+	 =  case happyOut26 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl (DataDecl happy_var_1)+	)}++happyReduce_9 = happySpecReduce_1  1# happyReduction_9+happyReduction_9 happy_x_1+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_10 = happySpecReduce_3  1# happyReduction_10+happyReduction_10 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> +	happyIn7+		 (RealDecl (Freeze happy_var_2)+	)}++happyReduce_11 = happyReduce 4# 1# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut62 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_12 = happyReduce 4# 1# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut63 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PDoUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_13 = happyReduce 4# 1# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut64 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PIdiom happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_14 = happyReduce 4# 1# happyReduction_14+happyReduction_14 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut65 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PParams happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 4# 1# happyReduction_15+happyReduction_15 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut66 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PNamespace happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_16 = happySpecReduce_1  1# happyReduction_16+happyReduction_16 happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_17 = happyReduce 6# 1# happyReduction_17+happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut40 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	happyIn7+		 (PSyntax happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_18 = happySpecReduce_2  1# happyReduction_18+happyReduction_18 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CInclude happy_var_2)+	)}++happyReduce_19 = happySpecReduce_2  1# happyReduction_19+happyReduction_19 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CLib happy_var_2)+	)}++happyReduce_20 = happyReduce 5# 2# happyReduction_20+happyReduction_20 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn8+		 (Transform happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_21 = happyReduce 7# 3# happyReduction_21+happyReduction_21 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut15 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6+	) `HappyStk` happyRest}}}}}++happyReduce_22 = happySpecReduce_3  3# happyReduction_22+happyReduction_22 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut74 happy_x_2 of { happy_var_2 -> +	happyIn9+		 (ProofScript happy_var_1 happy_var_2+	)}}++happyReduce_23 = happyReduce 9# 3# happyReduction_23+happyReduction_23 (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 happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	case happyOut77 happy_x_8 of { happy_var_8 -> +	case happyOut76 happy_x_9 of { happy_var_9 -> +	happyIn9+		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}}}}++happyReduce_24 = happyReduce 10# 3# happyReduction_24+happyReduction_24 (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 happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	case happyOut77 happy_x_9 of { happy_var_9 -> +	case happyOut76 happy_x_10 of { happy_var_10 -> +	happyIn9+		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}}}}++happyReduce_25 = happyReduce 8# 3# happyReduction_25+happyReduction_25 (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 happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut15 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_7 of { happy_var_7 -> +	case happyOut76 happy_x_8 of { happy_var_8 -> +	happyIn9+		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)+	) `HappyStk` happyRest}}}}}}++happyReduce_26 = happyReduce 5# 3# happyReduction_26+happyReduction_26 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn9+		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []+	) `HappyStk` happyRest}}++happyReduce_27 = happyReduce 8# 3# happyReduction_27+happyReduction_27 (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 happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	happyIn9+		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}++happyReduce_28 = happyReduce 7# 3# happyReduction_28+happyReduction_28 (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 happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_29 = happySpecReduce_1  4# happyReduction_29+happyReduction_29 happy_x_1+	 =  happyIn10+		 (Vis Public+	)++happyReduce_30 = happySpecReduce_1  4# happyReduction_30+happyReduction_30 happy_x_1+	 =  happyIn10+		 (Vis Private+	)++happyReduce_31 = happySpecReduce_1  4# happyReduction_31+happyReduction_31 happy_x_1+	 =  happyIn10+		 (Vis Abstract+	)++happyReduce_32 = happySpecReduce_0  4# happyReduction_32+happyReduction_32  =  happyIn10+		 (Vis Public+	)++happyReduce_33 = happySpecReduce_1  5# happyReduction_33+happyReduction_33 happy_x_1+	 =  happyIn11+		 (False+	)++happyReduce_34 = happySpecReduce_2  5# happyReduction_34+happyReduction_34 happy_x_2+	happy_x_1+	 =  happyIn11+		 (True+	)++happyReduce_35 = happySpecReduce_3  6# happyReduction_35+happyReduction_35 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut12 happy_x_3 of { happy_var_3 -> +	happyIn12+		 (happy_var_2:happy_var_3+	)}}++happyReduce_36 = happySpecReduce_0  6# happyReduction_36+happyReduction_36  =  happyIn12+		 ([]+	)++happyReduce_37 = happySpecReduce_1  7# happyReduction_37+happyReduction_37 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_38 = happySpecReduce_1  7# happyReduction_38+happyReduction_38 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_39 = happySpecReduce_3  7# happyReduction_39+happyReduction_39 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn13+		 (happy_var_2+	)}++happyReduce_40 = happyReduce 5# 7# happyReduction_40+happyReduction_40 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut55 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn13+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_41 = happySpecReduce_2  8# happyReduction_41+happyReduction_41 happy_x_2+	happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (happy_var_1:happy_var_2+	)}}++happyReduce_42 = happySpecReduce_1  8# happyReduction_42+happyReduction_42 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn14+		 ([happy_var_1]+	)}++happyReduce_43 = happySpecReduce_1  9# happyReduction_43+happyReduction_43 happy_x_1+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> +	happyIn15+		 (happy_var_1+	)}++happyReduce_44 = happySpecReduce_3  9# happyReduction_44+happyReduction_44 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn15+		 (happy_var_2+	)}++happyReduce_45 = happySpecReduce_0  10# happyReduction_45+happyReduction_45  =  happyIn16+		 ([]+	)++happyReduce_46 = happySpecReduce_2  10# happyReduction_46+happyReduction_46 happy_x_2+	happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn16+		 (happy_var_1 ++ happy_var_2+	)}}++happyReduce_47 = happySpecReduce_1  11# happyReduction_47+happyReduction_47 happy_x_1+	 =  happyIn17+		 ([NoCG]+	)++happyReduce_48 = happySpecReduce_1  11# happyReduction_48+happyReduction_48 happy_x_1+	 =  happyIn17+		 ([CGEval, Inline]+	)++happyReduce_49 = happyReduce 4# 11# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn17+		 ([CGSpec happy_var_3]+	) `HappyStk` happyRest}++happyReduce_50 = happySpecReduce_1  11# happyReduction_50+happyReduction_50 happy_x_1+	 =  happyIn17+		 ([CGSpec []]+	)++happyReduce_51 = happySpecReduce_1  11# happyReduction_51+happyReduction_51 happy_x_1+	 =  happyIn17+		 ([Inline]+	)++happyReduce_52 = happySpecReduce_2  11# happyReduction_52+happyReduction_52 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn17+		 ([CExport happy_var_2]+	)}++happyReduce_53 = happyReduce 4# 12# happyReduction_53+happyReduction_53 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut21 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn18+		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3+	) `HappyStk` happyRest}}}++happyReduce_54 = happySpecReduce_1  13# happyReduction_54+happyReduction_54 happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	happyIn19+		 ([happy_var_1]+	)}++happyReduce_55 = happySpecReduce_3  13# happyReduction_55+happyReduction_55 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn19+		 (happy_var_1:happy_var_3+	)}}++happyReduce_56 = happySpecReduce_1  14# happyReduction_56+happyReduction_56 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> +	happyIn20+		 (happy_var_1+	)}++happyReduce_57 = happySpecReduce_1  14# happyReduction_57+happyReduction_57 happy_x_1+	 =  happyIn20+		 ("-"+	)++happyReduce_58 = happySpecReduce_1  14# happyReduction_58+happyReduction_58 happy_x_1+	 =  happyIn20+		 ("<"+	)++happyReduce_59 = happySpecReduce_1  14# happyReduction_59+happyReduction_59 happy_x_1+	 =  happyIn20+		 (">"+	)++happyReduce_60 = happySpecReduce_1  15# happyReduction_60+happyReduction_60 happy_x_1+	 =  happyIn21+		 (LeftAssoc+	)++happyReduce_61 = happySpecReduce_1  15# happyReduction_61+happyReduction_61 happy_x_1+	 =  happyIn21+		 (RightAssoc+	)++happyReduce_62 = happySpecReduce_1  15# happyReduction_62+happyReduction_62 happy_x_1+	 =  happyIn21+		 (NonAssoc+	)++happyReduce_63 = happyReduce 4# 16# happyReduction_63+happyReduction_63 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut23 happy_x_3 of { happy_var_3 -> +	happyIn22+		 (LatexDefs happy_var_3+	) `HappyStk` happyRest}++happyReduce_64 = happySpecReduce_3  17# happyReduction_64+happyReduction_64 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	happyIn23+		 ([(happy_var_1,happy_var_3)]+	)}}++happyReduce_65 = happyReduce 5# 17# happyReduction_65+happyReduction_65 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	case happyOut23 happy_x_5 of { happy_var_5 -> +	happyIn23+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_66 = happySpecReduce_2  18# happyReduction_66+happyReduction_66 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn24+		 ((happy_var_1, happy_var_2)+	)}}++happyReduce_67 = happySpecReduce_0  19# happyReduction_67+happyReduction_67  =  happyIn25+		 ([]+	)++happyReduce_68 = happySpecReduce_2  19# happyReduction_68+happyReduction_68 happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn25+		 ((happy_var_1,Nothing):happy_var_2+	)}}++happyReduce_69 = happyReduce 5# 19# happyReduction_69+happyReduction_69 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut25 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_70 = happyReduce 5# 19# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut25 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((happy_var_3, Just happy_var_1):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_71 = happyReduce 6# 20# happyReduction_71+happyReduction_71 (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_2 of { happy_var_2 -> +	case happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut27 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn26+		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}}}++happyReduce_72 = happySpecReduce_3  21# happyReduction_72+happyReduction_72 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> +	case happyOut70 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Right (happy_var_1,happy_var_2)+	)}}++happyReduce_73 = happySpecReduce_3  21# happyReduction_73+happyReduction_73 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Left happy_var_2+	)}++happyReduce_74 = happySpecReduce_3  21# happyReduction_74+happyReduction_74 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn27+		 (Left (RConst happy_var_2 happy_var_3 TYPE)+	)}}++happyReduce_75 = happySpecReduce_0  22# happyReduction_75+happyReduction_75  =  happyIn28+		 ([]+	)++happyReduce_76 = happySpecReduce_3  22# happyReduction_76+happyReduction_76 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut29 happy_x_2 of { happy_var_2 -> +	happyIn28+		 (happy_var_2+	)}++happyReduce_77 = happySpecReduce_1  23# happyReduction_77+happyReduction_77 happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	happyIn29+		 ([happy_var_1]+	)}++happyReduce_78 = happySpecReduce_3  23# happyReduction_78+happyReduction_78 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	case happyOut29 happy_x_3 of { happy_var_3 -> +	happyIn29+		 (happy_var_1:happy_var_3+	)}}++happyReduce_79 = happySpecReduce_1  24# happyReduction_79+happyReduction_79 happy_x_1+	 =  happyIn30+		 (NoElim+	)++happyReduce_80 = happySpecReduce_1  24# happyReduction_80+happyReduction_80 happy_x_1+	 =  happyIn30+		 (Collapsible+	)++happyReduce_81 = happySpecReduce_1  25# happyReduction_81+happyReduction_81 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> +	happyIn31+		 (happy_var_1+	)}++happyReduce_82 = happySpecReduce_3  25# happyReduction_82+happyReduction_82 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_2 of { happy_var_2 -> +	happyIn31+		 (useropFn happy_var_2+	)}++happyReduce_83 = happyReduce 4# 26# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn32+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_84 = happyReduce 5# 26# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn32+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_85 = happySpecReduce_3  26# happyReduction_85+happyReduction_85 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_86 = happySpecReduce_3  26# happyReduction_86+happyReduction_86 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_87 = happySpecReduce_1  26# happyReduction_87+happyReduction_87 happy_x_1+	 =  happyIn32+		 (RPlaceholder+	)++happyReduce_88 = happySpecReduce_3  26# happyReduction_88+happyReduction_88 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_89 = happySpecReduce_3  26# happyReduction_89+happyReduction_89 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_90 = happySpecReduce_1  27# happyReduction_90+happyReduction_90 happy_x_1+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_91 = happySpecReduce_3  27# happyReduction_91+happyReduction_91 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn33+		 (happy_var_2+	)}++happyReduce_92 = happyReduce 4# 27# happyReduction_92+happyReduction_92 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_93 = happyReduce 5# 27# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn33+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_94 = happyReduce 4# 27# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_95 = happyReduce 4# 27# happyReduction_95+happyReduction_95 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut34 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doBind Lam happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_96 = happyReduce 4# 27# happyReduction_96+happyReduction_96 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut41 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doLetBind happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_97 = happySpecReduce_1  27# happyReduction_97+happyReduction_97 happy_x_1+	 =  case happyOut43 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_98 = happyReduce 8# 27# happyReduction_98+happyReduction_98 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut33 happy_x_6 of { happy_var_6 -> +	case happyOut77 happy_x_7 of { happy_var_7 -> +	case happyOut76 happy_x_8 of { happy_var_8 -> +	happyIn33+		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]+	) `HappyStk` happyRest}}}}}++happyReduce_99 = happySpecReduce_2  28# happyReduction_99+happyReduction_99 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	happyIn34+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_100 = happyReduce 4# 28# happyReduction_100+happyReduction_100 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut34 happy_x_4 of { happy_var_4 -> +	happyIn34+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_101 = happySpecReduce_3  29# happyReduction_101+happyReduction_101 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	case happyOut35 happy_x_3 of { happy_var_3 -> +	happyIn35+		 (happy_var_1 ++ happy_var_3+	)}}++happyReduce_102 = happySpecReduce_1  29# happyReduction_102+happyReduction_102 happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	happyIn35+		 (happy_var_1+	)}++happyReduce_103 = happySpecReduce_3  30# happyReduction_103+happyReduction_103 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn36+		 (map ( \x -> (x,happy_var_3)) [happy_var_1]+	)}}++happyReduce_104 = happySpecReduce_1  31# happyReduction_104+happyReduction_104 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn37+		 ([happy_var_1]+	)}++happyReduce_105 = happySpecReduce_3  31# happyReduction_105+happyReduction_105 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn37+		 (happy_var_1:happy_var_3+	)}}++happyReduce_106 = happySpecReduce_2  32# happyReduction_106+happyReduction_106 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	happyIn38+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_107 = happySpecReduce_1  32# happyReduction_107+happyReduction_107 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn38+		 ([(happy_var_1, 0)]+	)}++happyReduce_108 = happySpecReduce_3  32# happyReduction_108+happyReduction_108 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn38+		 ((happy_var_1,0):happy_var_3+	)}}++happyReduce_109 = happyReduce 4# 32# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut38 happy_x_4 of { happy_var_4 -> +	happyIn38+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1  33# happyReduction_110+happyReduction_110 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	happyIn39+		 ([happy_var_1]+	)}++happyReduce_111 = happySpecReduce_3  33# happyReduction_111+happyReduction_111 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn39+		 (happy_var_1:happy_var_3+	)}}++happyReduce_112 = happySpecReduce_1  34# happyReduction_112+happyReduction_112 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn40+		 ([happy_var_1]+	)}++happyReduce_113 = happySpecReduce_2  34# happyReduction_113+happyReduction_113 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut40 happy_x_2 of { happy_var_2 -> +	happyIn40+		 (happy_var_1:happy_var_2+	)}}++happyReduce_114 = happyReduce 4# 35# happyReduction_114+happyReduction_114 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn41+		 ([(happy_var_1,happy_var_2,happy_var_4)]+	) `HappyStk` happyRest}}}++happyReduce_115 = happyReduce 6# 35# happyReduction_115+happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut41 happy_x_6 of { happy_var_6 -> +	happyIn41+		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_116 = happySpecReduce_3  36# happyReduction_116+happyReduction_116 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)+	)}}}++happyReduce_117 = happySpecReduce_3  36# happyReduction_117+happyReduction_117 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, happy_var_3)+	)}}++happyReduce_118 = happyReduce 4# 37# happyReduction_118+happyReduction_118 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn43+		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_119 = happyReduce 5# 37# happyReduction_119+happyReduction_119 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 5# 37# happyReduction_120+happyReduction_120 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]+	) `HappyStk` happyRest}}}}++happyReduce_121 = happyReduce 5# 37# happyReduction_121+happyReduction_121 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_122 = happyReduce 5# 37# happyReduction_122+happyReduction_122 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_123 = happyReduce 5# 37# happyReduction_123+happyReduction_123 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn43+		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3+	) `HappyStk` happyRest}}++happyReduce_124 = happySpecReduce_1  37# happyReduction_124+happyReduction_124 happy_x_1+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> +	happyIn43+		 (happy_var_1+	)}++happyReduce_125 = happyReduce 5# 37# happyReduction_125+happyReduction_125 (happy_x_5 `HappyStk`+	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 happyOut53 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_126 = happyReduce 5# 38# happyReduction_126+happyReduction_126 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn44+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_127 = happyReduce 6# 39# happyReduction_127+happyReduction_127 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_128 = happyReduce 6# 39# happyReduction_128+happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_129 = happyReduce 6# 39# happyReduction_129+happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_130 = happyReduce 6# 39# happyReduction_130+happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut46 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_131 = happyReduce 6# 39# happyReduction_131+happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_132 = happyReduce 6# 39# happyReduction_132+happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_133 = happyReduce 6# 39# happyReduction_133+happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)+	) `HappyStk` happyRest}}}++happyReduce_134 = happyReduce 5# 39# happyReduction_134+happyReduction_134 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (RBind (MN "X" 1) (Lam RPlaceholder)+                    (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))+                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))+	) `HappyStk` happyRest}}++happyReduce_135 = happyReduce 5# 39# happyReduction_135+happyReduction_135 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                   (RBind (MN "X" 1) (Lam RPlaceholder)+                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))+                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),+                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))+	) `HappyStk` happyRest}}++happyReduce_136 = happyReduce 6# 39# happyReduction_136+happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [happy_var_2,+                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])+	) `HappyStk` happyRest}}}++happyReduce_137 = happyReduce 6# 39# happyReduction_137+happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])+	) `HappyStk` happyRest}}}++happyReduce_138 = happySpecReduce_1  40# happyReduction_138+happyReduction_138 happy_x_1+	 =  happyIn46+		 ("<"+	)++happyReduce_139 = happySpecReduce_1  40# happyReduction_139+happyReduction_139 happy_x_1+	 =  happyIn46+		 (">"+	)++happyReduce_140 = happySpecReduce_0  41# happyReduction_140+happyReduction_140  =  happyIn47+		 (RPlaceholder+	)++happyReduce_141 = happySpecReduce_2  41# happyReduction_141+happyReduction_141 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn47+		 (happy_var_2+	)}++happyReduce_142 = happySpecReduce_0  42# happyReduction_142+happyReduction_142  =  happyIn48+		 (RPlaceholder+	)++happyReduce_143 = happySpecReduce_2  42# happyReduction_143+happyReduction_143 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn48+		 (happy_var_2+	)}++happyReduce_144 = happyReduce 5# 43# happyReduction_144+happyReduction_144 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut39 happy_x_1 of { happy_var_1 -> +	case happyOut48 happy_x_2 of { happy_var_2 -> +	case happyOut49 happy_x_5 of { happy_var_5 -> +	happyIn49+		 (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_145 = happySpecReduce_1  43# happyReduction_145+happyReduction_145 happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	happyIn49+		 (happy_var_1+	)}++happyReduce_146 = happySpecReduce_3  44# happyReduction_146+happyReduction_146 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn50+		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3+	)}}++happyReduce_147 = happyReduce 5# 44# happyReduction_147+happyReduction_147 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (doBind (Pi Ex Eager) happy_var_2 happy_var_5+	) `HappyStk` happyRest}}++happyReduce_148 = happyReduce 5# 44# happyReduction_148+happyReduction_148 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (doBind (Pi Ex Lazy) happy_var_2 happy_var_5+	) `HappyStk` happyRest}}++happyReduce_149 = happySpecReduce_3  44# happyReduction_149+happyReduction_149 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (bracket happy_var_2+	)}++happyReduce_150 = happyReduce 7# 44# happyReduction_150+happyReduction_150 (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 happyOut50 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn50+		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_151 = happySpecReduce_1  44# happyReduction_151+happyReduction_151 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_152 = happySpecReduce_3  44# happyReduction_152+happyReduction_152 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (happy_var_2+	)}++happyReduce_153 = happyReduce 5# 44# happyReduction_153+happyReduction_153 (happy_x_5 `HappyStk`+	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 happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_154 = happyReduce 5# 44# happyReduction_154+happyReduction_154 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut52 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_155 = happySpecReduce_1  44# happyReduction_155+happyReduction_155 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_156 = happyReduce 8# 45# happyReduction_156+happyReduction_156 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_7 of { happy_var_7 -> +	case happyOut76 happy_x_8 of { happy_var_8 -> +	happyIn51+		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_157 = happySpecReduce_3  46# happyReduction_157+happyReduction_157 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn52+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_158 = happySpecReduce_3  46# happyReduction_158+happyReduction_158 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut52 happy_x_3 of { happy_var_3 -> +	happyIn52+		 (happy_var_1:happy_var_3+	)}}++happyReduce_159 = happySpecReduce_3  47# happyReduction_159+happyReduction_159 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_160 = happySpecReduce_3  47# happyReduction_160+happyReduction_160 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RReturn happy_var_2 happy_var_3+	)}}++happyReduce_161 = happySpecReduce_3  47# happyReduction_161+happyReduction_161 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn53+		 (bracket happy_var_2+	)}++happyReduce_162 = happySpecReduce_2  47# happyReduction_162+happyReduction_162 happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_2 of { happy_var_2 -> +	happyIn53+		 (RPure happy_var_2+	)}++happyReduce_163 = happySpecReduce_1  47# happyReduction_163+happyReduction_163 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> +	happyIn53+		 (RMetavar happy_var_1+	)}++happyReduce_164 = happyReduce 4# 47# happyReduction_164+happyReduction_164 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn53+		 (RExpVar happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_165 = happySpecReduce_3  47# happyReduction_165+happyReduction_165 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_166 = happySpecReduce_1  47# happyReduction_166+happyReduction_166 happy_x_1+	 =  happyIn53+		 (RRefl+	)++happyReduce_167 = happySpecReduce_3  47# happyReduction_167+happyReduction_167 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_168 = happySpecReduce_3  47# happyReduction_168+happyReduction_168 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_169 = happySpecReduce_1  47# happyReduction_169+happyReduction_169 happy_x_1+	 =  happyIn53+		 (RPlaceholder+	)++happyReduce_170 = happySpecReduce_1  47# happyReduction_170+happyReduction_170 happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (RDo happy_var_1+	)}++happyReduce_171 = happySpecReduce_3  47# happyReduction_171+happyReduction_171 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn53+		 (RIdiom happy_var_2+	)}++happyReduce_172 = happyReduce 5# 47# happyReduction_172+happyReduction_172 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut55 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn53+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_173 = happySpecReduce_1  47# happyReduction_173+happyReduction_173 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_174 = happySpecReduce_1  47# happyReduction_174+happyReduction_174 happy_x_1+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_175 = happySpecReduce_1  47# happyReduction_175+happyReduction_175 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_176 = happyReduce 7# 48# happyReduction_176+happyReduction_176 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_6 of { happy_var_6 -> +	case happyOut76 happy_x_7 of { happy_var_7 -> +	happyIn54+		 (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_177 = happyReduce 5# 48# happyReduction_177+happyReduction_177 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn54+		 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_178 = happySpecReduce_3  49# happyReduction_178+happyReduction_178 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_179 = happySpecReduce_3  49# happyReduction_179+happyReduction_179 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut55 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3+	)}}++happyReduce_180 = happyReduce 4# 50# happyReduction_180+happyReduction_180 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut57 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_181 = happyReduce 10# 50# happyReduction_181+happyReduction_181 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_6 of { happy_var_6 -> +	case happyOut76 happy_x_7 of { happy_var_7 -> +	case happyOut57 happy_x_9 of { happy_var_9 -> +	happyIn56+		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9+	) `HappyStk` happyRest}}}}}}++happyReduce_182 = happySpecReduce_2  51# happyReduction_182+happyReduction_182 happy_x_2+	happy_x_1+	 =  case happyOut58 happy_x_1 of { happy_var_1 -> +	case happyOut57 happy_x_2 of { happy_var_2 -> +	happyIn57+		 (happy_var_1:happy_var_2+	)}}++happyReduce_183 = happySpecReduce_1  51# happyReduction_183+happyReduction_183 happy_x_1+	 =  case happyOut58 happy_x_1 of { happy_var_1 -> +	happyIn57+		 ([happy_var_1]+	)}++happyReduce_184 = happyReduce 7# 52# happyReduction_184+happyReduction_184 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn58+		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}}++happyReduce_185 = happyReduce 8# 52# happyReduction_185+happyReduction_185 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_6 of { happy_var_6 -> +	case happyOut76 happy_x_7 of { happy_var_7 -> +	happyIn58+		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_186 = happyReduce 4# 52# happyReduction_186+happyReduction_186 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (DoExp happy_var_2 happy_var_3 happy_var_1+	) `HappyStk` happyRest}}}++happyReduce_187 = happySpecReduce_1  53# happyReduction_187+happyReduction_187 happy_x_1+	 =  happyIn59+		 (TYPE+	)++happyReduce_188 = happySpecReduce_1  53# happyReduction_188+happyReduction_188 happy_x_1+	 =  happyIn59+		 (StringType+	)++happyReduce_189 = happySpecReduce_1  53# happyReduction_189+happyReduction_189 happy_x_1+	 =  happyIn59+		 (IntType+	)++happyReduce_190 = happySpecReduce_1  53# happyReduction_190+happyReduction_190 happy_x_1+	 =  happyIn59+		 (CharType+	)++happyReduce_191 = happySpecReduce_1  53# happyReduction_191+happyReduction_191 happy_x_1+	 =  happyIn59+		 (FloatType+	)++happyReduce_192 = happySpecReduce_1  53# happyReduction_192+happyReduction_192 happy_x_1+	 =  happyIn59+		 (PtrType+	)++happyReduce_193 = happySpecReduce_1  53# happyReduction_193+happyReduction_193 happy_x_1+	 =  happyIn59+		 (Builtin "Handle"+	)++happyReduce_194 = happySpecReduce_1  53# happyReduction_194+happyReduction_194 happy_x_1+	 =  happyIn59+		 (Builtin "Lock"+	)++happyReduce_195 = happySpecReduce_1  53# happyReduction_195+happyReduction_195 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> +	happyIn59+		 (Num happy_var_1+	)}++happyReduce_196 = happySpecReduce_1  53# happyReduction_196+happyReduction_196 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> +	happyIn59+		 (Ch happy_var_1+	)}++happyReduce_197 = happySpecReduce_1  53# happyReduction_197+happyReduction_197 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> +	happyIn59+		 (Str happy_var_1+	)}++happyReduce_198 = happySpecReduce_1  53# happyReduction_198+happyReduction_198 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> +	happyIn59+		 (Bo happy_var_1+	)}++happyReduce_199 = happySpecReduce_1  53# happyReduction_199+happyReduction_199 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> +	happyIn59+		 (Fl happy_var_1+	)}++happyReduce_200 = happySpecReduce_0  54# happyReduction_200+happyReduction_200  =  happyIn60+		 ([]+	)++happyReduce_201 = happySpecReduce_2  54# happyReduction_201+happyReduction_201 happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> +	case happyOut60 happy_x_2 of { happy_var_2 -> +	happyIn60+		 (happy_var_1:happy_var_2+	)}}++happyReduce_202 = happyReduce 4# 55# happyReduction_202+happyReduction_202 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut49 happy_x_2 of { happy_var_2 -> +	case happyOut62 happy_x_3 of { happy_var_3 -> +	happyIn61+		 ((happy_var_2, happy_var_3)+	) `HappyStk` happyRest}}++happyReduce_203 = happySpecReduce_3  55# happyReduction_203+happyReduction_203 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn61+		 ((RConst happy_var_2 happy_var_3 TYPE, [])+	)}}++happyReduce_204 = happyReduce 4# 55# happyReduction_204+happyReduction_204 (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 happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn61+		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])+	) `HappyStk` happyRest}}}++happyReduce_205 = happySpecReduce_0  56# happyReduction_205+happyReduction_205  =  happyIn62+		 ([]+	)++happyReduce_206 = happyReduce 4# 56# happyReduction_206+happyReduction_206 (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 -> +	happyIn62+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_207 = happyReduce 7# 57# happyReduction_207+happyReduction_207 (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 happyOut31 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_6 of { happy_var_6 -> +	happyIn63+		 ((happy_var_4,happy_var_6)+	) `HappyStk` happyRest}}++happyReduce_208 = happyReduce 6# 58# happyReduction_208+happyReduction_208 (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 happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut31 happy_x_5 of { happy_var_5 -> +	happyIn64+		 ((happy_var_3,happy_var_5)+	) `HappyStk` happyRest}}++happyReduce_209 = happyReduce 4# 59# happyReduction_209+happyReduction_209 (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 -> +	happyIn65+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_210 = happySpecReduce_2  60# happyReduction_210+happyReduction_210 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn66+		 (happy_var_2+	)}++happyReduce_211 = happySpecReduce_3  61# happyReduction_211+happyReduction_211 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn67+		 ([(happy_var_1, happy_var_3)]+	)}}++happyReduce_212 = happyReduce 5# 61# happyReduction_212+happyReduction_212 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut67 happy_x_5 of { happy_var_5 -> +	happyIn67+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_213 = happySpecReduce_1  62# happyReduction_213+happyReduction_213 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn68+		 ([happy_var_1]+	)}++happyReduce_214 = happySpecReduce_2  62# happyReduction_214+happyReduction_214 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut68 happy_x_2 of { happy_var_2 -> +	happyIn68+		 (happy_var_1:happy_var_2+	)}}++happyReduce_215 = happySpecReduce_1  63# happyReduction_215+happyReduction_215 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn69+		 (happy_var_1+	)}++happyReduce_216 = happySpecReduce_1  63# happyReduction_216+happyReduction_216 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn69+		 (happy_var_1+	)}++happyReduce_217 = happySpecReduce_0  64# happyReduction_217+happyReduction_217  =  happyIn70+		 ([]+	)++happyReduce_218 = happySpecReduce_1  64# happyReduction_218+happyReduction_218 happy_x_1+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> +	happyIn70+		 ([happy_var_1]+	)}++happyReduce_219 = happySpecReduce_3  64# happyReduction_219+happyReduction_219 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> +	case happyOut70 happy_x_3 of { happy_var_3 -> +	happyIn70+		 (happy_var_1:happy_var_3+	)}}++happyReduce_220 = happySpecReduce_2  65# happyReduction_220+happyReduction_220 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut72 happy_x_2 of { happy_var_2 -> +	happyIn71+		 (Full happy_var_1 happy_var_2+	)}}++happyReduce_221 = happySpecReduce_2  65# happyReduction_221+happyReduction_221 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut60 happy_x_2 of { happy_var_2 -> +	happyIn71+		 (Simple happy_var_1 happy_var_2+	)}}++happyReduce_222 = happySpecReduce_2  66# happyReduction_222+happyReduction_222 happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn72+		 (happy_var_2+	)}++happyReduce_223 = happySpecReduce_2  67# happyReduction_223+happyReduction_223 happy_x_2+	happy_x_1+	 =  case happyOut37 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Intro happy_var_2+	)}++happyReduce_224 = happySpecReduce_1  67# happyReduction_224+happyReduction_224 happy_x_1+	 =  happyIn73+		 (Intro []+	)++happyReduce_225 = happySpecReduce_2  67# happyReduction_225+happyReduction_225 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Refine happy_var_2+	)}++happyReduce_226 = happySpecReduce_2  67# happyReduction_226+happyReduction_226 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Generalise happy_var_2+	)}++happyReduce_227 = happySpecReduce_1  67# happyReduction_227+happyReduction_227 happy_x_1+	 =  happyIn73+		 (ReflP+	)++happyReduce_228 = happySpecReduce_2  67# happyReduction_228+happyReduction_228 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Rewrite False False happy_var_2+	)}++happyReduce_229 = happySpecReduce_3  67# happyReduction_229+happyReduction_229 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (Rewrite False True happy_var_3+	)}++happyReduce_230 = happySpecReduce_2  67# happyReduction_230+happyReduction_230 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Rewrite True False happy_var_2+	)}++happyReduce_231 = happySpecReduce_3  67# happyReduction_231+happyReduction_231 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (Rewrite True True happy_var_3+	)}++happyReduce_232 = happySpecReduce_1  67# happyReduction_232+happyReduction_232 happy_x_1+	 =  happyIn73+		 (Compute+	)++happyReduce_233 = happySpecReduce_2  67# happyReduction_233+happyReduction_233 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Unfold happy_var_2+	)}++happyReduce_234 = happySpecReduce_1  67# happyReduction_234+happyReduction_234 happy_x_1+	 =  happyIn73+		 (Undo+	)++happyReduce_235 = happySpecReduce_2  67# happyReduction_235+happyReduction_235 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Induction happy_var_2+	)}++happyReduce_236 = happySpecReduce_2  67# happyReduction_236+happyReduction_236 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Fill happy_var_2+	)}++happyReduce_237 = happySpecReduce_1  67# happyReduction_237+happyReduction_237 happy_x_1+	 =  happyIn73+		 (Trivial+	)++happyReduce_238 = happySpecReduce_2  67# happyReduction_238+happyReduction_238 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (RunTactic happy_var_2+	)}++happyReduce_239 = happySpecReduce_2  67# happyReduction_239+happyReduction_239 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Believe happy_var_2+	)}++happyReduce_240 = happySpecReduce_2  67# happyReduction_240+happyReduction_240 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Use happy_var_2+	)}++happyReduce_241 = happySpecReduce_2  67# happyReduction_241+happyReduction_241 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Decide happy_var_2+	)}++happyReduce_242 = happySpecReduce_1  67# happyReduction_242+happyReduction_242 happy_x_1+	 =  happyIn73+		 (Abandon+	)++happyReduce_243 = happySpecReduce_1  67# happyReduction_243+happyReduction_243 happy_x_1+	 =  happyIn73+		 (Qed+	)++happyReduce_244 = happyReduce 4# 68# happyReduction_244+happyReduction_244 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut75 happy_x_3 of { happy_var_3 -> +	happyIn74+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_245 = happySpecReduce_2  69# happyReduction_245+happyReduction_245 happy_x_2+	happy_x_1+	 =  case happyOut73 happy_x_1 of { happy_var_1 -> +	happyIn75+		 ([happy_var_1]+	)}++happyReduce_246 = happySpecReduce_3  69# happyReduction_246+happyReduction_246 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut73 happy_x_1 of { happy_var_1 -> +	case happyOut75 happy_x_3 of { happy_var_3 -> +	happyIn75+		 (happy_var_1:happy_var_3+	)}}++happyReduce_247 = happyMonadReduce 0# 70# happyReduction_247+happyReduction_247 (happyRest) tk+	 = happyThen (( getLineNo)+	) (\r -> happyReturn (happyIn76 r))++happyReduce_248 = happyMonadReduce 0# 71# happyReduction_248+happyReduction_248 (happyRest) tk+	 = happyThen (( getFileName)+	) (\r -> happyReturn (happyIn77 r))++happyReduce_249 = happyMonadReduce 0# 72# happyReduction_249+happyReduction_249 (happyRest) tk+	 = happyThen (( getOps)+	) (\r -> happyReturn (happyIn78 r))++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = happyDoAction i tk action sts stk in+	case tk of {+	TokenEOF -> happyDoAction 118# tk action sts stk;+	TokenName happy_dollar_dollar -> cont 1#;+	TokenInfixName happy_dollar_dollar -> cont 2#;+	TokenBrackName happy_dollar_dollar -> cont 3#;+	TokenString happy_dollar_dollar -> cont 4#;+	TokenInt happy_dollar_dollar -> cont 5#;+	TokenFloat happy_dollar_dollar -> cont 6#;+	TokenChar happy_dollar_dollar -> cont 7#;+	TokenBool happy_dollar_dollar -> cont 8#;+	TokenMetavar happy_dollar_dollar -> cont 9#;+	TokenColon -> cont 10#;+	TokenSemi -> cont 11#;+	TokenBar -> cont 12#;+	TokenStars -> cont 13#;+	TokenLambda -> cont 14#;+	TokenHashOB -> cont 15#;+	TokenOB -> cont 16#;+	TokenCB -> cont 17#;+	TokenOCB -> cont 18#;+	TokenCCB -> cont 19#;+	TokenOSB -> cont 20#;+	TokenCSB -> cont 21#;+	TokenOId -> cont 22#;+	TokenCId -> cont 23#;+	TokenLPair -> cont 24#;+	TokenRPair -> cont 25#;+	TokenExists -> cont 26#;+	TokenTilde -> cont 27#;+	TokenPlus -> cont 28#;+	TokenMinus -> cont 29#;+	TokenTimes -> cont 30#;+	TokenDivide -> cont 31#;+	TokenEquals -> cont 32#;+	TokenMightEqual -> cont 33#;+	TokenLT -> cont 34#;+	TokenGT -> cont 35#;+	TokenEllipsis -> cont 36#;+	TokenUnderscore -> cont 37#;+	TokenComma -> cont 38#;+	TokenTuple -> cont 39#;+	TokenBang -> cont 40#;+	TokenConcat -> cont 41#;+	TokenGE -> cont 42#;+	TokenLE -> cont 43#;+	TokenOr -> cont 44#;+	TokenAnd -> cont 45#;+	TokenArrow -> cont 46#;+	TokenFatArrow -> cont 47#;+	TokenTransArrow -> cont 48#;+	TokenLeftArrow -> cont 49#;+	TokenIntType -> cont 50#;+	TokenCharType -> cont 51#;+	TokenFloatType -> cont 52#;+	TokenStringType -> cont 53#;+	TokenHandleType -> cont 54#;+	TokenPtrType -> cont 55#;+	TokenLockType -> cont 56#;+	TokenType -> cont 57#;+	TokenLazyBracket -> cont 58#;+	TokenDataType -> cont 59#;+	TokenInfix -> cont 60#;+	TokenInfixL -> cont 61#;+	TokenInfixR -> cont 62#;+	TokenUsing -> cont 63#;+	TokenIdiom -> cont 64#;+	TokenParams -> cont 65#;+	TokenNamespace -> cont 66#;+	TokenPublic -> cont 67#;+	TokenPrivate -> cont 68#;+	TokenAbstract -> cont 69#;+	TokenNoElim -> cont 70#;+	TokenCollapsible -> cont 71#;+	TokenWhere -> cont 72#;+	TokenWith -> cont 73#;+	TokenPartial -> cont 74#;+	TokenSyntax -> cont 75#;+	TokenLazy -> cont 76#;+	TokenRefl -> cont 77#;+	TokenEmptyType -> cont 78#;+	TokenUnitType -> cont 79#;+	TokenInclude -> cont 80#;+	TokenExport -> cont 81#;+	TokenInline -> cont 82#;+	TokenDo -> cont 83#;+	TokenReturn -> cont 84#;+	TokenIf -> cont 85#;+	TokenThen -> cont 86#;+	TokenElse -> cont 87#;+	TokenLet -> cont 88#;+	TokenIn -> cont 89#;+	TokenProof -> cont 90#;+	TokenIntro -> cont 91#;+	TokenRefine -> cont 92#;+	TokenGeneralise -> cont 93#;+	TokenReflP -> cont 94#;+	TokenRewrite -> cont 95#;+	TokenRewriteAll -> cont 96#;+	TokenCompute -> cont 97#;+	TokenUnfold -> cont 98#;+	TokenUndo -> cont 99#;+	TokenInduction -> cont 100#;+	TokenFill -> cont 101#;+	TokenTrivial -> cont 102#;+	TokenMkTac -> cont 103#;+	TokenBelieve -> cont 104#;+	TokenUse -> cont 105#;+	TokenDecide -> cont 106#;+	TokenAbandon -> cont 107#;+	TokenQED -> cont 108#;+	TokenLaTeX -> cont 109#;+	TokenNoCG -> cont 110#;+	TokenEval -> cont 111#;+	TokenSpec -> cont 112#;+	TokenFreeze -> cont 113#;+	TokenThaw -> cont 114#;+	TokenTransform -> cont 115#;+	TokenCInclude -> cont 116#;+	TokenCLib -> cont 117#;+	_ -> happyError' tk+	})++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> P a+happyError' tk = (\token -> happyError) tk++mkparse = happySomeParser where+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))++mkparseTerm = happySomeParser where+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))++mkparseTactic = happySomeParser where+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut73 x))++happySeq = happyDontSeq+++data ConParse = Full Id RawTerm+              | Simple Id [RawTerm]++parse :: String -> FilePath -> Result [Decl]+parse s fn = do ds <- mkparse s fn 1 []+                collectDecls ds++processImports :: [Opt] -> [FilePath] -> Result [Decl] -> +                  IO ([Decl], [FilePath])+processImports opts imped (Success ds) = pi imped [] ds+  where pi imps decls ((PInclude fp):xs)+           | fp `elem` imps = pi imps decls xs+           | otherwise = do+                 f <- readLibFile defaultLibPath fp+                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)+                 case parse f fp of+                   Success t -> pi (fp:imps) decls (t++xs)+                   Failure e f l ->+                     fail $ f ++ ":" ++ show l ++ ":" ++ e+        pi imps decls ((Using t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Using t ds']) xs+        pi imps decls ((Params t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Params t ds']) xs+        pi imps decls ((DoUsing b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[DoUsing b r ds']) xs+        pi imps decls ((Idiom b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Idiom b r ds']) xs+        pi imps decls ((Namespace n ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Namespace n ds']) xs+        pi imps decls (x:xs) = pi imps (decls++[x]) xs+        pi imps decls [] = return (decls, imps)++processImports _ imped (Failure e f l) +    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e+++parseTerm :: String -> Result RawTerm+parseTerm s = mkparseTerm s "(input)" 0 []++parseTactic :: String -> Result ITactic+parseTactic s = mkparseTactic s "(tactic)" 0 []++mkCon :: RawTerm -> ConParse -> (Id,RawTerm)+mkCon _ (Full n t) = (n,t)+mkCon ty (Simple n args) = (n, mkConTy args ty)+   where mkConTy [] ty = ty+         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)++mkDef file line (n, tms) = mkImpApp (RVar file line n) tms+   where mkImpApp f [] = f+         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts+         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts++doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm+doBind b [] t = t+doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)++doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm+doLetBind [] t = t+doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)++mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm+mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)+   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)+         getTyArgs x = []++mkTyParams :: String -> Int -> [Id] -> RawTerm+mkTyParams f l [] = RConst f l TYPE+mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)++mkDatatype :: String -> Int ->+              Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> +                    [TyOpt] -> Datatype+mkDatatype file line n (Right ((t, using), cons)) opts+    = Datatype n t (map (mkCon (mkTyApp file line n t)) cons) using opts file line +mkDatatype file line n (Left t) opts+    = Latatype n t file line++bracket (RUserInfix f l _ op x y) = RUserInfix f l True op x y+bracket x = x++pairDesugar :: String -> Int -> RawTerm -> [RawTerm] -> RawTerm+pairDesugar file line pair [x,y] = mkApp file line pair [x,y]+pairDesugar file line pair (x:y:xs) +    = pairDesugar file line pair ((mkApp file line pair [x,y]):xs)++sigDesugar :: String -> Int -> (Id, RawTerm) -> RawTerm -> RawTerm+sigDesugar file line (n, tm) sc+    = mkApp file line (RVar file line (UN "Sigma")) [tm, lam]+   where lam = RBind n (Lam tm) sc+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 1 "<command line>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ++{-# LINE 28 "templates/GenericTemplate.hs" #-}+++data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList++++++{-# LINE 49 "templates/GenericTemplate.hs" #-}++{-# LINE 59 "templates/GenericTemplate.hs" #-}++{-# LINE 68 "templates/GenericTemplate.hs" #-}++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is 0#, it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =+	happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action++++happyDoAction i tk st+	= {- nothing -}+++	  case action of+		0#		  -> {- nothing -}+				     happyFail i tk st+		-1# 	  -> {- nothing -}+				     happyAccept i tk st+		n | (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}++				     (happyReduceArr Happy_Data_Array.! rule) i tk st+				     where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))+		n		  -> {- nothing -}+++				     happyShift new_state i tk st+				     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))+   where off    = indexShortOffAddr happyActOffsets st+	 off_i  = (off Happy_GHC_Exts.+# i)+	 check  = if (off_i Happy_GHC_Exts.>=# (0# :: Happy_GHC_Exts.Int#))+			then (indexShortOffAddr happyCheck off_i Happy_GHC_Exts.==#  i)+			else False+ 	 action | check     = indexShortOffAddr happyTable off_i+		| otherwise = indexShortOffAddr happyDefActions st++{-# LINE 127 "templates/GenericTemplate.hs" #-}+++indexShortOffAddr (HappyA# arr) off =+#if __GLASGOW_HASKELL__ > 500+	Happy_GHC_Exts.narrow16Int# i+#elif __GLASGOW_HASKELL__ == 500+	Happy_GHC_Exts.intToInt16# i+#else+	Happy_GHC_Exts.iShiftRA# (Happy_GHC_Exts.iShiftL# i 16#) 16#+#endif+  where+#if __GLASGOW_HASKELL__ >= 503+	i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)+#else+	i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.shiftL# high 8#) low)+#endif+	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 =+        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++happyMonad2Reduce k nt fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++             off    = indexShortOffAddr happyGotoOffsets st1+             off_i  = (off Happy_GHC_Exts.+# nt)+             new_state = indexShortOffAddr happyTable off_i+++++happyDrop 0# l = l+happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t++happyDropStk 0# l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction+++happyGoto nt j tk st = +   {- nothing -}+   happyDoAction j tk new_state+   where off    = indexShortOffAddr happyGotoOffsets st+	 off_i  = (off Happy_GHC_Exts.+# nt)+ 	 new_state = indexShortOffAddr happyTable off_i+++++-----------------------------------------------------------------------------+-- Error recovery (0# is the error token)++-- parse error if we are in recovery and we fail again+happyFail  0# tk old_st _ stk =+--	trace "failing" $ +    	happyError_ tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  0# tk old_st (HappyCons ((action)) (sts)) +						(saved_tok `HappyStk` _ `HappyStk` stk) =+--	trace ("discarding state, depth " ++ show (length stk))  $+	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (action) sts stk =+--      trace "entering error recovery" $+	happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)++-- Internal happy errors:++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 #-} 
dist/build/Idris/idris-tmp/Idris/Parser.hs view
@@ -1,3582 +1,3675 @@-{-# OPTIONS -fglasgow-exts -cpp #-}--- -*-Haskell-*--{-# OPTIONS_GHC -fglasgow-exts #-}--module Idris.Parser where--import Data.Char-import Ivor.TT-import System.IO.Unsafe-import List-import Control.Monad--import Idris.AbsSyntax-import Idris.Lexer-import Idris.Lib--import Debug.Trace-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-#else-import Array-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif---- parser produced by Happy Version 1.18.2--newtype HappyAbsSyn t66 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = GHC.Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t66)-happyIn6 x = unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t66) -> ([ParseDecl])-happyOut6 x = unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (ParseDecl) -> (HappyAbsSyn t66)-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t66) -> (ParseDecl)-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Decl) -> (HappyAbsSyn t66)-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t66) -> (Decl)-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (ParseDecl) -> (HappyAbsSyn t66)-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t66) -> (ParseDecl)-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (Bool) -> (HappyAbsSyn t66)-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t66) -> (Bool)-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: ([ParseDecl]) -> (HappyAbsSyn t66)-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t66) -> ([ParseDecl])-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ([CGFlag]) -> (HappyAbsSyn t66)-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t66) -> ([CGFlag])-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t66)-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t66) -> ([CGFlag])-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([Decl]) -> (HappyAbsSyn t66)-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t66) -> ([Decl])-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([String]) -> (HappyAbsSyn t66)-happyIn17 x = unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t66) -> ([String])-happyOut17 x = unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (String) -> (HappyAbsSyn t66)-happyIn18 x = unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t66) -> (String)-happyOut18 x = unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (Fixity) -> (HappyAbsSyn t66)-happyIn19 x = unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t66) -> (Fixity)-happyOut19 x = unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (Decl) -> (HappyAbsSyn t66)-happyIn20 x = unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t66) -> (Decl)-happyOut20 x = unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: ([(Id,String)]) -> (HappyAbsSyn t66)-happyIn21 x = unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t66) -> ([(Id,String)])-happyOut21 x = unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t66)-happyIn22 x = unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t66) -> ((Id, [(RawTerm, Maybe Id)]))-happyOut22 x = unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t66)-happyIn23 x = unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t66) -> ([(RawTerm,Maybe Id)])-happyOut23 x = unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (Datatype) -> (HappyAbsSyn t66)-happyIn24 x = unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t66) -> (Datatype)-happyOut24 x = unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t66)-happyIn25 x = unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t66) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))-happyOut25 x = unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: ([TyOpt]) -> (HappyAbsSyn t66)-happyIn26 x = unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t66) -> ([TyOpt])-happyOut26 x = unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: ([TyOpt]) -> (HappyAbsSyn t66)-happyIn27 x = unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t66) -> ([TyOpt])-happyOut27 x = unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: (TyOpt) -> (HappyAbsSyn t66)-happyIn28 x = unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn t66) -> (TyOpt)-happyOut28 x = unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Id) -> (HappyAbsSyn t66)-happyIn29 x = unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn t66) -> (Id)-happyOut29 x = unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn30 x = unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut30 x = unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn31 x = unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut31 x = unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn32 x = unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut32 x = unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn33 x = unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut33 x = unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn34 x = unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut34 x = unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([Id]) -> (HappyAbsSyn t66)-happyIn35 x = unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn t66) -> ([Id])-happyOut35 x = unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ([(Id, Int)]) -> (HappyAbsSyn t66)-happyIn36 x = unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn t66) -> ([(Id, Int)])-happyOut36 x = unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([Id]) -> (HappyAbsSyn t66)-happyIn37 x = unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn t66) -> ([Id])-happyOut37 x = unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([Id]) -> (HappyAbsSyn t66)-happyIn38 x = unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn t66) -> ([Id])-happyOut38 x = unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t66)-happyIn39 x = unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn t66) -> ([(Id, RawTerm, RawTerm)])-happyOut39 x = unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ((Id, RawTerm)) -> (HappyAbsSyn t66)-happyIn40 x = unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn t66) -> ((Id, RawTerm))-happyOut40 x = unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn41 x = unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut41 x = unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn42 x = unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut42 x = unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn43 x = unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut43 x = unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (String) -> (HappyAbsSyn t66)-happyIn44 x = unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn t66) -> (String)-happyOut44 x = unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn45 x = unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut45 x = unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn46 x = unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut46 x = unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn47 x = unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut47 x = unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn48 x = unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut48 x = unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn49 x = unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut49 x = unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn50 x = unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut50 x = unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn51 x = unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut51 x = unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn52 x = unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut52 x = unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn53 x = unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut53 x = unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: ([Do]) -> (HappyAbsSyn t66)-happyIn54 x = unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn t66) -> ([Do])-happyOut54 x = unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([Do]) -> (HappyAbsSyn t66)-happyIn55 x = unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn t66) -> ([Do])-happyOut55 x = unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (Do) -> (HappyAbsSyn t66)-happyIn56 x = unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn t66) -> (Do)-happyOut56 x = unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: (Constant) -> (HappyAbsSyn t66)-happyIn57 x = unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn t66) -> (Constant)-happyOut57 x = unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: ([RawTerm]) -> (HappyAbsSyn t66)-happyIn58 x = unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn t66) -> ([RawTerm])-happyOut58 x = unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t66)-happyIn59 x = unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn t66) -> ((RawTerm, [(Id, RawTerm)]))-happyOut59 x = unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn60 x = unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut60 x = unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ((Id,Id)) -> (HappyAbsSyn t66)-happyIn61 x = unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn t66) -> ((Id,Id))-happyOut61 x = unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ((Id,Id)) -> (HappyAbsSyn t66)-happyIn62 x = unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn t66) -> ((Id,Id))-happyOut62 x = unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn63 x = unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut63 x = unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t66)-happyIn64 x = unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn t66) -> ([(Id, RawTerm)])-happyOut64 x = unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([Id]) -> (HappyAbsSyn t66)-happyIn65 x = unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn t66) -> ([Id])-happyOut65 x = unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: t66 -> (HappyAbsSyn t66)-happyIn66 x = unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn t66) -> t66-happyOut66 x = unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([ConParse]) -> (HappyAbsSyn t66)-happyIn67 x = unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn t66) -> ([ConParse])-happyOut67 x = unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (ConParse) -> (HappyAbsSyn t66)-happyIn68 x = unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn t66) -> (ConParse)-happyOut68 x = unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (RawTerm) -> (HappyAbsSyn t66)-happyIn69 x = unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn t66) -> (RawTerm)-happyOut69 x = unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (ITactic) -> (HappyAbsSyn t66)-happyIn70 x = unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn t66) -> (ITactic)-happyOut70 x = unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: ([ITactic]) -> (HappyAbsSyn t66)-happyIn71 x = unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn t66) -> ([ITactic])-happyOut71 x = unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: ([ITactic]) -> (HappyAbsSyn t66)-happyIn72 x = unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn t66) -> ([ITactic])-happyOut72 x = unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (LineNumber) -> (HappyAbsSyn t66)-happyIn73 x = unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn t66) -> (LineNumber)-happyOut73 x = unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (String) -> (HappyAbsSyn t66)-happyIn74 x = unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn t66) -> (String)-happyOut74 x = unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (Fixities) -> (HappyAbsSyn t66)-happyIn75 x = unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn t66) -> (Fixities)-happyOut75 x = unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyInTok :: (Token) -> (HappyAbsSyn t66)-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t66) -> (Token)-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x16\x00\x21\x05\x57\x0d\x00\x00\x20\x04\x6e\x01\x6e\x01\x21\x05\x00\x00\x3b\x03\xea\x02\x00\x00\x6e\x01\x00\x00\x21\x05\x21\x05\x00\x00\x21\x05\x21\x05\x21\x05\x21\x05\x00\x00\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x61\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\xfd\x08\x48\x02\x21\x05\x21\x05\x06\x08\x21\x05\x00\x00\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x05\x00\x00\x00\x00\x00\x00\x4c\x01\x00\x00\x21\x05\x5b\x00\x1f\x04\x01\x00\x00\x00\x00\x00\x01\x00\x57\x04\x00\x00\x6f\x04\x00\x00\xf5\x01\x5b\x04\x5a\x04\x58\x04\x56\x04\x39\x09\xd1\x01\x4a\x04\x00\x00\x00\x00\x00\x00\x4b\x04\x49\x04\x48\x04\x5b\x00\x53\x04\x1b\x04\x43\x04\x51\x04\x21\x05\x50\x04\x46\x04\x00\x00\x00\x00\x1e\x04\x3d\x04\x5b\x00\x28\x04\x3c\x04\x5b\x00\x5b\x00\x5b\x00\x5b\x00\x5b\x00\x12\x02\x32\x04\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x13\x00\x00\x00\x00\x00\x99\x02\x00\x00\x00\x00\x00\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\x00\x00\xca\x07\x37\x04\xfc\xff\xe3\x08\x2d\x04\x77\x00\x39\x09\xd1\x01\x00\x00\x00\x00\x30\x04\xe4\x03\x14\x02\x00\x00\x26\x04\xd0\x04\x00\x00\x00\x00\x27\x04\x00\x00\x27\x04\x00\x00\xaa\x05\xa3\x08\xfa\x01\x4e\x04\x7f\x04\x1a\x04\x7f\x04\x7f\x04\x18\x04\x13\x04\x7f\x04\x7f\x04\x9e\x01\x67\x00\x00\x00\x7f\x04\xa6\x08\x5b\x00\x19\x04\xf3\x03\x00\x00\x06\x08\x0c\x04\x00\x00\x7f\x04\xfe\x03\x7f\x04\x7f\x04\x7f\x04\x7f\x04\x7f\x04\x00\x00\x78\x01\x5f\x01\x51\x01\x4f\x01\x42\x01\x1a\x01\x00\x00\x18\x01\x7f\x04\xf1\x00\x7f\x04\xb8\x00\x00\x00\xf6\x03\x00\x00\x5b\x00\x41\x00\x07\x00\x00\x00\x17\x04\x17\x04\x17\x04\x17\x04\x17\x04\x00\x00\x7f\x04\x17\x04\x06\x08\x00\x00\x00\x00\x00\x00\x7f\x04\xf5\x03\xfd\x08\x0f\x04\x07\x04\xe8\x03\xbe\x01\xfc\x03\x20\x01\xfa\x03\xd2\x08\xfd\x08\x00\x00\xfd\x08\xf7\x03\x00\x00\x22\x06\x00\x00\x22\x06\x00\x00\x22\x06\x00\x00\x22\x06\x00\x00\x7f\x04\x00\x00\x7f\x04\x7f\x04\x7f\x04\x7f\x04\x7f\x04\xfb\x03\x00\x00\x00\x00\x7f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x22\x06\xee\x03\x2e\x04\x5b\x00\xe6\x03\x00\x00\xdd\x03\xdd\x03\xe3\x03\xf4\x03\xda\x03\xef\x03\xdd\x03\xdd\x03\xdd\x03\xa3\x03\x57\x0d\xed\x03\x50\x01\x0c\x00\xd0\x03\xca\x07\xdd\x03\x00\x00\x00\x00\xe1\x03\xdc\x03\xdb\x03\xd7\x03\x00\x00\x00\x00\x4c\x04\xe0\x03\x00\x00\x00\x00\xdd\x03\xdd\x03\xdd\x03\x00\x00\xd4\x03\xc1\x03\x00\x00\x00\x00\x84\x01\xde\x03\xce\x03\xb2\x03\xc8\x03\x5b\x00\xb1\x03\x01\x00\x5b\x00\xbd\x03\xad\x03\x00\x00\xdd\x03\x29\x0a\xc7\x03\x00\x00\xa4\x03\x00\x00\xdd\x03\x00\x00\x00\x00\x5b\x00\x00\x00\xe3\x08\x00\x00\x5b\x00\x5b\x00\xa8\x03\xe3\x08\x00\x00\x00\x00\x12\x02\x00\x00\x41\x05\x3f\x05\x11\x05\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x04\x00\x00\x5b\x00\x00\x00\x8f\x00\xc3\x03\x00\x00\x00\x00\x00\x00\xb6\x03\xa9\x03\xfd\x08\xaf\x03\xa6\x03\x00\x00\x5b\x03\xb5\x01\xc0\x04\x00\x00\xd1\x01\x00\x00\xdd\x03\x9b\x00\xb3\x01\xdd\x03\x93\x03\x00\x00\x00\x00\x00\x00\x68\x03\x69\x08\x00\x00\x42\x08\xe6\x05\x00\x00\xfd\x08\x00\x00\xac\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x00\x00\x99\x03\x00\x00\x06\x08\x00\x00\x89\x03\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x08\xfd\x08\x84\x03\xe3\x08\x5b\x00\x70\x03\xe3\x08\x0c\x00\x5b\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x08\x42\x08\x42\x08\x42\x08\x42\x08\x42\x08\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x08\x00\x00\x02\x00\xfd\x08\x04\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x07\x00\x00\x52\x07\x00\x00\x16\x07\x00\x00\xda\x06\x97\x03\x95\x03\x94\x03\x92\x03\x8f\x03\x65\x00\x00\x00\x00\x00\xdd\x03\x9e\x06\x77\x03\x22\x06\xdd\x03\xcf\x00\x00\x00\x99\x00\x8d\x03\x82\x03\x00\x00\x57\x0d\x0c\x00\x60\x03\x5b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x06\x00\x00\x99\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x26\x06\x7c\x03\x75\x03\x00\x00\x00\x00\x56\x03\x6f\x03\x0a\x03\x5b\x00\x51\x03\x00\x00\x5b\x00\x6e\x03\x00\x00\x00\x00\x5b\x00\x00\x00\x5b\x00\x00\x00\x06\x08\x00\x00\x00\x00\xe3\x08\x00\x00\x35\x03\x00\x00\x00\x00\x00\x00\x5b\x00\x99\x00\x67\x03\x00\x00\x00\x00\x00\x00\x6b\x03\xaa\x00\x64\x03\xe3\x08\x00\x00\x5b\x00\x00\x00\x58\x03\x5b\x00\x66\x03\x00\x00\xdd\x03\x00\x00\x22\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x03\x3a\x03\x50\x03\x00\x00\x00\x00\x00\x00\xcf\x00\xea\x05\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x03\x00\x00\x00\x00\x33\x03\x5b\x00\x00\x00\x00\x00\x00\x00\x42\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x00\x00\x69\x08\x8c\x03\x00\x00\xae\x05\x00\x00\x00\x00\x00\x00\x72\x05\x3f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x0c\x0a\x49\x0d\x0f\x03\x00\x00\x00\x00\xa2\x01\x3e\x03\x38\x0d\x00\x00\x27\x0d\x16\x0d\x00\x00\x3d\x03\x00\x00\x05\x0d\xf4\x0c\x00\x00\xe3\x0c\xd2\x0c\xc1\x0c\xb0\x0c\x00\x00\x00\x00\x09\x03\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x35\x08\xc2\x01\x9f\x0c\x8e\x0c\x7a\x0d\x7d\x0c\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x0c\x00\x00\x03\x03\x02\x03\x00\x00\x01\x03\x5b\x0c\x54\x01\x00\x00\xef\x09\x00\x00\x00\x00\xdc\x09\x00\x00\x00\x00\x38\x03\x00\x00\xf0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x66\x00\x2b\x03\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x33\x01\x00\x00\x0f\x01\x00\x00\x00\x00\x69\x01\x48\x00\x19\x03\x21\x00\x18\x03\x3d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x03\xe7\x02\x1c\x01\x00\x00\xe5\x02\x70\x05\x00\x00\xe4\x02\xe2\x02\xbf\x09\xac\x09\x8f\x09\x7c\x09\x00\x00\x28\x0a\x00\x00\x00\x00\x73\x0d\x00\x00\xf0\x02\x33\x00\x18\x02\x00\x00\x00\x00\xfe\x02\x00\x00\x14\x01\xe1\x02\xda\x02\x14\x07\xd7\x02\xd5\x02\x0c\x01\xd3\x02\x07\x01\x00\x00\x06\x01\x06\x01\x40\x01\x93\x00\x39\x0c\x00\x00\x28\x0c\x17\x0c\x00\x00\x00\x00\xd9\x03\x88\x03\x05\x01\x00\x00\x00\x00\x06\x0c\x92\x04\x19\x02\xcf\x02\x00\x00\xcd\x02\x68\x0d\x00\x00\xcb\x02\xf5\x0b\xc4\x02\xe4\x0b\xd3\x0b\xc2\x0b\xb1\x0b\xa0\x0b\xc3\x02\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\xff\x00\x8f\x0b\xff\x00\x7e\x0b\xff\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xff\x00\xff\x00\x00\x00\xfe\x00\xf5\x00\xf4\x00\xe9\x00\xe7\x00\xc1\x02\x6d\x0b\xd5\x00\x59\x0d\xbf\x02\xba\x02\x00\x00\x5c\x0b\x00\x00\xf9\x07\x00\x00\x00\x00\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\xc8\x00\xfe\x05\x00\x00\x6e\x05\x00\x00\xb9\x02\xab\x00\xb8\x02\xa3\x00\xa4\x02\x9e\x00\xb3\x02\x9d\x00\xb1\x02\x37\x03\x00\x00\xe6\x02\x4b\x0b\x3a\x0b\x44\x02\x95\x02\x00\x00\x00\x00\xa8\x02\x29\x0b\xa3\x02\x9d\x02\x9c\x02\x00\x00\x00\x00\xd1\x00\x95\x00\x00\x00\xd8\x06\xbd\x00\x00\x00\x00\x00\x18\x0b\x07\x0b\x00\x00\x00\x00\x00\x00\xd9\x02\xf6\x0a\xe5\x0a\xd4\x0a\x00\x00\xcf\x01\xb0\x02\x10\x02\x00\x00\x00\x00\x0a\x0a\xc3\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x02\x97\x02\x94\x00\x00\x00\x94\x02\x93\x02\xb2\x0a\xa1\x0a\x90\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x42\x09\xbe\x02\x00\x00\x00\x00\x00\x00\x7f\x0a\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0a\x00\x00\x00\x00\xbd\x02\x00\x00\xbd\x07\x8f\x02\x0a\x00\x43\x00\x00\x00\x81\x07\x83\x02\x82\x02\xc9\x01\x00\x00\x94\x00\x94\x00\x94\x00\x00\x00\x00\x00\x80\x02\x00\x00\x50\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x7b\x02\x7c\x01\x60\x02\xc1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x04\x00\x00\x00\x00\x00\x00\x94\x00\x03\x00\x94\x00\x00\x00\x4b\x01\x00\x00\x5d\x0a\x94\x00\x94\x00\x4c\x0a\x35\x02\x00\x00\x00\x00\x7a\x02\x00\x00\x4d\x0d\x00\x00\x4d\x0d\x94\x00\x74\x02\xb2\x02\x72\x02\x94\x00\x00\x00\x70\x02\x6f\x02\x6d\x02\x6a\x02\x68\x02\x67\x02\x63\x02\x00\x00\x62\x02\x00\x00\x4c\x02\x36\x09\x5f\x02\x00\x00\x52\x02\x00\x00\x51\x02\x00\x00\x61\x02\xe9\x01\x00\x00\x45\x07\xab\x01\x00\x00\x09\x07\x00\x00\x60\x00\x94\x00\x4b\x02\x4a\x02\x00\x00\x47\x02\x94\x00\x00\x00\x46\x02\x43\x02\x42\x02\x41\x02\x40\x02\x00\x00\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x02\x00\x00\x00\x00\x0e\x02\x00\x00\x00\x00\x3e\x02\x32\x02\x29\x02\x21\x02\x00\x00\x2e\x08\x00\x00\x2e\x08\x00\x00\x2e\x08\x00\x00\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x01\x3b\x0a\x2e\x08\x00\x00\x6c\x00\xc8\x07\x4b\x00\x00\x00\x2c\x02\x00\x00\x00\x00\x00\x00\x63\x01\x00\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x1e\x02\x00\x00\x1c\x02\xf9\x08\x05\x02\x0b\x02\x00\x00\x00\x00\x00\x00\xf7\x01\xef\x01\xd6\x01\xa5\x01\x8a\x06\x00\x00\x00\x00\x00\x00\xdb\x01\x00\x00\x00\x00\x4b\x00\xcd\x01\x00\x00\x00\x00\xf9\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x37\x00\x00\x00\xf2\x07\x00\x00\x00\x00\xcd\x06\x9d\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x06\x00\x00\x2f\x00\x17\x01\x00\x00\xf9\xff\x0b\x00\x91\x01\x8c\x07\x00\x00\x05\x00\x6f\x01\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x01\x00\x00\x00\x00\x00\x00\x36\x01\x00\x00\x25\x01\xf7\xff\x04\x08\xce\x00\x00\x00\x5e\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x1c\x00\x00\x00\xec\xff\x04\x08\x60\x06\xd5\xff\x04\x08\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\xc5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x39\xff\x00\x00\x00\x00\x00\x00\x00\x00\x27\xff\x00\x00\x00\x00\x24\xff\x00\x00\x00\x00\x1f\xff\x00\x00\x1d\xff\x00\x00\x00\x00\x1a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x15\xff\x14\xff\x0f\xff\x0f\xff\xa5\xff\x8a\xff\x58\xff\x59\xff\xac\xff\x57\xff\x5c\xff\x0f\xff\xb5\xff\x41\xff\x43\xff\x3f\xff\x42\xff\x40\xff\x63\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\xff\x00\x00\x49\xff\x48\xff\x47\xff\x4a\xff\x45\xff\x46\xff\x44\xff\x4b\xff\x00\x00\x60\xff\x0f\xff\x0f\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x00\x00\x39\xff\xf0\xff\xf8\xff\x39\xff\x00\x00\xf6\xff\xe0\xff\xf7\xff\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\xff\xc8\xff\xca\xff\xc9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\xee\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\xcd\xff\xcc\xff\xcb\xff\x00\x00\x0f\xff\x0f\xff\xde\xff\x0f\xff\x00\x00\xaf\xff\x0f\xff\x0f\xff\x39\xff\x39\xff\x39\xff\x39\xff\xc4\xff\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x7a\xff\x00\x00\x0f\xff\x10\xff\x7a\xff\x00\x00\x10\xff\x10\xff\x0f\xff\x0f\xff\x0f\xff\x64\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x00\x00\x00\x00\xce\xff\xcd\xff\x7c\xff\x7b\xff\x0f\xff\x0f\xff\x0f\xff\x00\x00\x6b\xff\x00\x00\x00\x00\x00\x00\x7a\xff\x00\x00\x10\xff\x00\x00\x00\x00\x10\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x1e\xff\x0f\xff\x00\x00\x0f\xff\x00\x00\x0f\xff\x26\xff\x9e\xff\x28\xff\x00\x00\x0f\xff\x0f\xff\x67\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x10\xff\x00\x00\x0f\xff\x00\x00\x0f\xff\x0f\xff\x61\xff\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x0f\xff\x00\x00\xab\xff\x00\x00\x00\x00\x10\xff\x0f\xff\x10\xff\x0f\xff\x10\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x0f\xff\x65\xff\x0f\xff\x7c\xff\x7b\xff\x0f\xff\x0f\xff\x00\x00\x5b\xff\x0f\xff\x00\x00\x10\xff\x10\xff\x10\xff\x5f\xff\x5e\xff\x0f\xff\x0f\xff\x00\x00\x4f\xff\x00\x00\x00\x00\x66\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xff\xe0\xff\x00\x00\x00\x00\x00\x00\xe3\xff\x00\x00\x78\xff\xd9\xff\x75\xff\x98\xff\xc3\xff\x00\x00\xea\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x10\xff\x10\xff\x0f\xff\x00\x00\x10\xff\x10\xff\x00\x00\x00\x00\x00\x00\xb4\xff\x00\x00\xb9\xff\xb7\xff\xb6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xff\x00\x00\x39\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x0f\xff\x00\x00\xc7\xff\x00\x00\xf9\xff\x00\x00\x95\xff\x35\xff\x00\x00\x38\xff\x00\x00\x0f\xff\x32\xff\x2e\xff\x00\x00\x00\x00\x0f\xff\x0f\xff\x00\x00\xba\xff\x0f\xff\x0f\xff\x0f\xff\xb1\xff\xb0\xff\x0f\xff\xdd\xff\x00\x00\xae\xff\xad\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x0f\xff\x0f\xff\x00\x00\x0f\xff\xd9\xff\x00\x00\xd3\xff\xd7\xff\xd6\xff\xd4\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe2\xff\x0f\xff\x0f\xff\x0f\xff\xe1\xff\x00\x00\xd1\xff\x00\x00\x0f\xff\x0f\xff\x00\x00\x7a\xff\x50\xff\x52\xff\x10\xff\x00\x00\xa8\xff\x62\xff\x90\xff\x0f\xff\x10\xff\x00\x00\x10\xff\x0f\xff\x53\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x00\x00\x10\xff\x00\x00\x10\xff\x00\x00\x0f\xff\x74\xff\x0f\xff\x6e\xff\x0f\xff\x71\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\xff\x00\x00\x0f\xff\x10\xff\x10\xff\xaa\xff\x10\xff\x0f\xff\x92\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x9d\xff\x8b\xff\x8e\xff\x8c\xff\x8d\xff\x8f\xff\x88\xff\xa9\xff\x89\xff\xa2\xff\x9f\xff\x00\x00\xa1\xff\x79\xff\x00\x00\x69\xff\x68\xff\x0f\xff\x10\xff\x10\xff\x10\xff\xb3\xff\x00\x00\x80\xff\x00\x00\x7f\xff\x00\x00\x5a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x0f\xff\x00\x00\x0f\xff\xcf\xff\x00\x00\x00\x00\x00\x00\x13\xff\x12\xff\x77\xff\x00\x00\x00\x00\xd2\xff\xd8\xff\x10\xff\x97\xff\x10\xff\xc3\xff\x10\xff\x00\x00\xe6\xff\x00\x00\xb8\xff\x10\xff\x10\xff\x39\xff\x0f\xff\x3e\xff\x00\x00\x2d\xff\x31\xff\x10\xff\x34\xff\x00\x00\x0f\xff\x00\x00\xc6\xff\xec\xff\x00\x00\x00\x00\xef\xff\x36\xff\x00\x00\xbf\xff\x2e\xff\xbe\xff\x3e\xff\x2a\xff\x2b\xff\x00\x00\x10\xff\x00\x00\xbd\xff\xbc\xff\x3b\xff\x00\x00\xda\xff\x00\x00\xdc\xff\xc0\xff\xc1\xff\x00\x00\x9b\xff\x00\x00\x00\x00\x11\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x0f\xff\x10\xff\x00\x00\x4c\xff\x0f\xff\x10\xff\x0f\xff\x82\xff\x7e\xff\x83\xff\x86\xff\x84\xff\x85\xff\x87\xff\x7d\xff\x81\xff\xb2\xff\x6d\xff\x6c\xff\x10\xff\x73\xff\x72\xff\x00\x00\x10\xff\x56\xff\x10\xff\x0f\xff\x00\x00\x10\xff\x93\xff\x0f\xff\x10\xff\x00\x00\x76\xff\xd5\xff\x9c\xff\x00\x00\xeb\xff\xe4\xff\xdb\xff\x00\x00\x3c\xff\x3a\xff\x29\xff\x3d\xff\x2c\xff\x33\xff\x37\xff\xc5\xff\xe5\xff\x9a\xff\x00\x00\x0f\xff\xe7\xff\x10\xff\xa4\xff\x00\x00\x10\xff\x00\x00\x6a\xff\x70\xff\x4e\xff\x00\x00\x00\x00\xe9\xff\x10\xff\x99\xff\xe8\xff\x51\xff\x4d\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x11\x00\x01\x00\x0b\x00\x02\x00\x0a\x00\x02\x00\x17\x00\x43\x00\x02\x00\x03\x00\x08\x00\x09\x00\x0c\x00\x02\x00\x13\x00\x17\x00\x10\x00\x0b\x00\x11\x00\x13\x00\x25\x00\x03\x00\x01\x00\x43\x00\x22\x00\x21\x00\x2b\x00\x20\x00\x2d\x00\x2e\x00\x0c\x00\x30\x00\x17\x00\x0c\x00\x33\x00\x1d\x00\x22\x00\x10\x00\x22\x00\x26\x00\x22\x00\x23\x00\x27\x00\x31\x00\x22\x00\x27\x00\x43\x00\x2e\x00\x41\x00\x2e\x00\x20\x00\x21\x00\x2e\x00\x17\x00\x3f\x00\x17\x00\x06\x00\x2e\x00\x44\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x02\x00\x03\x00\x3b\x00\x17\x00\x44\x00\x47\x00\x44\x00\x17\x00\x18\x00\x0b\x00\x4c\x00\x17\x00\x44\x00\x4f\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x45\x00\x3a\x00\x17\x00\x3a\x00\x01\x00\x47\x00\x1d\x00\x17\x00\x44\x00\x2e\x00\x4c\x00\x22\x00\x23\x00\x4f\x00\x33\x00\x02\x00\x27\x00\x02\x00\x69\x00\x10\x00\x06\x00\x22\x00\x6d\x00\x2e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x3d\x00\x3e\x00\x11\x00\x17\x00\x11\x00\x72\x00\x1a\x00\x02\x00\x03\x00\x17\x00\x18\x00\x69\x00\x3d\x00\x3e\x00\x3a\x00\x6d\x00\x0b\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x13\x00\x11\x00\x12\x00\x13\x00\x17\x00\x22\x00\x44\x00\x17\x00\x43\x00\x19\x00\x2e\x00\x2e\x00\x2e\x00\x1d\x00\x20\x00\x21\x00\x33\x00\x01\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x17\x00\x44\x00\x20\x00\x21\x00\x0c\x00\x0b\x00\x2e\x00\x2f\x00\x10\x00\x20\x00\x35\x00\x11\x00\x12\x00\x13\x00\x05\x00\x44\x00\x3b\x00\x17\x00\x72\x00\x19\x00\x22\x00\x22\x00\x22\x00\x1d\x00\x26\x00\x02\x00\x03\x00\x45\x00\x22\x00\x23\x00\x22\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x22\x00\x4d\x00\x4e\x00\x45\x00\x2e\x00\x2f\x00\x52\x00\x53\x00\x22\x00\x55\x00\x0c\x00\x26\x00\x02\x00\x03\x00\x10\x00\x17\x00\x1d\x00\x13\x00\x44\x00\x44\x00\x44\x00\x22\x00\x23\x00\x4d\x00\x4e\x00\x21\x00\x27\x00\x44\x00\x44\x00\x44\x00\x6a\x00\x6b\x00\x6c\x00\x2e\x00\x44\x00\x4d\x00\x4e\x00\x22\x00\x72\x00\x1d\x00\x52\x00\x53\x00\x44\x00\x55\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x22\x00\x27\x00\x6a\x00\x6b\x00\x6c\x00\x0b\x00\x2e\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x6a\x00\x6b\x00\x6c\x00\x0f\x00\x22\x00\x47\x00\x22\x00\x44\x00\x72\x00\x1d\x00\x4c\x00\x17\x00\x43\x00\x4f\x00\x22\x00\x23\x00\x44\x00\x22\x00\x22\x00\x27\x00\x44\x00\x02\x00\x03\x00\x02\x00\x03\x00\x0f\x00\x2e\x00\x22\x00\x22\x00\x02\x00\x0b\x00\x55\x00\x0b\x00\x17\x00\x22\x00\x22\x00\x22\x00\x72\x00\x44\x00\x69\x00\x44\x00\x22\x00\x27\x00\x6d\x00\x11\x00\x6f\x00\x70\x00\x71\x00\x1d\x00\x22\x00\x1d\x00\x44\x00\x44\x00\x22\x00\x23\x00\x22\x00\x23\x00\x22\x00\x27\x00\x20\x00\x27\x00\x44\x00\x44\x00\x02\x00\x03\x00\x2e\x00\x27\x00\x2e\x00\x44\x00\x44\x00\x44\x00\x44\x00\x0b\x00\x2e\x00\x03\x00\x44\x00\x02\x00\x03\x00\x02\x00\x03\x00\x22\x00\x0b\x00\x0c\x00\x44\x00\x03\x00\x0b\x00\x44\x00\x0b\x00\x07\x00\x12\x00\x1d\x00\x44\x00\x02\x00\x03\x00\x72\x00\x22\x00\x23\x00\x10\x00\x27\x00\x43\x00\x27\x00\x0b\x00\x17\x00\x1d\x00\x17\x00\x1d\x00\x01\x00\x2e\x00\x22\x00\x23\x00\x22\x00\x23\x00\x21\x00\x27\x00\x44\x00\x27\x00\x43\x00\x02\x00\x03\x00\x1d\x00\x2e\x00\x10\x00\x2e\x00\x17\x00\x22\x00\x23\x00\x0b\x00\x44\x00\x01\x00\x27\x00\x02\x00\x03\x00\x20\x00\x72\x00\x17\x00\x72\x00\x2e\x00\x0a\x00\x0b\x00\x17\x00\x17\x00\x1e\x00\x17\x00\x10\x00\x1d\x00\x17\x00\x1e\x00\x1e\x00\x1d\x00\x22\x00\x23\x00\x1d\x00\x4d\x00\x4e\x00\x27\x00\x02\x00\x03\x00\x1d\x00\x40\x00\x20\x00\x42\x00\x2e\x00\x22\x00\x23\x00\x0b\x00\x0c\x00\x0d\x00\x27\x00\x17\x00\x43\x00\x11\x00\x1a\x00\x13\x00\x43\x00\x2e\x00\x72\x00\x02\x00\x03\x00\x02\x00\x03\x00\x17\x00\x6a\x00\x6b\x00\x6c\x00\x17\x00\x20\x00\x1d\x00\x0b\x00\x72\x00\x17\x00\x72\x00\x26\x00\x27\x00\x1b\x00\x1c\x00\x0a\x00\x08\x00\x09\x00\x0d\x00\x2e\x00\x2f\x00\x0c\x00\x31\x00\x1d\x00\x72\x00\x1d\x00\x02\x00\x43\x00\x22\x00\x23\x00\x22\x00\x23\x00\x17\x00\x27\x00\x19\x00\x27\x00\x3f\x00\x15\x00\x16\x00\x43\x00\x2e\x00\x44\x00\x2e\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x44\x00\x72\x00\x4d\x00\x4e\x00\x2b\x00\x1d\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x01\x00\x72\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x17\x00\x18\x00\x4d\x00\x4e\x00\x0a\x00\x10\x00\x53\x00\x0d\x00\x6a\x00\x6b\x00\x6c\x00\x16\x00\x36\x00\x18\x00\x03\x00\x40\x00\x1b\x00\x42\x00\x07\x00\x2a\x00\x2b\x00\x2c\x00\x02\x00\x03\x00\x08\x00\x09\x00\x25\x00\x10\x00\x33\x00\x28\x00\x43\x00\x6a\x00\x6b\x00\x6c\x00\x17\x00\x0b\x00\x0c\x00\x17\x00\x18\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x03\x00\x17\x00\x1d\x00\x43\x00\x07\x00\x1b\x00\x1c\x00\x22\x00\x23\x00\x2a\x00\x2b\x00\x43\x00\x27\x00\x10\x00\x44\x00\x49\x00\x4a\x00\x4b\x00\x33\x00\x2e\x00\x17\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x43\x00\x01\x00\x02\x00\x56\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x16\x00\x42\x00\x43\x00\x0e\x00\x0f\x00\x10\x00\x2a\x00\x2b\x00\x17\x00\x27\x00\x19\x00\x16\x00\x43\x00\x18\x00\x43\x00\x33\x00\x1b\x00\x43\x00\x1d\x00\x52\x00\x23\x00\x24\x00\x25\x00\x22\x00\x23\x00\x43\x00\x25\x00\x26\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x43\x00\x2e\x00\x33\x00\x17\x00\x18\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x44\x00\x43\x00\x43\x00\x43\x00\x43\x00\x14\x00\x44\x00\x43\x00\x43\x00\x2a\x00\x2b\x00\x43\x00\x43\x00\x43\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x33\x00\x44\x00\x44\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x02\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x44\x00\x44\x00\x43\x00\x43\x00\x0e\x00\x0f\x00\x10\x00\x43\x00\x43\x00\x17\x00\x43\x00\x19\x00\x16\x00\x43\x00\x18\x00\x43\x00\x43\x00\x1b\x00\x43\x00\x1d\x00\x43\x00\x23\x00\x24\x00\x25\x00\x22\x00\x23\x00\x43\x00\x25\x00\x44\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x44\x00\x30\x00\x44\x00\x44\x00\x33\x00\x17\x00\x18\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x44\x00\x17\x00\x17\x00\x43\x00\x43\x00\x28\x00\x44\x00\x43\x00\x43\x00\x2a\x00\x2b\x00\x05\x00\x43\x00\x43\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x33\x00\x43\x00\x43\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x44\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x44\x00\x27\x00\x44\x00\x0e\x00\x0f\x00\x10\x00\x43\x00\x43\x00\x17\x00\x44\x00\x19\x00\x16\x00\x27\x00\x18\x00\x44\x00\x43\x00\x1b\x00\x43\x00\x1d\x00\x44\x00\x23\x00\x24\x00\x25\x00\x02\x00\x03\x00\x43\x00\x25\x00\x43\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x0b\x00\x30\x00\x44\x00\x43\x00\x33\x00\x43\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x43\x00\x27\x00\x44\x00\x1d\x00\x44\x00\x44\x00\x44\x00\x44\x00\x22\x00\x23\x00\x04\x00\x17\x00\x17\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x17\x00\x0c\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x05\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x44\x00\x44\x00\x44\x00\x17\x00\x0e\x00\x0f\x00\x10\x00\x44\x00\x44\x00\x17\x00\x40\x00\x19\x00\x16\x00\x13\x00\x18\x00\x17\x00\x17\x00\x1b\x00\x15\x00\x1d\x00\x26\x00\x23\x00\x24\x00\x25\x00\x02\x00\x03\x00\x15\x00\x25\x00\x11\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x0b\x00\x30\x00\x2e\x00\x03\x00\x33\x00\x13\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x0b\x00\x26\x00\x1d\x00\x44\x00\x13\x00\x44\x00\x26\x00\x22\x00\x23\x00\x11\x00\x11\x00\x0c\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x0b\x00\x14\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x2e\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x14\x00\x20\x00\x0b\x00\x31\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\x2e\x00\x17\x00\x11\x00\x19\x00\x16\x00\x11\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x11\x00\x23\x00\x24\x00\x25\x00\x02\x00\x03\x00\x11\x00\x25\x00\x2e\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x2e\x00\x30\x00\x13\x00\x0b\x00\x33\x00\x13\x00\x11\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x10\x00\x04\x00\x20\x00\x1d\x00\x26\x00\x04\x00\x44\x00\x20\x00\x22\x00\x23\x00\x13\x00\x20\x00\x26\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x26\x00\x11\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x11\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x26\x00\x0a\x00\x15\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x13\x00\x13\x00\x17\x00\x11\x00\x19\x00\x16\x00\x13\x00\x18\x00\x26\x00\x0a\x00\x1b\x00\x56\x00\x1d\x00\x0c\x00\x23\x00\x24\x00\x25\x00\x0b\x00\x26\x00\x13\x00\x25\x00\x20\x00\x2b\x00\x28\x00\x2d\x00\x2e\x00\x0d\x00\x30\x00\x13\x00\x11\x00\x33\x00\x11\x00\x26\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x31\x00\x11\x00\x0a\x00\x03\x00\x26\x00\x26\x00\x44\x00\x20\x00\x13\x00\x02\x00\x03\x00\x2f\x00\x0a\x00\x11\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x11\x00\x03\x00\x11\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x0a\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x10\x00\x55\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x12\x00\x22\x00\x23\x00\x0b\x00\x11\x00\x16\x00\x27\x00\x18\x00\x0b\x00\x0b\x00\x1b\x00\x04\x00\x1d\x00\x2e\x00\x2f\x00\x02\x00\x03\x00\x02\x00\x03\x00\x01\x00\x25\x00\x04\x00\x12\x00\x28\x00\x04\x00\x10\x00\x10\x00\x3f\x00\x10\x00\x05\x00\x11\x00\x14\x00\x11\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x12\x00\x1d\x00\x12\x00\x1d\x00\x12\x00\x12\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x26\x00\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\x0c\x00\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x20\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x72\x00\x72\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x0c\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x17\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x1c\x00\xff\xff\x13\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x1d\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x22\x00\x23\x00\xff\xff\x02\x00\x03\x00\x27\x00\x33\x00\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x01\x00\x12\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x1d\x00\xff\xff\x2a\x00\x2b\x00\xff\xff\x22\x00\x23\x00\xff\xff\x02\x00\x03\x00\x27\x00\x33\x00\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x01\x00\x12\x00\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x2e\x00\xff\xff\x2e\x00\x4f\x00\x50\x00\x51\x00\x01\x00\xff\xff\x54\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0c\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x17\x00\x18\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x2a\x00\x2b\x00\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x33\x00\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x02\x00\x03\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x19\x00\x16\x00\xff\xff\x18\x00\x1d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x02\x00\x03\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x19\x00\x16\x00\xff\xff\x18\x00\x1d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x2e\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x02\x00\x03\x00\xff\xff\x01\x00\x2a\x00\x2b\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x33\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x16\x00\xff\xff\x18\x00\x1d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x25\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x16\x00\x2b\x00\x18\x00\x2d\x00\x2e\x00\x1b\x00\x30\x00\xff\xff\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x11\x00\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\xff\xff\x1f\x00\x4f\x00\x50\x00\x17\x00\x16\x00\x19\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x25\x00\xff\xff\x4f\x00\x50\x00\x17\x00\x16\x00\x2b\x00\x18\x00\x2d\x00\x2e\x00\x1b\x00\x30\x00\x2a\x00\x2b\x00\x33\x00\x34\x00\xff\xff\xff\xff\x25\x00\xff\xff\x25\x00\x33\x00\xff\xff\x28\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x17\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x10\x00\x25\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x16\x00\x2b\x00\x18\x00\x2d\x00\x2e\x00\x1b\x00\x30\x00\x2a\x00\x2b\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x33\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x25\x00\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x02\x00\x03\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x0f\x00\x10\x00\xff\xff\x4f\x00\x50\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x22\x00\x23\x00\xff\xff\x22\x00\x23\x00\x27\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\xff\xff\x11\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x4a\x00\x4b\x00\x0f\x00\x10\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x2e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x25\x00\xff\xff\x11\x00\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x25\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x4a\x00\x4b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x4a\x00\x4b\x00\x10\x00\xff\xff\xff\xff\x0a\x00\x17\x00\xff\xff\x0d\x00\x0e\x00\x18\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x25\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\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\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x17\x00\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\x00\x00\x01\x00\x02\x00\x03\x00\x17\x00\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x11\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x17\x00\xff\xff\x17\x00\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x11\x00\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\x17\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x25\x00\xff\xff\xff\xff\x27\x00\xff\xff\x17\x00\x2b\x00\x19\x00\x2d\x00\x2e\x00\x2e\x00\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x2b\x00\x17\x00\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x23\x00\x24\x00\x25\x00\xff\xff\x17\x00\xff\xff\x25\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2b\x00\x30\x00\x2d\x00\x2e\x00\x33\x00\x30\x00\x25\x00\x17\x00\x33\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x17\x00\x18\x00\x33\x00\x25\x00\xff\xff\xff\xff\xff\xff\x17\x00\x1f\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\x29\x00\x2a\x00\x2b\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x33\x00\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\xff\xff\x33\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x7f\x00\x22\x00\x03\x02\xe1\x00\xd8\x00\xe1\x00\x17\x00\x57\x02\xaf\x00\xb0\x00\xd3\x01\x5c\x01\x50\x00\xe1\x00\x14\x01\x8a\x00\x51\x00\x20\xff\x75\xff\xfc\xff\x1b\x00\xb0\x00\x22\x00\x52\x02\xac\x00\x31\x02\x1c\x00\x15\x01\x80\x00\x1e\x00\xdf\xff\x1f\x00\x42\x01\x50\x00\x20\x00\xb1\x00\xac\x00\x51\x00\xac\x00\x75\xff\xb2\x00\xb3\x00\x93\x01\x7a\xff\xac\x00\xb4\x00\x54\x02\xe3\x00\x81\x00\xe3\x00\xdf\xff\xdf\xff\xb5\x00\x2a\x01\x56\x00\x2a\x01\x09\x01\xe3\x00\x4d\x02\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xaf\x00\xb0\x00\xec\x01\x34\x02\xad\x00\x59\x00\x2d\x02\x73\x00\x74\x00\x22\xff\x5a\x00\xe9\x01\x30\x02\x5b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xdf\xff\x42\x02\xe9\x01\x2b\x01\x22\x00\x59\x00\xb1\x00\x2a\x01\x55\x02\x75\x00\x5a\x00\xb2\x00\xb3\x00\x5b\x00\x76\x00\xe1\x00\xb4\x00\xe1\x00\x5c\x00\x51\x00\x72\x00\xac\x00\x5d\x00\xb5\x00\x5e\x00\x5f\x00\x60\x00\xfc\xff\x41\x02\xeb\x01\x1b\x02\xa8\x00\xe2\x00\x20\xff\xaf\x01\xaf\x00\xb0\x00\x73\x00\x74\x00\x5c\x00\xea\x01\xeb\x01\x2d\x01\x5d\x00\xa7\xff\x5e\x00\x5f\x00\x60\x00\xfc\xff\x41\x01\xa7\xff\xa7\xff\xa7\xff\x42\x01\xac\x00\xad\x00\xa7\xff\x49\x02\xa7\xff\xe3\x00\x75\x00\xe3\x00\xb1\x00\x0c\x01\x0d\x01\x76\x00\x22\x00\xb2\x00\xb3\x00\xaf\x00\xb0\x00\xa7\xff\xb4\x00\x2e\x01\x4a\x02\x23\x01\x24\x01\x50\x00\xa6\xff\xb5\x00\xa7\xff\x51\x00\x3c\x01\x43\x01\xa6\xff\xa6\xff\xa6\xff\x38\x02\x15\x02\x44\x01\xa6\xff\x22\xff\xa6\xff\xac\x00\xac\x00\xac\x00\xb1\x00\xec\x00\xaf\x00\xb0\x00\x0e\x01\xb2\x00\xb3\x00\xac\x00\xac\x00\xa6\xff\xb4\x00\x25\xff\x22\x00\xac\x00\xa7\xff\xa7\xff\x0e\x01\xb5\x00\xa6\xff\xa7\xff\xa7\xff\xac\x00\xa7\xff\x50\x00\x39\x02\xaf\x00\xb0\x00\x51\x00\x71\x01\xb1\x00\xfc\xff\xad\x00\xad\x00\x74\x01\xb2\x00\xb3\x00\x5e\x01\x5f\x01\x8b\x00\xb4\x00\x2b\x02\x83\x01\x85\x01\xa7\xff\xa7\xff\xa7\xff\xb5\x00\x87\x01\xa6\xff\xa6\xff\xac\x00\xa7\xff\xb1\x00\xa6\xff\xa6\xff\x89\x01\xa6\xff\xb2\x00\xb3\x00\xaf\x00\xb0\x00\x14\x02\xb4\x00\xac\x00\x75\x01\x60\x01\x61\x01\x62\x01\x23\xff\xb5\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa6\xff\xa6\xff\xa6\xff\x44\x02\xac\x00\x59\x00\xac\x00\xad\x00\xa6\xff\xb1\x00\x5a\x00\x33\x01\x4b\x02\x5b\x00\xb2\x00\xb3\x00\xb5\x00\xac\x00\xac\x00\xb4\x00\x9e\x01\xaf\x00\xb0\x00\xaf\x00\xb0\x00\x32\x01\xb5\x00\xac\x00\xac\x00\xe1\x00\x21\xff\x94\xff\x1c\xff\x33\x01\xe3\x00\xac\x00\xac\x00\x25\xff\xa1\x01\x5c\x00\xa2\x01\xac\x00\xf4\x00\x5d\x00\x91\x01\x5e\x00\x5f\x00\x60\x00\xb1\x00\xac\x00\xb1\x00\xa3\x01\xa4\x01\xb2\x00\xb3\x00\xb2\x00\xb3\x00\xe3\x00\xb4\x00\x92\x01\xb4\x00\xa5\x01\xad\x00\xaf\x00\xb0\x00\xb5\x00\x93\x01\xb5\x00\xe4\x00\xad\x00\xf8\x00\x20\x01\x1b\xff\xe3\x00\x8f\x00\xfa\x00\xaf\x00\xb0\x00\xaf\x00\xb0\x00\xac\x00\xd1\x01\x08\x01\xad\x00\x06\x02\x19\xff\x33\x02\x18\xff\x3b\x02\x90\x00\xb1\x00\xe4\x00\xaf\x00\xb0\x00\x23\xff\xb2\x00\xb3\x00\x48\x00\xf4\x00\x4e\x02\xb4\x00\x17\xff\x8a\x00\xb1\x00\x4a\x00\xb1\x00\x22\x00\xb5\x00\xb2\x00\xb3\x00\xb2\x00\xb3\x00\x8b\x00\xb4\x00\xad\x00\xb4\x00\x4f\x02\xaf\x00\xb0\x00\xb1\x00\xb5\x00\x51\x00\xb5\x00\x2e\x01\xb2\x00\xb3\x00\x16\xff\xb5\x00\x22\x00\xb4\x00\xaf\x00\xb0\x00\x2f\x01\x21\xff\x0c\x02\x1c\xff\xb5\x00\x46\x01\x47\x01\x0c\x02\x0c\x02\x56\x02\xc3\x00\x51\x00\xb1\x00\xc3\x00\x46\x02\x0d\x02\xdd\x01\xb2\x00\xb3\x00\xa6\x01\x5e\x01\x5f\x01\xb4\x00\x6f\xff\xb0\x00\xb1\x00\x64\x01\x48\x01\x0f\x02\xb5\x00\xb2\x00\xb3\x00\x6f\xff\x6f\xff\x6f\xff\xb4\x00\xa8\x00\x2a\x02\x6f\xff\xa9\x00\x6f\xff\x2c\x02\xb5\x00\x1b\xff\xaf\x00\xb0\x00\xaf\x00\xb0\x00\xc3\x00\x60\x01\x61\x01\x62\x01\x3c\x02\x6f\xff\xc4\x00\xd9\xff\x19\xff\xd8\x00\x18\xff\x6f\xff\x6f\xff\xb2\x01\xda\x00\x95\x01\xdb\x01\x5c\x01\x7a\xff\x6f\xff\x6f\xff\x6d\x00\x6f\xff\xb1\x00\x17\xff\xb1\x00\x6f\x00\x2f\x02\xb2\x00\xb3\x00\xb2\x00\xb3\x00\x98\x00\xb4\x00\x99\x00\xb4\x00\x6f\xff\xe4\x01\x26\x01\x3e\x02\xb5\x00\x6f\xff\xb5\x00\xf5\x01\x19\x00\x1a\x00\x1b\x00\x9a\x00\x00\x02\x16\xff\x6f\xff\x6f\xff\x1c\x00\x70\x00\x1d\x00\x1e\x00\x9b\x00\x1f\x00\x71\x00\x72\x00\x20\x00\x22\x00\xff\xff\x83\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x84\x00\x73\x00\xa2\x00\x5e\x01\x5f\x01\xd8\x00\x2b\x00\xd0\x01\x7a\xff\x6f\xff\x6f\xff\x6f\xff\x2c\x00\x01\x02\x2d\x00\x06\x02\x64\x01\x2e\x00\x65\x01\x07\x02\xb5\x01\xa4\x00\xb6\x01\xaf\x00\xb0\x00\x5b\x01\x5c\x01\x30\x00\x48\x00\x76\x00\x31\x00\xf9\x01\x60\x01\x61\x01\x62\x01\x4a\x00\x07\x01\x08\x01\x73\x00\xa2\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x06\x02\xd8\x00\xb1\x00\x03\x02\x12\x02\xd9\x00\xda\x00\xb2\x00\xb3\x00\x28\x02\xa4\x00\x04\x02\xb4\x00\x48\x00\x19\x02\x3b\x00\x3c\x00\x3d\x00\x76\x00\xb5\x00\x4a\x00\x3e\x00\x3f\x00\x73\x00\xa2\x00\x08\x02\x22\x00\x9d\x00\x85\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x25\x01\x26\x01\x28\x01\x29\x01\x29\x00\x2a\x00\x2b\x00\x29\x02\xa4\x00\x17\x00\xcd\x01\x7d\x01\x2c\x00\x0a\x02\x2d\x00\x0b\x02\x76\x00\x2e\x00\x24\x02\x9e\x00\x05\x01\x19\x00\x1a\x00\x1b\x00\x9f\x00\xa0\x00\x25\x02\x30\x00\xa1\x00\x1c\x00\x31\x00\x1d\x00\x1e\x00\x7e\x01\x1f\x00\x26\x02\xa2\x00\x20\x00\x73\x00\xa2\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x27\x02\xa7\x01\xa8\x01\xa9\x01\xaa\x01\x6b\x00\x7f\x01\xab\x01\xac\x01\xb7\x01\xa4\x00\xad\x01\xae\x01\xbc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xb8\x01\xb9\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x6f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xba\x01\xdc\x01\xbe\x01\xc0\x01\x29\x00\x2a\x00\x2b\x00\xc1\x01\xc2\x01\x17\x00\xc3\x01\xc9\x00\x2c\x00\xc4\x01\x2d\x00\xc5\x01\xc6\x01\x2e\x00\xc7\x01\x9e\x00\xc9\x01\x19\x00\x1a\x00\x1b\x00\x71\x00\x72\x00\xcc\x01\x30\x00\xde\x01\x1c\x00\x31\x00\x1d\x00\x1e\x00\xe0\x01\x1f\x00\xe5\x01\xe6\x01\x20\x00\x73\x00\xa2\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xed\x01\xef\x01\x39\x01\x4d\x01\x4e\x01\x62\x01\x7c\x01\x52\x01\x53\x01\xc8\x01\xa4\x00\x6a\x01\x76\x01\x77\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\x78\x01\x86\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x7a\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0a\x01\x82\x01\xd6\x00\x84\x01\x29\x00\x2a\x00\x2b\x00\x88\x01\x8a\x01\x17\x00\x9b\x01\xcd\x00\x2c\x00\x02\x01\x2d\x00\x9c\x01\xa0\x01\x2e\x00\xc8\x00\x2f\x00\xce\x00\x19\x00\x1a\x00\x1b\x00\xaf\x00\xb0\x00\xd1\x00\x30\x00\xd4\x00\x1c\x00\x31\x00\x1d\x00\x1e\x00\xf7\x01\x1f\x00\xf9\x00\xfb\x00\x20\x00\xfc\x00\xbf\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x03\x01\x06\x01\x1b\x01\xb1\x00\x1c\x01\x1f\x01\x80\x01\x20\x01\xb2\x00\xb3\x00\x21\x01\x29\x01\x2c\x01\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x67\x00\x6d\x00\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x85\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x8d\x00\x90\x00\x91\x00\x93\x00\x29\x00\x2a\x00\x2b\x00\xaa\x00\xb5\x00\x17\x00\x04\x00\xd0\x00\x2c\x00\x59\x02\x2d\x00\xbc\x00\xc2\x00\x2e\x00\x46\x02\x2f\x00\x48\x02\x19\x00\x1a\x00\x1b\x00\xaf\x00\xb0\x00\x49\x02\x30\x00\x51\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\xd5\x01\x1f\x00\xe3\x00\x00\x00\x20\x00\x33\x02\xc1\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x37\x02\x3a\x02\xf5\x01\xb1\x00\x3e\x02\x3b\x02\x81\x01\xf9\x01\xb2\x00\xb3\x00\x44\x02\xf8\x01\xfb\x01\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfc\x01\x06\x02\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x0f\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x11\x02\x17\x02\x12\x02\xcc\x01\x29\x00\x2a\x00\x2b\x00\xd8\x00\xb2\x01\x17\x00\x1c\x02\xe5\x00\x2c\x00\x1d\x02\x2d\x00\x1e\x02\x1f\x02\x2e\x00\x20\x02\x2f\x00\xbe\x01\x19\x00\x1a\x00\x1b\x00\xaf\x00\xb0\x00\xc0\x01\x30\x00\xb5\x01\x1c\x00\x31\x00\x1d\x00\x1e\x00\xe3\x00\x1f\x00\xd6\x01\xd7\x01\x20\x00\xd9\x01\x54\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xda\x01\xdb\x01\xe9\x01\xb1\x00\xf2\x01\xf3\x01\xe6\x00\x38\x01\xb2\x00\xb3\x00\x39\x01\x3c\x01\x52\x01\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3f\x01\x3e\x01\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x40\x01\x02\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x49\x01\x41\x01\x4a\x01\x55\x01\x29\x00\x2a\x00\x2b\x00\x56\x01\x57\x01\x17\x00\x50\x01\xe7\x00\x2c\x00\x58\x01\x2d\x00\x5b\x01\x64\x01\x2e\x00\x67\x01\x2f\x00\x87\x00\x19\x00\x1a\x00\x1b\x00\x6d\x01\x6c\x01\x74\x01\x30\x00\x6e\x01\x1c\x00\x31\x00\x1d\x00\x1e\x00\x7c\x01\x1f\x00\x8c\x01\x90\x01\x20\x00\x94\x01\x96\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x71\x01\x97\x01\x98\x01\x00\x00\x9a\x01\xc6\x00\xe8\x00\xd0\x00\xd3\x00\xaf\x00\xb0\x00\xd6\x00\xd8\x00\xcb\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcc\xff\x00\x00\xeb\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xd8\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x32\x01\x06\x01\xd8\x00\xb1\x00\x29\x00\x2a\x00\x2b\x00\x0f\x01\xb2\x00\xb3\x00\x16\x01\x25\x01\x2c\x00\xb4\x00\x2d\x00\x31\x01\x35\x01\x2e\x00\x61\x00\x2f\x00\xb5\x00\x36\x01\xaf\x00\xb0\x00\xee\x00\xb0\x00\x64\x00\x30\x00\x62\x00\x65\x00\x31\x00\x67\x00\x69\x00\x6a\x00\x66\x00\x6b\x00\x88\x00\x51\x01\x6d\x00\xef\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x7c\x00\xb1\x00\x7d\x00\xf0\x00\x7e\x00\x7f\x00\xb2\x00\xb3\x00\xf1\x00\xf2\x00\x52\x01\xb4\x00\xf3\x00\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x87\x00\xf4\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xac\x00\x02\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xdb\x00\xa2\x00\x00\x00\x00\x00\xdc\x00\xda\x00\x00\x00\x91\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xb1\x00\x00\x00\xdd\x00\xa4\x00\xde\x00\xb2\x00\xb3\x00\x00\x00\xaf\x00\xb0\x00\xb4\x00\x76\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xd3\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x2c\x00\xb4\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\xb5\x00\x00\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x73\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xb1\x00\x00\x00\xd7\x01\xa4\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\xaf\x00\xb0\x00\xb4\x00\x76\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\xe2\x01\x02\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x2c\x00\xb4\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\xb5\x00\x00\x00\xaf\x00\xb0\x00\xaf\x00\xb0\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\xe3\x01\x00\x00\xe4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xb1\x00\x00\x00\xb1\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\xb2\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xb5\x00\x00\x00\xb5\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x6d\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x73\x00\xa2\x00\x17\x00\x2c\x00\x1d\x01\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x8c\x01\xa4\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1e\x01\x1f\x00\x76\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xaf\x00\xb0\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x52\x02\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\xf7\x00\x2c\x00\x00\x00\x2d\x00\xb1\x00\x00\x00\x2e\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\xf8\x00\xb4\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xaf\x00\xb0\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x4d\x02\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\xcb\x01\x2c\x00\x00\x00\x2d\x00\xb1\x00\x00\x00\x2e\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb5\x00\x73\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xaf\x00\xb0\x00\x00\x00\x22\x00\x8d\x01\xa4\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x02\x76\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\xb1\x00\x00\x00\x2e\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x83\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x0f\x01\x3e\x00\x3f\x00\xfd\x00\x2c\x00\xfe\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x35\x02\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x53\x02\x00\x01\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x18\x02\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x1b\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x2c\x00\x1c\x00\x2d\x00\xfc\x01\x1e\x00\x2e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\xfd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x21\x02\x0f\x01\x3e\x00\x3f\x00\xfd\x00\x2c\x00\xfe\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x3f\x02\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x72\x01\x00\x01\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x22\x02\x0f\x01\x3e\x00\x3f\x00\xfd\x00\x2c\x00\xfe\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\xb0\x01\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\xff\x00\x00\x01\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x23\x02\x0f\x01\x3e\x00\x3f\x00\x17\x00\x2c\x00\x7d\x01\x2d\x00\x00\x00\x00\x00\x2e\x00\xb0\x01\xb3\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x7e\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x24\x02\x0f\x01\x3e\x00\x3f\x00\x17\x00\x2c\x00\x2e\x02\x2d\x00\x00\x00\x00\x00\x2e\x00\xe7\x01\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x83\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x00\x00\x0f\x01\x3e\x00\x3f\x00\x17\x00\x2c\x00\x14\x02\x2d\x00\x00\x00\x00\x00\x2e\x00\xee\x01\x11\x01\xa4\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x1b\x00\x00\x00\x3e\x00\x3f\x00\x17\x00\x2c\x00\x1c\x00\x2d\x00\xfc\x01\x1e\x00\x2e\x00\x1f\x00\x98\x01\xa4\x00\x20\x00\x40\x02\x00\x00\x00\x00\x1b\x00\x00\x00\x30\x00\x76\x00\x00\x00\x31\x00\x1c\x00\x00\x00\x9d\x01\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x17\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x73\x00\xa2\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2b\x00\x1b\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x2c\x00\x1c\x00\x2d\x00\x9d\x01\x1e\x00\x2e\x00\x1f\x00\xa3\x00\xa4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x22\x00\x6f\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\xa7\x00\x00\x00\x00\x00\x00\x00\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\x00\x00\x70\x00\x00\x00\xb2\x00\xb3\x00\x00\x00\x71\x00\x72\x00\xb4\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xa8\x00\x00\x00\x00\x00\x8f\x01\x22\x00\x00\x00\x13\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x7a\x00\x7b\x00\xa6\x00\xa7\x00\xb2\x00\xb3\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\xb5\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x79\x00\x00\x00\x09\x02\x00\x00\xa6\x00\xa7\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xa8\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x1c\x00\x00\x00\x80\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x7a\x00\x7b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xa8\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3a\x01\x42\x00\x43\x00\x44\x00\x00\x00\x7a\x00\x7b\x00\x78\x00\x00\x00\x00\x00\x45\x00\x17\x00\x00\x00\x46\x00\x47\x00\x2d\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x1c\x00\x00\x00\xbb\x01\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x17\x01\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x18\x01\x42\x00\x43\x00\x44\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x01\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x1a\x01\x42\x00\x43\x00\x44\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x89\x00\x42\x00\x43\x00\x44\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x59\x01\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x1c\x00\x00\x00\x80\x00\x1e\x00\x16\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x17\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\xb3\x00\x1b\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x17\x00\x1c\x00\x18\x02\x80\x00\x1e\x00\xb5\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf0\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x36\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4a\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4c\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x58\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x67\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x68\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x69\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x79\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc6\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc7\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc9\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xdf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x94\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe9\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x62\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x8c\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x92\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x94\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x97\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb6\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb7\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb8\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xb9\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x17\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x17\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x9d\x01\x1e\x00\x20\x00\x1f\x00\x1b\x00\x17\x00\x20\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x9d\x01\x1e\x00\x00\x00\x1f\x00\x73\x00\xa2\x00\x20\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x17\x00\x0f\x01\x1c\x00\x00\x00\xd3\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x10\x01\x11\x01\xa4\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x76\x00\x95\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (3, 241) [-	(3 , happyReduce_3),-	(4 , happyReduce_4),-	(5 , happyReduce_5),-	(6 , happyReduce_6),-	(7 , happyReduce_7),-	(8 , happyReduce_8),-	(9 , happyReduce_9),-	(10 , happyReduce_10),-	(11 , happyReduce_11),-	(12 , happyReduce_12),-	(13 , happyReduce_13),-	(14 , happyReduce_14),-	(15 , happyReduce_15),-	(16 , happyReduce_16),-	(17 , happyReduce_17),-	(18 , happyReduce_18),-	(19 , happyReduce_19),-	(20 , happyReduce_20),-	(21 , happyReduce_21),-	(22 , happyReduce_22),-	(23 , happyReduce_23),-	(24 , happyReduce_24),-	(25 , happyReduce_25),-	(26 , happyReduce_26),-	(27 , happyReduce_27),-	(28 , happyReduce_28),-	(29 , happyReduce_29),-	(30 , happyReduce_30),-	(31 , happyReduce_31),-	(32 , happyReduce_32),-	(33 , happyReduce_33),-	(34 , happyReduce_34),-	(35 , happyReduce_35),-	(36 , happyReduce_36),-	(37 , happyReduce_37),-	(38 , happyReduce_38),-	(39 , happyReduce_39),-	(40 , happyReduce_40),-	(41 , happyReduce_41),-	(42 , happyReduce_42),-	(43 , happyReduce_43),-	(44 , happyReduce_44),-	(45 , happyReduce_45),-	(46 , happyReduce_46),-	(47 , happyReduce_47),-	(48 , happyReduce_48),-	(49 , happyReduce_49),-	(50 , happyReduce_50),-	(51 , happyReduce_51),-	(52 , happyReduce_52),-	(53 , happyReduce_53),-	(54 , happyReduce_54),-	(55 , happyReduce_55),-	(56 , happyReduce_56),-	(57 , happyReduce_57),-	(58 , happyReduce_58),-	(59 , happyReduce_59),-	(60 , happyReduce_60),-	(61 , happyReduce_61),-	(62 , happyReduce_62),-	(63 , happyReduce_63),-	(64 , happyReduce_64),-	(65 , happyReduce_65),-	(66 , happyReduce_66),-	(67 , happyReduce_67),-	(68 , happyReduce_68),-	(69 , happyReduce_69),-	(70 , happyReduce_70),-	(71 , happyReduce_71),-	(72 , happyReduce_72),-	(73 , happyReduce_73),-	(74 , happyReduce_74),-	(75 , happyReduce_75),-	(76 , happyReduce_76),-	(77 , happyReduce_77),-	(78 , happyReduce_78),-	(79 , happyReduce_79),-	(80 , happyReduce_80),-	(81 , happyReduce_81),-	(82 , happyReduce_82),-	(83 , happyReduce_83),-	(84 , happyReduce_84),-	(85 , happyReduce_85),-	(86 , happyReduce_86),-	(87 , happyReduce_87),-	(88 , happyReduce_88),-	(89 , happyReduce_89),-	(90 , happyReduce_90),-	(91 , happyReduce_91),-	(92 , happyReduce_92),-	(93 , happyReduce_93),-	(94 , happyReduce_94),-	(95 , happyReduce_95),-	(96 , happyReduce_96),-	(97 , happyReduce_97),-	(98 , happyReduce_98),-	(99 , happyReduce_99),-	(100 , happyReduce_100),-	(101 , happyReduce_101),-	(102 , happyReduce_102),-	(103 , happyReduce_103),-	(104 , happyReduce_104),-	(105 , happyReduce_105),-	(106 , happyReduce_106),-	(107 , happyReduce_107),-	(108 , happyReduce_108),-	(109 , happyReduce_109),-	(110 , happyReduce_110),-	(111 , happyReduce_111),-	(112 , happyReduce_112),-	(113 , happyReduce_113),-	(114 , happyReduce_114),-	(115 , happyReduce_115),-	(116 , happyReduce_116),-	(117 , happyReduce_117),-	(118 , happyReduce_118),-	(119 , happyReduce_119),-	(120 , happyReduce_120),-	(121 , happyReduce_121),-	(122 , happyReduce_122),-	(123 , happyReduce_123),-	(124 , happyReduce_124),-	(125 , happyReduce_125),-	(126 , happyReduce_126),-	(127 , happyReduce_127),-	(128 , happyReduce_128),-	(129 , happyReduce_129),-	(130 , happyReduce_130),-	(131 , happyReduce_131),-	(132 , happyReduce_132),-	(133 , happyReduce_133),-	(134 , happyReduce_134),-	(135 , happyReduce_135),-	(136 , happyReduce_136),-	(137 , happyReduce_137),-	(138 , happyReduce_138),-	(139 , happyReduce_139),-	(140 , happyReduce_140),-	(141 , happyReduce_141),-	(142 , happyReduce_142),-	(143 , happyReduce_143),-	(144 , happyReduce_144),-	(145 , happyReduce_145),-	(146 , happyReduce_146),-	(147 , happyReduce_147),-	(148 , happyReduce_148),-	(149 , happyReduce_149),-	(150 , happyReduce_150),-	(151 , happyReduce_151),-	(152 , happyReduce_152),-	(153 , happyReduce_153),-	(154 , happyReduce_154),-	(155 , happyReduce_155),-	(156 , happyReduce_156),-	(157 , happyReduce_157),-	(158 , happyReduce_158),-	(159 , happyReduce_159),-	(160 , happyReduce_160),-	(161 , happyReduce_161),-	(162 , happyReduce_162),-	(163 , happyReduce_163),-	(164 , happyReduce_164),-	(165 , happyReduce_165),-	(166 , happyReduce_166),-	(167 , happyReduce_167),-	(168 , happyReduce_168),-	(169 , happyReduce_169),-	(170 , happyReduce_170),-	(171 , happyReduce_171),-	(172 , happyReduce_172),-	(173 , happyReduce_173),-	(174 , happyReduce_174),-	(175 , happyReduce_175),-	(176 , happyReduce_176),-	(177 , happyReduce_177),-	(178 , happyReduce_178),-	(179 , happyReduce_179),-	(180 , happyReduce_180),-	(181 , happyReduce_181),-	(182 , happyReduce_182),-	(183 , happyReduce_183),-	(184 , happyReduce_184),-	(185 , happyReduce_185),-	(186 , happyReduce_186),-	(187 , happyReduce_187),-	(188 , happyReduce_188),-	(189 , happyReduce_189),-	(190 , happyReduce_190),-	(191 , happyReduce_191),-	(192 , happyReduce_192),-	(193 , happyReduce_193),-	(194 , happyReduce_194),-	(195 , happyReduce_195),-	(196 , happyReduce_196),-	(197 , happyReduce_197),-	(198 , happyReduce_198),-	(199 , happyReduce_199),-	(200 , happyReduce_200),-	(201 , happyReduce_201),-	(202 , happyReduce_202),-	(203 , happyReduce_203),-	(204 , happyReduce_204),-	(205 , happyReduce_205),-	(206 , happyReduce_206),-	(207 , happyReduce_207),-	(208 , happyReduce_208),-	(209 , happyReduce_209),-	(210 , happyReduce_210),-	(211 , happyReduce_211),-	(212 , happyReduce_212),-	(213 , happyReduce_213),-	(214 , happyReduce_214),-	(215 , happyReduce_215),-	(216 , happyReduce_216),-	(217 , happyReduce_217),-	(218 , happyReduce_218),-	(219 , happyReduce_219),-	(220 , happyReduce_220),-	(221 , happyReduce_221),-	(222 , happyReduce_222),-	(223 , happyReduce_223),-	(224 , happyReduce_224),-	(225 , happyReduce_225),-	(226 , happyReduce_226),-	(227 , happyReduce_227),-	(228 , happyReduce_228),-	(229 , happyReduce_229),-	(230 , happyReduce_230),-	(231 , happyReduce_231),-	(232 , happyReduce_232),-	(233 , happyReduce_233),-	(234 , happyReduce_234),-	(235 , happyReduce_235),-	(236 , happyReduce_236),-	(237 , happyReduce_237),-	(238 , happyReduce_238),-	(239 , happyReduce_239),-	(240 , happyReduce_240),-	(241 , happyReduce_241)-	]--happy_n_terms = 115 :: Int-happy_n_nonterms = 70 :: Int--happyReduce_3 = happySpecReduce_0  0# happyReduction_3-happyReduction_3  =  happyIn6-		 ([]-	)--happyReduce_4 = happySpecReduce_2  0# happyReduction_4-happyReduction_4 happy_x_2-	happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (happy_var_1:happy_var_2-	)}}--happyReduce_5 = happySpecReduce_2  0# happyReduction_5-happyReduction_5 happy_x_2-	happy_x_1-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (map RealDecl happy_var_1 ++ happy_var_2-	)}}--happyReduce_6 = happyReduce 4# 0# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	case happyOut6 happy_x_4 of { happy_var_4 -> -	happyIn6-		 (RealDecl (PInclude happy_var_2) : happy_var_4-	) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1  1# happyReduction_7-happyReduction_7 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (happy_var_1-	)}--happyReduce_8 = happySpecReduce_1  1# happyReduction_8-happyReduction_8 happy_x_1-	 =  case happyOut24 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl (DataDecl happy_var_1)-	)}--happyReduce_9 = happySpecReduce_1  1# happyReduction_9-happyReduction_9 happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_10 = happySpecReduce_3  1# happyReduction_10-happyReduction_10 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> -	happyIn7-		 (RealDecl (Freeze happy_var_2)-	)}--happyReduce_11 = happyReduce 4# 1# happyReduction_11-happyReduction_11 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut60 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_12 = happyReduce 4# 1# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut61 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PDoUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_13 = happyReduce 4# 1# happyReduction_13-happyReduction_13 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut62 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PIdiom happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_14 = happyReduce 4# 1# happyReduction_14-happyReduction_14 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut63 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PParams happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_15 = happySpecReduce_1  1# happyReduction_15-happyReduction_15 happy_x_1-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_16 = happyReduce 6# 1# happyReduction_16-happyReduction_16 (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 happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut38 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	happyIn7-		 (PSyntax happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_17 = happySpecReduce_2  1# happyReduction_17-happyReduction_17 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CInclude happy_var_2)-	)}--happyReduce_18 = happySpecReduce_2  1# happyReduction_18-happyReduction_18 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CLib happy_var_2)-	)}--happyReduce_19 = happyReduce 5# 2# happyReduction_19-happyReduction_19 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn8-		 (Transform happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_20 = happyReduce 7# 3# happyReduction_20-happyReduction_20 (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 happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut14 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6-	) `HappyStk` happyRest}}}}}--happyReduce_21 = happySpecReduce_3  3# happyReduction_21-happyReduction_21 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut71 happy_x_2 of { happy_var_2 -> -	happyIn9-		 (ProofScript happy_var_1 happy_var_2-	)}}--happyReduce_22 = happyReduce 9# 3# happyReduction_22-happyReduction_22 (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 happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	case happyOut10 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut13 happy_x_6 of { happy_var_6 -> -	case happyOut74 happy_x_8 of { happy_var_8 -> -	case happyOut73 happy_x_9 of { happy_var_9 -> -	happyIn9-		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}}}}--happyReduce_23 = happyReduce 10# 3# happyReduction_23-happyReduction_23 (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 happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut29 happy_x_7 of { happy_var_7 -> -	case happyOut74 happy_x_9 of { happy_var_9 -> -	case happyOut73 happy_x_10 of { happy_var_10 -> -	happyIn9-		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}}}}--happyReduce_24 = happyReduce 8# 3# happyReduction_24-happyReduction_24 (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 happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut14 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_7 of { happy_var_7 -> -	case happyOut73 happy_x_8 of { happy_var_8 -> -	happyIn9-		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)-	) `HappyStk` happyRest}}}}}}--happyReduce_25 = happyReduce 5# 3# happyReduction_25-happyReduction_25 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn9-		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []-	) `HappyStk` happyRest}}--happyReduce_26 = happyReduce 8# 3# happyReduction_26-happyReduction_26 (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 happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut29 happy_x_7 of { happy_var_7 -> -	happyIn9-		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}--happyReduce_27 = happyReduce 7# 3# happyReduction_27-happyReduction_27 (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 happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut10 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut13 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_28 = happySpecReduce_1  4# happyReduction_28-happyReduction_28 happy_x_1-	 =  happyIn10-		 (False-	)--happyReduce_29 = happySpecReduce_2  4# happyReduction_29-happyReduction_29 happy_x_2-	happy_x_1-	 =  happyIn10-		 (True-	)--happyReduce_30 = happySpecReduce_3  5# happyReduction_30-happyReduction_30 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut11 happy_x_3 of { happy_var_3 -> -	happyIn11-		 (happy_var_2:happy_var_3-	)}}--happyReduce_31 = happySpecReduce_0  5# happyReduction_31-happyReduction_31  =  happyIn11-		 ([]-	)--happyReduce_32 = happySpecReduce_1  6# happyReduction_32-happyReduction_32 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn12-		 (happy_var_1-	)}--happyReduce_33 = happySpecReduce_1  6# happyReduction_33-happyReduction_33 happy_x_1-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> -	happyIn12-		 (happy_var_1-	)}--happyReduce_34 = happySpecReduce_3  6# happyReduction_34-happyReduction_34 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn12-		 (happy_var_2-	)}--happyReduce_35 = happyReduce 5# 6# happyReduction_35-happyReduction_35 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut53 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn12-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_36 = happySpecReduce_2  7# happyReduction_36-happyReduction_36 happy_x_2-	happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	case happyOut13 happy_x_2 of { happy_var_2 -> -	happyIn13-		 (happy_var_1:happy_var_2-	)}}--happyReduce_37 = happySpecReduce_1  7# happyReduction_37-happyReduction_37 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn13-		 ([happy_var_1]-	)}--happyReduce_38 = happySpecReduce_0  8# happyReduction_38-happyReduction_38  =  happyIn14-		 ([]-	)--happyReduce_39 = happySpecReduce_2  8# happyReduction_39-happyReduction_39 happy_x_2-	happy_x_1-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> -	case happyOut14 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (happy_var_1 ++ happy_var_2-	)}}--happyReduce_40 = happySpecReduce_1  9# happyReduction_40-happyReduction_40 happy_x_1-	 =  happyIn15-		 ([NoCG]-	)--happyReduce_41 = happySpecReduce_1  9# happyReduction_41-happyReduction_41 happy_x_1-	 =  happyIn15-		 ([CGEval, Inline]-	)--happyReduce_42 = happyReduce 4# 9# happyReduction_42-happyReduction_42 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut36 happy_x_3 of { happy_var_3 -> -	happyIn15-		 ([CGSpec happy_var_3]-	) `HappyStk` happyRest}--happyReduce_43 = happySpecReduce_1  9# happyReduction_43-happyReduction_43 happy_x_1-	 =  happyIn15-		 ([CGSpec []]-	)--happyReduce_44 = happySpecReduce_1  9# happyReduction_44-happyReduction_44 happy_x_1-	 =  happyIn15-		 ([Inline]-	)--happyReduce_45 = happySpecReduce_2  9# happyReduction_45-happyReduction_45 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn15-		 ([CExport happy_var_2]-	)}--happyReduce_46 = happyReduce 4# 10# happyReduction_46-happyReduction_46 (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 happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut17 happy_x_3 of { happy_var_3 -> -	happyIn16-		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3-	) `HappyStk` happyRest}}}--happyReduce_47 = happySpecReduce_1  11# happyReduction_47-happyReduction_47 happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	happyIn17-		 ([happy_var_1]-	)}--happyReduce_48 = happySpecReduce_3  11# happyReduction_48-happyReduction_48 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut17 happy_x_3 of { happy_var_3 -> -	happyIn17-		 (happy_var_1:happy_var_3-	)}}--happyReduce_49 = happySpecReduce_1  12# happyReduction_49-happyReduction_49 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> -	happyIn18-		 (happy_var_1-	)}--happyReduce_50 = happySpecReduce_1  12# happyReduction_50-happyReduction_50 happy_x_1-	 =  happyIn18-		 ("-"-	)--happyReduce_51 = happySpecReduce_1  12# happyReduction_51-happyReduction_51 happy_x_1-	 =  happyIn18-		 ("<"-	)--happyReduce_52 = happySpecReduce_1  12# happyReduction_52-happyReduction_52 happy_x_1-	 =  happyIn18-		 (">"-	)--happyReduce_53 = happySpecReduce_1  13# happyReduction_53-happyReduction_53 happy_x_1-	 =  happyIn19-		 (LeftAssoc-	)--happyReduce_54 = happySpecReduce_1  13# happyReduction_54-happyReduction_54 happy_x_1-	 =  happyIn19-		 (RightAssoc-	)--happyReduce_55 = happySpecReduce_1  13# happyReduction_55-happyReduction_55 happy_x_1-	 =  happyIn19-		 (NonAssoc-	)--happyReduce_56 = happyReduce 4# 14# happyReduction_56-happyReduction_56 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut21 happy_x_3 of { happy_var_3 -> -	happyIn20-		 (LatexDefs happy_var_3-	) `HappyStk` happyRest}--happyReduce_57 = happySpecReduce_3  15# happyReduction_57-happyReduction_57 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	happyIn21-		 ([(happy_var_1,happy_var_3)]-	)}}--happyReduce_58 = happyReduce 5# 15# happyReduction_58-happyReduction_58 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	case happyOut21 happy_x_5 of { happy_var_5 -> -	happyIn21-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_59 = happySpecReduce_2  16# happyReduction_59-happyReduction_59 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn22-		 ((happy_var_1, happy_var_2)-	)}}--happyReduce_60 = happySpecReduce_0  17# happyReduction_60-happyReduction_60  =  happyIn23-		 ([]-	)--happyReduce_61 = happySpecReduce_2  17# happyReduction_61-happyReduction_61 happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn23-		 ((happy_var_1,Nothing):happy_var_2-	)}}--happyReduce_62 = happyReduce 5# 17# happyReduction_62-happyReduction_62 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut23 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn23-		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_63 = happyReduce 5# 17# happyReduction_63-happyReduction_63 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut23 happy_x_5 of { happy_var_5 -> -	happyIn23-		 ((happy_var_3, Just happy_var_1):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_64 = happyReduce 6# 18# happyReduction_64-happyReduction_64 (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 happyOut26 happy_x_2 of { happy_var_2 -> -	case happyOut29 happy_x_3 of { happy_var_3 -> -	case happyOut25 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn24-		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}}}--happyReduce_65 = happySpecReduce_3  19# happyReduction_65-happyReduction_65 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> -	case happyOut67 happy_x_2 of { happy_var_2 -> -	happyIn25-		 (Right (happy_var_1,happy_var_2)-	)}}--happyReduce_66 = happySpecReduce_3  19# happyReduction_66-happyReduction_66 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn25-		 (Left happy_var_2-	)}--happyReduce_67 = happySpecReduce_3  19# happyReduction_67-happyReduction_67 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn25-		 (Left (RConst happy_var_2 happy_var_3 TYPE)-	)}}--happyReduce_68 = happySpecReduce_0  20# happyReduction_68-happyReduction_68  =  happyIn26-		 ([]-	)--happyReduce_69 = happySpecReduce_3  20# happyReduction_69-happyReduction_69 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut27 happy_x_2 of { happy_var_2 -> -	happyIn26-		 (happy_var_2-	)}--happyReduce_70 = happySpecReduce_1  21# happyReduction_70-happyReduction_70 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn27-		 ([happy_var_1]-	)}--happyReduce_71 = happySpecReduce_3  21# happyReduction_71-happyReduction_71 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_3 of { happy_var_3 -> -	happyIn27-		 (happy_var_1:happy_var_3-	)}}--happyReduce_72 = happySpecReduce_1  22# happyReduction_72-happyReduction_72 happy_x_1-	 =  happyIn28-		 (NoElim-	)--happyReduce_73 = happySpecReduce_1  22# happyReduction_73-happyReduction_73 happy_x_1-	 =  happyIn28-		 (Collapsible-	)--happyReduce_74 = happySpecReduce_1  23# happyReduction_74-happyReduction_74 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> -	happyIn29-		 (happy_var_1-	)}--happyReduce_75 = happySpecReduce_3  23# happyReduction_75-happyReduction_75 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_2 of { happy_var_2 -> -	happyIn29-		 (useropFn happy_var_2-	)}--happyReduce_76 = happyReduce 4# 24# happyReduction_76-happyReduction_76 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut30 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	case happyOut51 happy_x_4 of { happy_var_4 -> -	happyIn30-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_77 = happyReduce 5# 24# happyReduction_77-happyReduction_77 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut30 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn30-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_78 = happySpecReduce_3  24# happyReduction_78-happyReduction_78 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_79 = happySpecReduce_3  24# happyReduction_79-happyReduction_79 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_80 = happySpecReduce_1  24# happyReduction_80-happyReduction_80 happy_x_1-	 =  happyIn30-		 (RPlaceholder-	)--happyReduce_81 = happySpecReduce_3  24# happyReduction_81-happyReduction_81 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_82 = happySpecReduce_3  24# happyReduction_82-happyReduction_82 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn30-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_83 = happySpecReduce_1  25# happyReduction_83-happyReduction_83 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn31-		 (happy_var_1-	)}--happyReduce_84 = happySpecReduce_3  25# happyReduction_84-happyReduction_84 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn31-		 (happy_var_2-	)}--happyReduce_85 = happyReduce 4# 25# happyReduction_85-happyReduction_85 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	case happyOut51 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_86 = happyReduce 5# 25# happyReduction_86-happyReduction_86 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn31-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_87 = happyReduce 4# 25# happyReduction_87-happyReduction_87 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_88 = happyReduce 4# 25# happyReduction_88-happyReduction_88 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut32 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (doBind Lam happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_89 = happyReduce 4# 25# happyReduction_89-happyReduction_89 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut39 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn31-		 (doLetBind happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_90 = happySpecReduce_1  25# happyReduction_90-happyReduction_90 happy_x_1-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> -	happyIn31-		 (happy_var_1-	)}--happyReduce_91 = happyReduce 8# 25# happyReduction_91-happyReduction_91 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_6 of { happy_var_6 -> -	case happyOut74 happy_x_7 of { happy_var_7 -> -	case happyOut73 happy_x_8 of { happy_var_8 -> -	happyIn31-		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]-	) `HappyStk` happyRest}}}}}--happyReduce_92 = happySpecReduce_2  26# happyReduction_92-happyReduction_92 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	happyIn32-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_93 = happyReduce 4# 26# happyReduction_93-happyReduction_93 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut32 happy_x_4 of { happy_var_4 -> -	happyIn32-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_94 = happySpecReduce_3  27# happyReduction_94-happyReduction_94 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn33-		 (happy_var_1 ++ happy_var_3-	)}}--happyReduce_95 = happySpecReduce_1  27# happyReduction_95-happyReduction_95 happy_x_1-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_96 = happySpecReduce_3  28# happyReduction_96-happyReduction_96 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	happyIn34-		 (map ( \x -> (x,happy_var_3)) [happy_var_1]-	)}}--happyReduce_97 = happySpecReduce_1  29# happyReduction_97-happyReduction_97 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn35-		 ([happy_var_1]-	)}--happyReduce_98 = happySpecReduce_3  29# happyReduction_98-happyReduction_98 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn35-		 (happy_var_1:happy_var_3-	)}}--happyReduce_99 = happySpecReduce_2  30# happyReduction_99-happyReduction_99 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	happyIn36-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_100 = happySpecReduce_1  30# happyReduction_100-happyReduction_100 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn36-		 ([(happy_var_1, 0)]-	)}--happyReduce_101 = happySpecReduce_3  30# happyReduction_101-happyReduction_101 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut36 happy_x_3 of { happy_var_3 -> -	happyIn36-		 ((happy_var_1,0):happy_var_3-	)}}--happyReduce_102 = happyReduce 4# 30# happyReduction_102-happyReduction_102 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut36 happy_x_4 of { happy_var_4 -> -	happyIn36-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_103 = happySpecReduce_1  31# happyReduction_103-happyReduction_103 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	happyIn37-		 ([happy_var_1]-	)}--happyReduce_104 = happySpecReduce_3  31# happyReduction_104-happyReduction_104 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn37-		 (happy_var_1:happy_var_3-	)}}--happyReduce_105 = happySpecReduce_1  32# happyReduction_105-happyReduction_105 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn38-		 ([happy_var_1]-	)}--happyReduce_106 = happySpecReduce_2  32# happyReduction_106-happyReduction_106 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut38 happy_x_2 of { happy_var_2 -> -	happyIn38-		 (happy_var_1:happy_var_2-	)}}--happyReduce_107 = happyReduce 4# 33# happyReduction_107-happyReduction_107 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn39-		 ([(happy_var_1,happy_var_2,happy_var_4)]-	) `HappyStk` happyRest}}}--happyReduce_108 = happyReduce 6# 33# happyReduction_108-happyReduction_108 (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 happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut39 happy_x_6 of { happy_var_6 -> -	happyIn39-		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_109 = happySpecReduce_3  34# happyReduction_109-happyReduction_109 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn40-		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)-	)}}}--happyReduce_110 = happySpecReduce_3  34# happyReduction_110-happyReduction_110 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn40-		 ((happy_var_1, happy_var_3)-	)}}--happyReduce_111 = happyReduce 4# 35# happyReduction_111-happyReduction_111 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn41-		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_112 = happyReduce 5# 35# happyReduction_112-happyReduction_112 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_113 = happyReduce 5# 35# happyReduction_113-happyReduction_113 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]-	) `HappyStk` happyRest}}}}--happyReduce_114 = happyReduce 5# 35# happyReduction_114-happyReduction_114 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_115 = happyReduce 5# 35# happyReduction_115-happyReduction_115 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_116 = happyReduce 5# 35# happyReduction_116-happyReduction_116 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn41-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	) `HappyStk` happyRest}}--happyReduce_117 = happySpecReduce_1  35# happyReduction_117-happyReduction_117 happy_x_1-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> -	happyIn41-		 (happy_var_1-	)}--happyReduce_118 = happyReduce 5# 35# happyReduction_118-happyReduction_118 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut51 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_119 = happyReduce 5# 36# happyReduction_119-happyReduction_119 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn42-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_120 = happyReduce 6# 37# happyReduction_120-happyReduction_120 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_121 = happyReduce 6# 37# happyReduction_121-happyReduction_121 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_122 = happyReduce 6# 37# happyReduction_122-happyReduction_122 (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 happyOut44 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_123 = happyReduce 6# 37# happyReduction_123-happyReduction_123 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut44 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_124 = happyReduce 6# 37# happyReduction_124-happyReduction_124 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_125 = happyReduce 6# 37# happyReduction_125-happyReduction_125 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_126 = happyReduce 6# 37# happyReduction_126-happyReduction_126 (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 happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)-	) `HappyStk` happyRest}}}--happyReduce_127 = happyReduce 5# 37# happyReduction_127-happyReduction_127 (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 happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (RBind (MN "X" 1) (Lam RPlaceholder)-                    (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))-                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))-	) `HappyStk` happyRest}}--happyReduce_128 = happyReduce 5# 37# happyReduction_128-happyReduction_128 (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 happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                   (RBind (MN "X" 1) (Lam RPlaceholder)-                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))-                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),-                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))-	) `HappyStk` happyRest}}--happyReduce_129 = happyReduce 6# 37# happyReduction_129-happyReduction_129 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [happy_var_2,-                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])-	) `HappyStk` happyRest}}}--happyReduce_130 = happyReduce 6# 37# happyReduction_130-happyReduction_130 (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 happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])-	) `HappyStk` happyRest}}}--happyReduce_131 = happySpecReduce_1  38# happyReduction_131-happyReduction_131 happy_x_1-	 =  happyIn44-		 ("<"-	)--happyReduce_132 = happySpecReduce_1  38# happyReduction_132-happyReduction_132 happy_x_1-	 =  happyIn44-		 (">"-	)--happyReduce_133 = happySpecReduce_0  39# happyReduction_133-happyReduction_133  =  happyIn45-		 (RPlaceholder-	)--happyReduce_134 = happySpecReduce_2  39# happyReduction_134-happyReduction_134 happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn45-		 (happy_var_2-	)}--happyReduce_135 = happySpecReduce_0  40# happyReduction_135-happyReduction_135  =  happyIn46-		 (RPlaceholder-	)--happyReduce_136 = happySpecReduce_2  40# happyReduction_136-happyReduction_136 happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn46-		 (happy_var_2-	)}--happyReduce_137 = happyReduce 5# 41# happyReduction_137-happyReduction_137 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut37 happy_x_1 of { happy_var_1 -> -	case happyOut46 happy_x_2 of { happy_var_2 -> -	case happyOut47 happy_x_5 of { happy_var_5 -> -	happyIn47-		 (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_138 = happySpecReduce_1  41# happyReduction_138-happyReduction_138 happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	happyIn47-		 (happy_var_1-	)}--happyReduce_139 = happySpecReduce_3  42# happyReduction_139-happyReduction_139 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn48-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	)}}--happyReduce_140 = happyReduce 5# 42# happyReduction_140-happyReduction_140 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut48 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (doBind (Pi Ex Eager) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_141 = happyReduce 5# 42# happyReduction_141-happyReduction_141 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut48 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (doBind (Pi Ex Lazy) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_142 = happySpecReduce_3  42# happyReduction_142-happyReduction_142 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> -	happyIn48-		 (bracket happy_var_2-	)}--happyReduce_143 = happyReduce 7# 42# happyReduction_143-happyReduction_143 (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 happyOut48 happy_x_2 of { happy_var_2 -> -	case happyOut48 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn48-		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_144 = happySpecReduce_1  42# happyReduction_144-happyReduction_144 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (happy_var_1-	)}--happyReduce_145 = happySpecReduce_3  42# happyReduction_145-happyReduction_145 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn48-		 (happy_var_2-	)}--happyReduce_146 = happyReduce 5# 42# happyReduction_146-happyReduction_146 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_147 = happyReduce 5# 42# happyReduction_147-happyReduction_147 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut50 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn48-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_148 = happySpecReduce_1  42# happyReduction_148-happyReduction_148 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (happy_var_1-	)}--happyReduce_149 = happyReduce 8# 43# happyReduction_149-happyReduction_149 (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 happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut48 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_7 of { happy_var_7 -> -	case happyOut73 happy_x_8 of { happy_var_8 -> -	happyIn49-		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_150 = happySpecReduce_3  44# happyReduction_150-happyReduction_150 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn50-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_151 = happySpecReduce_3  44# happyReduction_151-happyReduction_151 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	happyIn50-		 (happy_var_1:happy_var_3-	)}}--happyReduce_152 = happySpecReduce_3  45# happyReduction_152-happyReduction_152 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_153 = happySpecReduce_3  45# happyReduction_153-happyReduction_153 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RReturn happy_var_2 happy_var_3-	)}}--happyReduce_154 = happySpecReduce_3  45# happyReduction_154-happyReduction_154 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (bracket happy_var_2-	)}--happyReduce_155 = happySpecReduce_2  45# happyReduction_155-happyReduction_155 happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (RPure happy_var_2-	)}--happyReduce_156 = happySpecReduce_1  45# happyReduction_156-happyReduction_156 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> -	happyIn51-		 (RMetavar happy_var_1-	)}--happyReduce_157 = happyReduce 4# 45# happyReduction_157-happyReduction_157 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn51-		 (RExpVar happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_158 = happySpecReduce_3  45# happyReduction_158-happyReduction_158 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_159 = happySpecReduce_1  45# happyReduction_159-happyReduction_159 happy_x_1-	 =  happyIn51-		 (RRefl-	)--happyReduce_160 = happySpecReduce_3  45# happyReduction_160-happyReduction_160 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_161 = happySpecReduce_3  45# happyReduction_161-happyReduction_161 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn51-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_162 = happySpecReduce_1  45# happyReduction_162-happyReduction_162 happy_x_1-	 =  happyIn51-		 (RPlaceholder-	)--happyReduce_163 = happySpecReduce_1  45# happyReduction_163-happyReduction_163 happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (RDo happy_var_1-	)}--happyReduce_164 = happySpecReduce_3  45# happyReduction_164-happyReduction_164 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (RIdiom happy_var_2-	)}--happyReduce_165 = happyReduce 5# 45# happyReduction_165-happyReduction_165 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut53 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn51-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_166 = happySpecReduce_1  45# happyReduction_166-happyReduction_166 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_167 = happySpecReduce_1  45# happyReduction_167-happyReduction_167 happy_x_1-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_168 = happySpecReduce_1  45# happyReduction_168-happyReduction_168 happy_x_1-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_169 = happyReduce 7# 46# happyReduction_169-happyReduction_169 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_6 of { happy_var_6 -> -	case happyOut73 happy_x_7 of { happy_var_7 -> -	happyIn52-		 (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_170 = happyReduce 5# 46# happyReduction_170-happyReduction_170 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut74 happy_x_4 of { happy_var_4 -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	happyIn52-		 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_171 = happySpecReduce_3  47# happyReduction_171-happyReduction_171 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_172 = happySpecReduce_3  47# happyReduction_172-happyReduction_172 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut53 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (happy_var_1:happy_var_3-	)}}--happyReduce_173 = happyReduce 4# 48# happyReduction_173-happyReduction_173 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut55 happy_x_3 of { happy_var_3 -> -	happyIn54-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_174 = happyReduce 10# 48# happyReduction_174-happyReduction_174 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_6 of { happy_var_6 -> -	case happyOut73 happy_x_7 of { happy_var_7 -> -	case happyOut55 happy_x_9 of { happy_var_9 -> -	happyIn54-		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9-	) `HappyStk` happyRest}}}}}}--happyReduce_175 = happySpecReduce_2  49# happyReduction_175-happyReduction_175 happy_x_2-	happy_x_1-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> -	case happyOut55 happy_x_2 of { happy_var_2 -> -	happyIn55-		 (happy_var_1:happy_var_2-	)}}--happyReduce_176 = happySpecReduce_1  49# happyReduction_176-happyReduction_176 happy_x_1-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> -	happyIn55-		 ([happy_var_1]-	)}--happyReduce_177 = happyReduce 7# 50# happyReduction_177-happyReduction_177 (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 happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut74 happy_x_5 of { happy_var_5 -> -	case happyOut73 happy_x_6 of { happy_var_6 -> -	happyIn56-		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_178 = happyReduce 8# 50# happyReduction_178-happyReduction_178 (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 happyOut29 happy_x_2 of { happy_var_2 -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	case happyOut74 happy_x_6 of { happy_var_6 -> -	case happyOut73 happy_x_7 of { happy_var_7 -> -	happyIn56-		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_179 = happyReduce 4# 50# happyReduction_179-happyReduction_179 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn56-		 (DoExp happy_var_2 happy_var_3 happy_var_1-	) `HappyStk` happyRest}}}--happyReduce_180 = happySpecReduce_1  51# happyReduction_180-happyReduction_180 happy_x_1-	 =  happyIn57-		 (TYPE-	)--happyReduce_181 = happySpecReduce_1  51# happyReduction_181-happyReduction_181 happy_x_1-	 =  happyIn57-		 (StringType-	)--happyReduce_182 = happySpecReduce_1  51# happyReduction_182-happyReduction_182 happy_x_1-	 =  happyIn57-		 (IntType-	)--happyReduce_183 = happySpecReduce_1  51# happyReduction_183-happyReduction_183 happy_x_1-	 =  happyIn57-		 (CharType-	)--happyReduce_184 = happySpecReduce_1  51# happyReduction_184-happyReduction_184 happy_x_1-	 =  happyIn57-		 (FloatType-	)--happyReduce_185 = happySpecReduce_1  51# happyReduction_185-happyReduction_185 happy_x_1-	 =  happyIn57-		 (PtrType-	)--happyReduce_186 = happySpecReduce_1  51# happyReduction_186-happyReduction_186 happy_x_1-	 =  happyIn57-		 (Builtin "Handle"-	)--happyReduce_187 = happySpecReduce_1  51# happyReduction_187-happyReduction_187 happy_x_1-	 =  happyIn57-		 (Builtin "Lock"-	)--happyReduce_188 = happySpecReduce_1  51# happyReduction_188-happyReduction_188 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> -	happyIn57-		 (Num happy_var_1-	)}--happyReduce_189 = happySpecReduce_1  51# happyReduction_189-happyReduction_189 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> -	happyIn57-		 (Ch happy_var_1-	)}--happyReduce_190 = happySpecReduce_1  51# happyReduction_190-happyReduction_190 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> -	happyIn57-		 (Str happy_var_1-	)}--happyReduce_191 = happySpecReduce_1  51# happyReduction_191-happyReduction_191 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> -	happyIn57-		 (Bo happy_var_1-	)}--happyReduce_192 = happySpecReduce_1  51# happyReduction_192-happyReduction_192 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> -	happyIn57-		 (Fl happy_var_1-	)}--happyReduce_193 = happySpecReduce_0  52# happyReduction_193-happyReduction_193  =  happyIn58-		 ([]-	)--happyReduce_194 = happySpecReduce_2  52# happyReduction_194-happyReduction_194 happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut58 happy_x_2 of { happy_var_2 -> -	happyIn58-		 (happy_var_1:happy_var_2-	)}}--happyReduce_195 = happyReduce 4# 53# happyReduction_195-happyReduction_195 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut60 happy_x_3 of { happy_var_3 -> -	happyIn59-		 ((happy_var_2, happy_var_3)-	) `HappyStk` happyRest}}--happyReduce_196 = happySpecReduce_3  53# happyReduction_196-happyReduction_196 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_2 of { happy_var_2 -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn59-		 ((RConst happy_var_2 happy_var_3 TYPE, [])-	)}}--happyReduce_197 = happyReduce 4# 53# happyReduction_197-happyReduction_197 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut65 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	case happyOut73 happy_x_4 of { happy_var_4 -> -	happyIn59-		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])-	) `HappyStk` happyRest}}}--happyReduce_198 = happySpecReduce_0  54# happyReduction_198-happyReduction_198  =  happyIn60-		 ([]-	)--happyReduce_199 = happyReduce 4# 54# happyReduction_199-happyReduction_199 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut64 happy_x_3 of { happy_var_3 -> -	happyIn60-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_200 = happyReduce 7# 55# happyReduction_200-happyReduction_200 (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 happyOut29 happy_x_4 of { happy_var_4 -> -	case happyOut29 happy_x_6 of { happy_var_6 -> -	happyIn61-		 ((happy_var_4,happy_var_6)-	) `HappyStk` happyRest}}--happyReduce_201 = happyReduce 6# 56# happyReduction_201-happyReduction_201 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_3 of { happy_var_3 -> -	case happyOut29 happy_x_5 of { happy_var_5 -> -	happyIn62-		 ((happy_var_3,happy_var_5)-	) `HappyStk` happyRest}}--happyReduce_202 = happyReduce 4# 57# happyReduction_202-happyReduction_202 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut64 happy_x_3 of { happy_var_3 -> -	happyIn63-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_203 = happySpecReduce_3  58# happyReduction_203-happyReduction_203 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	happyIn64-		 ([(happy_var_1, happy_var_3)]-	)}}--happyReduce_204 = happyReduce 5# 58# happyReduction_204-happyReduction_204 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut64 happy_x_5 of { happy_var_5 -> -	happyIn64-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_205 = happySpecReduce_1  59# happyReduction_205-happyReduction_205 happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	happyIn65-		 ([happy_var_1]-	)}--happyReduce_206 = happySpecReduce_2  59# happyReduction_206-happyReduction_206 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut65 happy_x_2 of { happy_var_2 -> -	happyIn65-		 (happy_var_1:happy_var_2-	)}}--happyReduce_207 = happySpecReduce_1  60# happyReduction_207-happyReduction_207 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn66-		 (happy_var_1-	)}--happyReduce_208 = happySpecReduce_1  60# happyReduction_208-happyReduction_208 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn66-		 (happy_var_1-	)}--happyReduce_209 = happySpecReduce_0  61# happyReduction_209-happyReduction_209  =  happyIn67-		 ([]-	)--happyReduce_210 = happySpecReduce_1  61# happyReduction_210-happyReduction_210 happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	happyIn67-		 ([happy_var_1]-	)}--happyReduce_211 = happySpecReduce_3  61# happyReduction_211-happyReduction_211 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	case happyOut67 happy_x_3 of { happy_var_3 -> -	happyIn67-		 (happy_var_1:happy_var_3-	)}}--happyReduce_212 = happySpecReduce_2  62# happyReduction_212-happyReduction_212 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut69 happy_x_2 of { happy_var_2 -> -	happyIn68-		 (Full happy_var_1 happy_var_2-	)}}--happyReduce_213 = happySpecReduce_2  62# happyReduction_213-happyReduction_213 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> -	case happyOut58 happy_x_2 of { happy_var_2 -> -	happyIn68-		 (Simple happy_var_1 happy_var_2-	)}}--happyReduce_214 = happySpecReduce_2  63# happyReduction_214-happyReduction_214 happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn69-		 (happy_var_2-	)}--happyReduce_215 = happySpecReduce_2  64# happyReduction_215-happyReduction_215 happy_x_2-	happy_x_1-	 =  case happyOut35 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Intro happy_var_2-	)}--happyReduce_216 = happySpecReduce_1  64# happyReduction_216-happyReduction_216 happy_x_1-	 =  happyIn70-		 (Intro []-	)--happyReduce_217 = happySpecReduce_2  64# happyReduction_217-happyReduction_217 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Refine happy_var_2-	)}--happyReduce_218 = happySpecReduce_2  64# happyReduction_218-happyReduction_218 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Generalise happy_var_2-	)}--happyReduce_219 = happySpecReduce_1  64# happyReduction_219-happyReduction_219 happy_x_1-	 =  happyIn70-		 (ReflP-	)--happyReduce_220 = happySpecReduce_2  64# happyReduction_220-happyReduction_220 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Rewrite False False happy_var_2-	)}--happyReduce_221 = happySpecReduce_3  64# happyReduction_221-happyReduction_221 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (Rewrite False True happy_var_3-	)}--happyReduce_222 = happySpecReduce_2  64# happyReduction_222-happyReduction_222 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Rewrite True False happy_var_2-	)}--happyReduce_223 = happySpecReduce_3  64# happyReduction_223-happyReduction_223 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (Rewrite True True happy_var_3-	)}--happyReduce_224 = happySpecReduce_1  64# happyReduction_224-happyReduction_224 happy_x_1-	 =  happyIn70-		 (Compute-	)--happyReduce_225 = happySpecReduce_2  64# happyReduction_225-happyReduction_225 happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Unfold happy_var_2-	)}--happyReduce_226 = happySpecReduce_1  64# happyReduction_226-happyReduction_226 happy_x_1-	 =  happyIn70-		 (Undo-	)--happyReduce_227 = happySpecReduce_2  64# happyReduction_227-happyReduction_227 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Induction happy_var_2-	)}--happyReduce_228 = happySpecReduce_2  64# happyReduction_228-happyReduction_228 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Fill happy_var_2-	)}--happyReduce_229 = happySpecReduce_1  64# happyReduction_229-happyReduction_229 happy_x_1-	 =  happyIn70-		 (Trivial-	)--happyReduce_230 = happySpecReduce_2  64# happyReduction_230-happyReduction_230 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (RunTactic happy_var_2-	)}--happyReduce_231 = happySpecReduce_2  64# happyReduction_231-happyReduction_231 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Believe happy_var_2-	)}--happyReduce_232 = happySpecReduce_2  64# happyReduction_232-happyReduction_232 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Use happy_var_2-	)}--happyReduce_233 = happySpecReduce_2  64# happyReduction_233-happyReduction_233 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn70-		 (Decide happy_var_2-	)}--happyReduce_234 = happySpecReduce_1  64# happyReduction_234-happyReduction_234 happy_x_1-	 =  happyIn70-		 (Abandon-	)--happyReduce_235 = happySpecReduce_1  64# happyReduction_235-happyReduction_235 happy_x_1-	 =  happyIn70-		 (Qed-	)--happyReduce_236 = happyReduce 4# 65# happyReduction_236-happyReduction_236 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut72 happy_x_3 of { happy_var_3 -> -	happyIn71-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_237 = happySpecReduce_2  66# happyReduction_237-happyReduction_237 happy_x_2-	happy_x_1-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> -	happyIn72-		 ([happy_var_1]-	)}--happyReduce_238 = happySpecReduce_3  66# happyReduction_238-happyReduction_238 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> -	case happyOut72 happy_x_3 of { happy_var_3 -> -	happyIn72-		 (happy_var_1:happy_var_3-	)}}--happyReduce_239 = happyMonadReduce 0# 67# happyReduction_239-happyReduction_239 (happyRest) tk-	 = happyThen (( getLineNo)-	) (\r -> happyReturn (happyIn73 r))--happyReduce_240 = happyMonadReduce 0# 68# happyReduction_240-happyReduction_240 (happyRest) tk-	 = happyThen (( getFileName)-	) (\r -> happyReturn (happyIn74 r))--happyReduce_241 = happyMonadReduce 0# 69# happyReduction_241-happyReduction_241 (happyRest) tk-	 = happyThen (( getOps)-	) (\r -> happyReturn (happyIn75 r))--happyNewToken action sts stk-	= lexer(\tk -> -	let cont i = happyDoAction i tk action sts stk in-	case tk of {-	TokenEOF -> happyDoAction 114# tk action sts stk;-	TokenName happy_dollar_dollar -> cont 1#;-	TokenInfixName happy_dollar_dollar -> cont 2#;-	TokenBrackName happy_dollar_dollar -> cont 3#;-	TokenString happy_dollar_dollar -> cont 4#;-	TokenInt happy_dollar_dollar -> cont 5#;-	TokenFloat happy_dollar_dollar -> cont 6#;-	TokenChar happy_dollar_dollar -> cont 7#;-	TokenBool happy_dollar_dollar -> cont 8#;-	TokenMetavar happy_dollar_dollar -> cont 9#;-	TokenColon -> cont 10#;-	TokenSemi -> cont 11#;-	TokenBar -> cont 12#;-	TokenStars -> cont 13#;-	TokenLambda -> cont 14#;-	TokenHashOB -> cont 15#;-	TokenOB -> cont 16#;-	TokenCB -> cont 17#;-	TokenOCB -> cont 18#;-	TokenCCB -> cont 19#;-	TokenOSB -> cont 20#;-	TokenCSB -> cont 21#;-	TokenOId -> cont 22#;-	TokenCId -> cont 23#;-	TokenLPair -> cont 24#;-	TokenRPair -> cont 25#;-	TokenExists -> cont 26#;-	TokenTilde -> cont 27#;-	TokenPlus -> cont 28#;-	TokenMinus -> cont 29#;-	TokenTimes -> cont 30#;-	TokenDivide -> cont 31#;-	TokenEquals -> cont 32#;-	TokenMightEqual -> cont 33#;-	TokenLT -> cont 34#;-	TokenGT -> cont 35#;-	TokenEllipsis -> cont 36#;-	TokenUnderscore -> cont 37#;-	TokenComma -> cont 38#;-	TokenTuple -> cont 39#;-	TokenBang -> cont 40#;-	TokenConcat -> cont 41#;-	TokenGE -> cont 42#;-	TokenLE -> cont 43#;-	TokenOr -> cont 44#;-	TokenAnd -> cont 45#;-	TokenArrow -> cont 46#;-	TokenFatArrow -> cont 47#;-	TokenTransArrow -> cont 48#;-	TokenLeftArrow -> cont 49#;-	TokenIntType -> cont 50#;-	TokenCharType -> cont 51#;-	TokenFloatType -> cont 52#;-	TokenStringType -> cont 53#;-	TokenHandleType -> cont 54#;-	TokenPtrType -> cont 55#;-	TokenLockType -> cont 56#;-	TokenType -> cont 57#;-	TokenLazyBracket -> cont 58#;-	TokenDataType -> cont 59#;-	TokenInfix -> cont 60#;-	TokenInfixL -> cont 61#;-	TokenInfixR -> cont 62#;-	TokenUsing -> cont 63#;-	TokenIdiom -> cont 64#;-	TokenParams -> cont 65#;-	TokenNoElim -> cont 66#;-	TokenCollapsible -> cont 67#;-	TokenWhere -> cont 68#;-	TokenWith -> cont 69#;-	TokenPartial -> cont 70#;-	TokenSyntax -> cont 71#;-	TokenLazy -> cont 72#;-	TokenRefl -> cont 73#;-	TokenEmptyType -> cont 74#;-	TokenUnitType -> cont 75#;-	TokenInclude -> cont 76#;-	TokenExport -> cont 77#;-	TokenInline -> cont 78#;-	TokenDo -> cont 79#;-	TokenReturn -> cont 80#;-	TokenIf -> cont 81#;-	TokenThen -> cont 82#;-	TokenElse -> cont 83#;-	TokenLet -> cont 84#;-	TokenIn -> cont 85#;-	TokenProof -> cont 86#;-	TokenIntro -> cont 87#;-	TokenRefine -> cont 88#;-	TokenGeneralise -> cont 89#;-	TokenReflP -> cont 90#;-	TokenRewrite -> cont 91#;-	TokenRewriteAll -> cont 92#;-	TokenCompute -> cont 93#;-	TokenUnfold -> cont 94#;-	TokenUndo -> cont 95#;-	TokenInduction -> cont 96#;-	TokenFill -> cont 97#;-	TokenTrivial -> cont 98#;-	TokenMkTac -> cont 99#;-	TokenBelieve -> cont 100#;-	TokenUse -> cont 101#;-	TokenDecide -> cont 102#;-	TokenAbandon -> cont 103#;-	TokenQED -> cont 104#;-	TokenLaTeX -> cont 105#;-	TokenNoCG -> cont 106#;-	TokenEval -> cont 107#;-	TokenSpec -> cont 108#;-	TokenFreeze -> cont 109#;-	TokenThaw -> cont 110#;-	TokenTransform -> cont 111#;-	TokenCInclude -> cont 112#;-	TokenCLib -> cont 113#;-	_ -> happyError' tk-	})--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--mkparse = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--mkparseTerm = happySomeParser where-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut31 x))--mkparseTactic = happySomeParser where-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut70 x))--happySeq = happyDontSeq---data ConParse = Full Id RawTerm-              | Simple Id [RawTerm]--parse :: String -> FilePath -> Result [Decl]-parse s fn = do ds <- mkparse s fn 1 []-                collectDecls ds--processImports :: [Opt] -> [FilePath] -> Result [Decl] -> -                  IO ([Decl], [FilePath])-processImports opts imped (Success ds) = pi imped [] ds-  where pi imps decls ((PInclude fp):xs)-           | fp `elem` imps = pi imps decls xs-           | otherwise = do-                 f <- readLibFile defaultLibPath fp-                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)-                 case parse f fp of-                   Success t -> pi (fp:imps) decls (t++xs)-                   Failure e f l ->-                     fail $ f ++ ":" ++ show l ++ ":" ++ e-        pi imps decls ((Using t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Using t ds']) xs-        pi imps decls ((Params t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Params t ds']) xs-        pi imps decls ((DoUsing b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[DoUsing b r ds']) xs-        pi imps decls ((Idiom b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Idiom b r ds']) xs-        pi imps decls (x:xs) = pi imps (decls++[x]) xs-        pi imps decls [] = return (decls, imps)--processImports _ imped (Failure e f l) -    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e---parseTerm :: String -> Result RawTerm-parseTerm s = mkparseTerm s "(input)" 0 []--parseTactic :: String -> Result ITactic-parseTactic s = mkparseTactic s "(tactic)" 0 []--mkCon :: RawTerm -> ConParse -> (Id,RawTerm)-mkCon _ (Full n t) = (n,t)-mkCon ty (Simple n args) = (n, mkConTy args ty)-   where mkConTy [] ty = ty-         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)--mkDef file line (n, tms) = mkImpApp (RVar file line n) tms-   where mkImpApp f [] = f-         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts-         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts--doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm-doBind b [] t = t-doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)--doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm-doLetBind [] t = t-doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)--mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm-mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)-   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)-         getTyArgs x = []--mkTyParams :: String -> Int -> [Id] -> RawTerm-mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)--mkDatatype :: String -> Int ->-              Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> -                    [TyOpt] -> Datatype-mkDatatype file line n (Right ((t, using), cons)) opts-    = Datatype n t (map (mkCon (mkTyApp file line n t)) cons) using opts file line -mkDatatype file line n (Left t) opts-    = Latatype n t file line--bracket (RUserInfix f l _ op x y) = RUserInfix f l True op x y-bracket x = x--pairDesugar :: String -> Int -> RawTerm -> [RawTerm] -> RawTerm-pairDesugar file line pair [x,y] = mkApp file line pair [x,y]-pairDesugar file line pair (x:y:xs) -    = pairDesugar file line pair ((mkApp file line pair [x,y]):xs)--sigDesugar :: String -> Int -> (Id, RawTerm) -> RawTerm -> RawTerm-sigDesugar file line (n, tm) sc-    = mkApp file line (RVar file line (UN "Sigma")) [tm, lam]-   where lam = RBind n (Lam tm) sc-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 28 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "templates/GenericTemplate.hs" #-}--{-# LINE 59 "templates/GenericTemplate.hs" #-}--{-# LINE 68 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser).  We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =-	happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = -	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st-	= {- nothing -}---	  case action of-		0#		  -> {- nothing -}-				     happyFail i tk st-		-1# 	  -> {- nothing -}-				     happyAccept i tk st-		n | (n <# (0# :: Int#)) -> {- nothing -}--				     (happyReduceArr ! rule) i tk st-				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))-		n		  -> {- nothing -}---				     happyShift new_state i tk st-				     where new_state = (n -# (1# :: Int#))-   where off    = indexShortOffAddr happyActOffsets st-	 off_i  = (off +# i)-	 check  = if (off_i >=# (0# :: Int#))-			then (indexShortOffAddr happyCheck off_i ==#  i)-			else False- 	 action | check     = indexShortOffAddr happyTable off_i-		| otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "templates/GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =-#if __GLASGOW_HASKELL__ > 500-	narrow16Int# i-#elif __GLASGOW_HASKELL__ == 500-	intToInt16# i-#else-	(i `iShiftL#` 16#) `iShiftRA#` 16#-#endif-  where-#if __GLASGOW_HASKELL__ >= 503-	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-#else-	i = word2Int# ((high `shiftL#` 8#) `or#` low)-#endif-	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-	low  = int2Word# (ord# (indexCharOffAddr# arr off'))-	off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =-     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in---     trace "shifting the error token" $-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')-     = let r = fn v1 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')-     = let r = fn v1 v2 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')-     = let r = fn v1 v2 v3 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-     = case happyDrop (k -# (1# :: Int#)) sts of-	 sts1@((HappyCons (st1@(action)) (_))) ->-        	let r = fn stk in  -- it doesn't hurt to always seq here...-       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--             off    = indexShortOffAddr happyGotoOffsets st1-             off_i  = (off +# nt)-             new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = -   {- nothing -}-   happyDoAction j tk new_state-   where off    = indexShortOffAddr happyGotoOffsets st-	 off_i  = (off +# nt)- 	 new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail  0# tk old_st _ stk =---	trace "failing" $ -    	happyError_ tk--{-  We don't need state discarding for our restricted implementation of-    "error".  In fact, it can cause some bogus parses, so I've disabled it-    for now --SDM---- discard a state-happyFail  0# tk old_st (HappyCons ((action)) (sts)) -						(saved_tok `HappyStk` _ `HappyStk` stk) =---	trace ("discarding state, depth " ++ show (length stk))  $-	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,---                       save the old token and carry on.-happyFail  i tk (action) sts stk =---      trace "entering error recovery" $-	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a+{-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}+{-# OPTIONS -fglasgow-exts -cpp #-}+-- -*-Haskell-*-+{-# OPTIONS_GHC -fglasgow-exts #-}++module Idris.Parser where++import Data.Char+import Ivor.TT+import System.IO.Unsafe+import List+import Control.Monad++import Idris.AbsSyntax+import Idris.Lexer+import Idris.Lib++import Debug.Trace+#if __GLASGOW_HASKELL__ >= 503+import qualified Data.Array as Happy_Data_Array+#else+import qualified Array as Happy_Data_Array+#endif+#if __GLASGOW_HASKELL__ >= 503+import qualified GHC.Exts as Happy_GHC_Exts+#else+import qualified GlaExts as Happy_GHC_Exts+#endif++-- parser produced by Happy Version 1.18.4++newtype HappyAbsSyn t69 = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t69)+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn t69) -> ([ParseDecl])+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (ParseDecl) -> (HappyAbsSyn t69)+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn t69) -> (ParseDecl)+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Decl) -> (HappyAbsSyn t69)+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn t69) -> (Decl)+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (ParseDecl) -> (HappyAbsSyn t69)+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn t69) -> (ParseDecl)+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (CGFlag) -> (HappyAbsSyn t69)+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn t69) -> (CGFlag)+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Bool) -> (HappyAbsSyn t69)+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn t69) -> (Bool)+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t69)+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn t69) -> ([ParseDecl])+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t69)+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn t69) -> ([CGFlag])+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t69)+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn t69) -> ([CGFlag])+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t69)+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn t69) -> ([CGFlag])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Decl]) -> (HappyAbsSyn t69)+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn t69) -> ([Decl])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: ([String]) -> (HappyAbsSyn t69)+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn t69) -> ([String])+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (String) -> (HappyAbsSyn t69)+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn t69) -> (String)+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Fixity) -> (HappyAbsSyn t69)+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn t69) -> (Fixity)+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Decl) -> (HappyAbsSyn t69)+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn t69) -> (Decl)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t69)+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn t69) -> ([(Id,String)])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t69)+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn t69) -> ((Id, [(RawTerm, Maybe Id)]))+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t69)+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn t69) -> ([(RawTerm,Maybe Id)])+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: (Datatype) -> (HappyAbsSyn t69)+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn t69) -> (Datatype)+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t69)+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn t69) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t69)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t69) -> ([TyOpt])+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t69)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t69) -> ([TyOpt])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (TyOpt) -> (HappyAbsSyn t69)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t69) -> (TyOpt)+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: (Id) -> (HappyAbsSyn t69)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t69) -> (Id)+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: ([Id]) -> (HappyAbsSyn t69)+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn t69) -> ([Id])+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t69)+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn t69) -> ([(Id, Int)])+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([Id]) -> (HappyAbsSyn t69)+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn t69) -> ([Id])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([Id]) -> (HappyAbsSyn t69)+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn t69) -> ([Id])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t69)+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn t69) -> ([(Id, RawTerm, RawTerm)])+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t69)+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn t69) -> ((Id, RawTerm))+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (String) -> (HappyAbsSyn t69)+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn t69) -> (String)+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: ([Do]) -> (HappyAbsSyn t69)+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn t69) -> ([Do])+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: ([Do]) -> (HappyAbsSyn t69)+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn t69) -> ([Do])+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: (Do) -> (HappyAbsSyn t69)+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn t69) -> (Do)+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: (Constant) -> (HappyAbsSyn t69)+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn t69) -> (Constant)+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: ([RawTerm]) -> (HappyAbsSyn t69)+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn t69) -> ([RawTerm])+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t69)+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn t69) -> ((RawTerm, [(Id, RawTerm)]))+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ((Id,Id)) -> (HappyAbsSyn t69)+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn t69) -> ((Id,Id))+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((Id,Id)) -> (HappyAbsSyn t69)+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn t69) -> ((Id,Id))+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: (Id) -> (HappyAbsSyn t69)+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn t69) -> (Id)+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: ([Id]) -> (HappyAbsSyn t69)+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn t69) -> ([Id])+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: t69 -> (HappyAbsSyn t69)+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn t69) -> t69+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([ConParse]) -> (HappyAbsSyn t69)+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn t69) -> ([ConParse])+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: (ConParse) -> (HappyAbsSyn t69)+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn t69) -> (ConParse)+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: (RawTerm) -> (HappyAbsSyn t69)+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn t69) -> (RawTerm)+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: (ITactic) -> (HappyAbsSyn t69)+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn t69) -> (ITactic)+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: ([ITactic]) -> (HappyAbsSyn t69)+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn t69) -> ([ITactic])+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: ([ITactic]) -> (HappyAbsSyn t69)+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn t69) -> ([ITactic])+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: (LineNumber) -> (HappyAbsSyn t69)+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn t69) -> (LineNumber)+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: (String) -> (HappyAbsSyn t69)+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn t69) -> (String)+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: (Fixities) -> (HappyAbsSyn t69)+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn t69) -> (Fixities)+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyInTok :: (Token) -> (HappyAbsSyn t69)+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn t69) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x1a\x00\x44\x05\x1e\x0e\x00\x00\xf2\x03\x13\x01\x13\x01\x44\x05\x00\x00\x46\x03\xf1\x02\x00\x00\x13\x01\x00\x00\x44\x05\x44\x05\x00\x00\x44\x05\x44\x05\x44\x05\x44\x05\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x23\x09\x47\x02\x44\x05\x44\x05\x17\x08\x44\x05\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x05\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x44\x05\x6a\x00\xeb\x03\x01\x00\x00\x00\x00\x00\x01\x00\x5a\x04\x00\x00\x36\x04\x00\x00\x0d\x02\x4a\x04\x40\x04\x3f\x04\x3d\x04\x35\x04\x5d\x09\xb9\x01\x27\x04\x00\x00\x00\x00\x00\x00\x31\x04\x30\x04\x2a\x04\x6a\x00\x6a\x00\x34\x04\xf6\x03\x1d\x04\x2b\x04\x44\x05\x18\x04\x17\x04\x00\x00\x00\x00\x8b\x03\x0f\x04\x6a\x00\x06\x04\x0e\x04\x6a\x00\x00\x00\x6a\x00\x6a\x00\x6a\x00\x6a\x00\x12\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x17\x00\x00\x00\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\x00\x00\xdd\x07\x08\x04\x0e\x01\xe9\x08\x00\x04\xe9\xff\x5d\x09\xb9\x01\x00\x00\x00\x00\x07\x04\xb7\x03\x8c\x02\x00\x00\x05\x04\xef\x04\x00\x00\x00\x00\x0b\x04\x00\x00\x0b\x04\x00\x00\x0c\x0a\xa8\x0a\xca\x01\xfc\x09\x9a\x04\xfb\x03\x9a\x04\x9a\x04\xf9\x03\xf8\x03\x9a\x04\x9a\x04\xb2\x01\x4e\x00\x00\x00\x9a\x04\xaf\x08\x6a\x00\xfd\x03\xce\x03\x00\x00\x17\x08\xe7\x03\x00\x00\x9a\x04\xdc\x03\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x00\x00\x8a\x01\x76\x01\x68\x01\x54\x01\x46\x01\x32\x01\x00\x00\x24\x01\x9a\x04\x10\x01\x9a\x04\xc4\x00\x00\x00\xd5\x03\x00\x00\x6a\x00\x5b\x00\x05\x00\x00\x00\xef\x03\xef\x03\xef\x03\xef\x03\xef\x03\x00\x00\x9a\x04\xef\x03\x17\x08\x00\x00\x00\x00\x00\x00\x9a\x04\xc7\x03\x23\x09\xe2\x03\xda\x03\xc0\x03\xb7\x01\xd4\x03\x86\x00\xcf\x03\x8f\x0a\x23\x09\x00\x00\x23\x09\xd0\x03\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x9a\x04\x00\x00\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\xcd\x03\x00\x00\x00\x00\x9a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x17\x09\xc4\x03\x45\x04\x6a\x00\x96\x03\x00\x00\xf0\x03\xf0\x03\xa6\x03\xba\x03\x9e\x03\xb3\x03\xf0\x03\xf0\x03\xf0\x03\x67\x03\x1e\x0e\xb4\x03\x97\x00\x03\x00\x97\x03\xdd\x07\xf0\x03\x00\x00\x00\x00\xa9\x03\xa8\x03\xa4\x03\xa2\x03\xa1\x03\x00\x00\x00\x00\xef\x09\x9f\x03\x00\x00\x00\x00\xf0\x03\xf0\x03\xf0\x03\x00\x00\x9a\x03\x86\x03\x00\x00\x00\x00\xe3\x00\x9d\x03\x94\x03\x80\x03\x87\x03\x6a\x00\x7d\x03\x01\x00\x6a\x00\x83\x03\x77\x03\x00\x00\xf0\x03\x82\x0a\x8d\x03\x00\x00\x69\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x6a\x00\x00\x00\xe9\x08\x00\x00\x6a\x00\x6a\x00\x70\x03\xe9\x08\x00\x00\x00\x00\x12\x02\x00\x00\x80\x0a\x6d\x0a\x5a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x0a\x00\x00\x6a\x00\x00\x00\x00\x00\xcd\x01\xcd\x01\x82\x03\x00\x00\x00\x00\x00\x00\x7c\x03\x78\x03\x23\x09\x7f\x03\x76\x03\x00\x00\x46\x0a\xac\x01\x32\x0a\x00\x00\xb9\x01\x00\x00\xf0\x03\xa7\x00\x45\x00\xf0\x03\x7b\x03\x00\x00\x00\x00\x00\x00\x57\x03\x76\x08\x00\x00\x51\x08\x29\x0a\x00\x00\x23\x09\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x00\x00\x6f\x03\x00\x00\x17\x08\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x23\x09\x54\x03\xe9\x08\x6a\x00\x53\x03\xe9\x08\x03\x00\x6a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x00\x00\x88\x00\x23\x09\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x07\x00\x00\x69\x07\x00\x00\x2f\x07\x00\x00\xf5\x06\x65\x03\x63\x03\x62\x03\x5b\x03\x59\x03\x1c\x00\x00\x00\x00\x00\xf0\x03\xbb\x06\x49\x03\x17\x09\xf0\x03\x0a\x02\x00\x00\x82\x01\x5d\x03\x4c\x03\x00\x00\x1e\x0e\x03\x00\x36\x03\x6a\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x06\x00\x00\x82\x01\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x47\x06\x52\x03\x4e\x03\x00\x00\x00\x00\x31\x03\x47\x03\x19\x0a\x6a\x00\x2b\x03\x00\x00\x6a\x00\x42\x03\x00\x00\x00\x00\x6a\x00\x00\x00\x6a\x00\x00\x00\x17\x08\x00\x00\x00\x00\xe9\x08\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x6a\x00\x82\x01\x3f\x03\x00\x00\x00\x00\x00\x00\x3d\x03\x00\x00\xfe\xff\x32\x03\xe9\x08\x00\x00\x6a\x00\x00\x00\x2f\x03\x6a\x00\x3e\x03\x00\x00\xf0\x03\x00\x00\x17\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0d\x03\x29\x03\x00\x00\x00\x00\x00\x00\x0a\x02\x0d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x00\x00\x00\x00\x12\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x76\x08\x9b\x03\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x99\x05\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x67\x09\x43\x0e\xef\x02\x00\x00\x00\x00\x91\x01\x16\x03\x32\x0e\x00\x00\x21\x0e\x10\x0e\x00\x00\x13\x03\x00\x00\xff\x0d\xee\x0d\x00\x00\xdd\x0d\xcc\x0d\xbb\x0d\xaa\x0d\x00\x00\x00\x00\xda\x02\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xaf\x06\xab\x0a\x99\x0d\x88\x0d\x58\x05\x77\x0d\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0d\x00\x00\xd6\x02\xd5\x02\x00\x00\xd1\x02\x55\x0d\x4d\x01\x00\x00\xf4\x08\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x11\x03\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x07\x03\xfe\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\xf9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x00\x00\x86\x01\x00\x00\x00\x00\x0f\x01\x00\x00\x60\x00\xf6\x02\x48\x00\xf4\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\xc4\x02\x40\x01\x00\x00\xc3\x02\xbe\x0a\x00\x00\xb7\x02\xb6\x02\x1d\x05\xc8\x04\x73\x04\x1e\x04\xc9\x03\x00\x00\x04\x04\x00\x00\x00\x00\xce\x07\x00\x00\xc1\x02\xff\xff\x0b\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x3d\x01\xad\x02\xd2\x02\xf1\x0a\xa8\x02\xa7\x02\x39\x01\xa5\x02\x36\x01\x00\x00\x17\x01\x17\x01\x27\x01\x8d\x00\x33\x0d\x00\x00\x22\x0d\x11\x0d\x00\x00\x00\x00\xbe\x09\xba\x09\x15\x01\x00\x00\x00\x00\x00\x0d\xc7\x05\x11\x02\xbb\x02\x00\x00\xa1\x02\x36\x05\x00\x00\xa0\x02\xef\x0c\x9e\x02\xde\x0c\xcd\x0c\xbc\x0c\xab\x0c\x9a\x0c\x9b\x02\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x14\x01\x89\x0c\x14\x01\x78\x0c\x14\x01\x00\x00\x00\x00\x00\x00\x87\x01\x14\x01\x14\x01\x00\x00\x0c\x01\x07\x01\x06\x01\x05\x01\xf8\x00\x9a\x02\x67\x0c\xe5\x00\x03\x05\x98\x02\x96\x02\x00\x00\x56\x0c\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xde\x00\x3b\x06\x00\x00\x39\x06\x00\x00\x95\x02\xd7\x00\x92\x02\xd2\x00\x91\x02\xd1\x00\x82\x02\xc1\x00\x81\x02\x9f\x09\x00\x00\x9b\x09\x45\x0c\x34\x0c\x40\x03\x80\x09\x00\x00\x00\x00\x80\x02\x23\x0c\x7f\x02\x7d\x02\x7c\x02\x00\x00\x00\x00\xe2\xff\xba\x00\x00\x00\xe0\x0a\x3f\x01\x00\x00\x00\x00\x12\x0c\x01\x0c\x00\x00\x00\x00\x00\x00\xba\x02\xf0\x0b\xdf\x0b\xce\x0b\x00\x00\xa6\x01\xbc\x01\x48\x02\x00\x00\x00\x00\xaf\x03\xbd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x76\x02\xb8\x00\x00\x00\x75\x02\x6f\x02\xac\x0b\x9b\x0b\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\xca\x02\x9f\x02\x00\x00\x00\x00\x00\x00\x79\x0b\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x9d\x02\x00\x00\x94\x07\x6a\x02\x08\x00\x30\x00\x00\x00\x5a\x07\x69\x02\x66\x02\xf1\x01\x00\x00\xb8\x00\xb8\x00\xb8\x00\x00\x00\x00\x00\x61\x02\x00\x00\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x60\x02\x53\x01\x5f\x02\x00\x00\xee\x01\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\xb8\x00\x0c\x00\xb8\x00\x00\x00\x95\x01\x00\x00\x57\x0b\xb8\x00\xb8\x00\x46\x0b\xd6\x01\x00\x00\x00\x00\x53\x02\x00\x00\xe1\x04\x00\x00\xe1\x04\xb8\x00\x52\x02\x7b\x05\x51\x02\xb8\x00\x00\x00\x4c\x02\x4b\x02\x43\x02\x41\x02\x40\x02\x3b\x02\x32\x02\x00\x00\x31\x02\x00\x00\x30\x02\xae\x04\x2c\x02\x00\x00\x2b\x02\x00\x00\x1e\x02\x00\x00\x01\x03\x57\x02\x00\x00\x20\x07\xd9\x01\x00\x00\xe6\x06\x00\x00\xf3\xff\xb8\x00\x25\x02\x22\x02\x00\x00\x20\x02\xb8\x00\x00\x00\x18\x02\x0e\x02\x04\x02\x01\x02\xf8\x01\x00\x00\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\xed\x01\xf3\x01\xe5\x01\xe0\x01\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x35\x0b\x8c\x04\x00\x00\xb5\x00\x24\x0b\x99\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xaf\x01\x5b\x02\xaa\x01\x99\x01\x00\x00\x00\x00\x00\x00\x97\x01\x7c\x01\x71\x01\x4a\x01\x1d\x09\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x99\x00\x31\x01\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\xf9\xff\x00\x00\x59\x04\x00\x00\x00\x00\x72\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x0b\x01\xd9\x00\x00\x00\xe1\x00\x7b\x00\xa6\x00\x13\x0b\x00\x00\x3f\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x50\x00\xef\xff\x37\x04\x4b\x00\x00\x00\x38\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x28\x00\x00\x00\xdf\xff\x37\x04\xcf\x0a\xda\xff\x37\x04\x00\x00\x00\x00\x00\x00\x37\x04\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x32\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x1c\xff\x00\x00\x00\x00\x17\xff\x00\x00\x15\xff\x00\x00\x00\x00\x12\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x0c\xff\x07\xff\x07\xff\x9e\xff\x83\xff\x51\xff\x52\xff\xa5\xff\x50\xff\x55\xff\x07\xff\xae\xff\x3a\xff\x3c\xff\x38\xff\x3b\xff\x39\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x42\xff\x41\xff\x40\xff\x43\xff\x3e\xff\x3f\xff\x3d\xff\x44\xff\x00\x00\x59\xff\x07\xff\x07\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x32\xff\xef\xff\xf8\xff\x32\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\x07\xff\x07\xff\xd9\xff\x07\xff\x00\x00\xa8\xff\x07\xff\x07\xff\x32\xff\x32\xff\x32\xff\x32\xff\x32\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\x07\xff\x08\xff\x73\xff\x00\x00\x08\xff\x08\xff\x07\xff\x07\xff\x07\xff\x5d\xff\x07\xff\x07\xff\x07\xff\x07\xff\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\x07\xff\x07\xff\x07\xff\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x08\xff\x00\x00\x00\x00\x08\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x16\xff\x07\xff\x00\x00\x07\xff\x00\x00\x07\xff\x1e\xff\x97\xff\x20\xff\x00\x00\x07\xff\x07\xff\x60\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x08\xff\x00\x00\x07\xff\x00\x00\x07\xff\x07\xff\x5a\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\xa4\xff\x00\x00\x00\x00\x08\xff\x07\xff\x08\xff\x07\xff\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x5e\xff\x07\xff\x75\xff\x74\xff\x07\xff\x07\xff\x00\x00\x54\xff\x07\xff\x00\x00\x08\xff\x08\xff\x08\xff\x58\xff\x57\xff\x07\xff\x07\xff\x00\x00\x48\xff\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x08\xff\x07\xff\x00\x00\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x32\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x07\xff\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x2e\xff\x00\x00\x31\xff\x00\x00\x07\xff\x2a\xff\x26\xff\x00\x00\x00\x00\x07\xff\x07\xff\x00\x00\xb3\xff\x07\xff\x07\xff\x07\xff\xaa\xff\xa9\xff\x07\xff\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x07\xff\x07\xff\x00\x00\x07\xff\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\x07\xff\x07\xff\x07\xff\xdc\xff\x00\x00\xca\xff\x00\x00\x07\xff\x07\xff\x00\x00\x73\xff\x49\xff\x4b\xff\x08\xff\x00\x00\xa1\xff\x5b\xff\x89\xff\x07\xff\x08\xff\x00\x00\x08\xff\x07\xff\x4c\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x08\xff\x00\x00\x08\xff\x00\x00\x07\xff\x6d\xff\x07\xff\x67\xff\x07\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x07\xff\x08\xff\x08\xff\xa3\xff\x08\xff\x07\xff\x8b\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x62\xff\x61\xff\x07\xff\x08\xff\x08\xff\x08\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\x07\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x0a\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x08\xff\x90\xff\x08\xff\xbc\xff\x08\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x08\xff\x08\xff\x32\xff\x07\xff\x37\xff\x00\x00\x25\xff\x29\xff\x08\xff\x2c\xff\x00\x00\x07\xff\x00\x00\xbf\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x2f\xff\x00\x00\xb8\xff\x26\xff\xb7\xff\x37\xff\x22\xff\x23\xff\x00\x00\x08\xff\x00\x00\xb6\xff\xb5\xff\x34\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x09\xff\x00\x00\x07\xff\x00\x00\x00\x00\x07\xff\x08\xff\x00\x00\x45\xff\x07\xff\x08\xff\x07\xff\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x08\xff\x6c\xff\x6b\xff\x00\x00\x08\xff\x4f\xff\x08\xff\x07\xff\x00\x00\x08\xff\x8c\xff\x07\xff\x08\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x35\xff\x33\xff\x21\xff\x36\xff\x24\xff\x2b\xff\x30\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\x07\xff\xe6\xff\x08\xff\x9d\xff\x00\x00\x08\xff\x00\x00\x63\xff\x69\xff\x47\xff\x00\x00\x00\x00\xe8\xff\x08\xff\x92\xff\xe7\xff\x4a\xff\x46\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x05\x00\x0a\x00\x02\x00\x07\x00\x02\x00\x03\x00\x20\x00\x21\x00\x29\x00\x19\x00\x0c\x00\x46\x00\x1c\x00\x0b\x00\x10\x00\x19\x00\x24\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x19\x00\x1a\x00\x03\x00\x01\x00\x20\x00\x21\x00\x02\x00\x02\x00\x46\x00\x19\x00\x1d\x00\x0c\x00\x26\x00\x46\x00\x0c\x00\x22\x00\x23\x00\x47\x00\x10\x00\x31\x00\x27\x00\x11\x00\x19\x00\x30\x00\x24\x00\x2e\x00\x49\x00\x2e\x00\x35\x00\x3f\x00\x47\x00\x20\x00\x21\x00\x40\x00\x41\x00\x07\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x27\x00\x49\x00\x3e\x00\x02\x00\x03\x00\x19\x00\x2e\x00\x2e\x00\x4b\x00\x19\x00\x1a\x00\x46\x00\x02\x00\x50\x00\x3d\x00\x47\x00\x53\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x11\x00\x49\x00\x19\x00\x1d\x00\x24\x00\x30\x00\x4b\x00\x0b\x00\x22\x00\x23\x00\x35\x00\x50\x00\x01\x00\x27\x00\x53\x00\x6d\x00\x47\x00\x40\x00\x41\x00\x71\x00\x2e\x00\x73\x00\x74\x00\x75\x00\x76\x00\x1d\x00\x19\x00\x10\x00\x76\x00\x2e\x00\x22\x00\x23\x00\x47\x00\x02\x00\x03\x00\x27\x00\x02\x00\x03\x00\x3d\x00\x47\x00\x6d\x00\x02\x00\x2e\x00\x02\x00\x71\x00\x0b\x00\x73\x00\x74\x00\x75\x00\x76\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x46\x00\x11\x00\x17\x00\x11\x00\x19\x00\x1d\x00\x57\x00\x3d\x00\x1d\x00\x24\x00\x22\x00\x23\x00\x46\x00\x22\x00\x23\x00\x27\x00\x20\x00\x26\x00\x27\x00\x02\x00\x03\x00\x14\x00\x2e\x00\x27\x00\x26\x00\x2e\x00\x2f\x00\x24\x00\x0b\x00\x46\x00\x2e\x00\x28\x00\x2e\x00\x47\x00\x11\x00\x12\x00\x13\x00\x14\x00\x03\x00\x24\x00\x17\x00\x29\x00\x19\x00\x15\x00\x47\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x46\x00\x22\x00\x23\x00\x12\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x76\x00\x51\x00\x52\x00\x47\x00\x2e\x00\x2f\x00\x56\x00\x57\x00\x24\x00\x59\x00\x0c\x00\x24\x00\x47\x00\x24\x00\x10\x00\x47\x00\x1d\x00\x13\x00\x37\x00\x01\x00\x24\x00\x22\x00\x23\x00\x51\x00\x52\x00\x3e\x00\x27\x00\x46\x00\x0a\x00\x0b\x00\x6e\x00\x6f\x00\x70\x00\x2e\x00\x10\x00\x76\x00\x24\x00\x24\x00\x76\x00\x51\x00\x52\x00\x19\x00\x24\x00\x47\x00\x56\x00\x57\x00\x47\x00\x59\x00\x47\x00\x24\x00\x20\x00\x23\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x24\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x01\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x47\x00\x4b\x00\x0b\x00\x24\x00\x76\x00\x47\x00\x50\x00\x47\x00\x13\x00\x53\x00\x10\x00\x19\x00\x47\x00\x02\x00\x03\x00\x19\x00\x24\x00\x24\x00\x24\x00\x47\x00\x1d\x00\x20\x00\x0b\x00\x24\x00\x22\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x24\x00\x76\x00\x24\x00\x6d\x00\x0b\x00\x2e\x00\x47\x00\x71\x00\x1d\x00\x73\x00\x74\x00\x75\x00\x46\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x29\x00\x0b\x00\x2e\x00\x47\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x47\x00\x47\x00\x24\x00\x47\x00\x0b\x00\x2e\x00\x24\x00\x23\x00\x1d\x00\x24\x00\x24\x00\x19\x00\x11\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x19\x00\x23\x00\x1d\x00\x1f\x00\x0b\x00\x2e\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x03\x00\x27\x00\x20\x00\x47\x00\x46\x00\x08\x00\x47\x00\x0b\x00\x2e\x00\x01\x00\x47\x00\x1d\x00\x76\x00\x47\x00\x47\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x0c\x00\x27\x00\x19\x00\x47\x00\x10\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x11\x00\x22\x00\x23\x00\x76\x00\x20\x00\x03\x00\x27\x00\x19\x00\x19\x00\x19\x00\x08\x00\x0d\x00\x0e\x00\x2e\x00\x20\x00\x1f\x00\x1d\x00\x76\x00\x38\x00\x19\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x1f\x00\x27\x00\x19\x00\x19\x00\x02\x00\x03\x00\x1c\x00\x0b\x00\x2e\x00\x19\x00\x1a\x00\x02\x00\x76\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x0a\x00\x46\x00\x11\x00\x0d\x00\x13\x00\x14\x00\x0a\x00\x0b\x00\x1d\x00\x76\x00\x13\x00\x2c\x00\x2d\x00\x22\x00\x23\x00\x47\x00\x19\x00\x20\x00\x27\x00\x0a\x00\x35\x00\x1d\x00\x0d\x00\x26\x00\x27\x00\x2e\x00\x22\x00\x23\x00\x46\x00\x76\x00\x27\x00\x2e\x00\x2f\x00\x43\x00\x31\x00\x45\x00\x2d\x00\x2a\x00\x2f\x00\x30\x00\x43\x00\x32\x00\x45\x00\x76\x00\x35\x00\x19\x00\x1a\x00\x46\x00\x3f\x00\x19\x00\x19\x00\x1a\x00\x46\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x48\x00\x21\x00\x44\x00\x51\x00\x52\x00\x29\x00\x76\x00\x2c\x00\x2d\x00\x51\x00\x52\x00\x2b\x00\x2c\x00\x2d\x00\x17\x00\x18\x00\x35\x00\x46\x00\x02\x00\x03\x00\x01\x00\x35\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0d\x00\x0e\x00\x6e\x00\x6f\x00\x70\x00\x10\x00\x51\x00\x52\x00\x6e\x00\x6f\x00\x70\x00\x16\x00\x03\x00\x18\x00\x46\x00\x1d\x00\x1b\x00\x08\x00\x19\x00\x46\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x26\x00\x27\x00\x25\x00\x12\x00\x47\x00\x28\x00\x17\x00\x18\x00\x2e\x00\x46\x00\x19\x00\x6e\x00\x6f\x00\x70\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x01\x00\x02\x00\x46\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0b\x00\x46\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x46\x00\x18\x00\x53\x00\x54\x00\x1b\x00\x59\x00\x1d\x00\x47\x00\x46\x00\x5a\x00\x46\x00\x22\x00\x23\x00\x46\x00\x25\x00\x26\x00\x13\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x46\x00\x2d\x00\x46\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x02\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x47\x00\x22\x00\x23\x00\x47\x00\x47\x00\x16\x00\x27\x00\x18\x00\x46\x00\x19\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x22\x00\x23\x00\x06\x00\x25\x00\x46\x00\x46\x00\x28\x00\x46\x00\x05\x00\x47\x00\x47\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x46\x00\x46\x00\x0f\x00\x10\x00\x46\x00\x12\x00\x47\x00\x14\x00\x47\x00\x46\x00\x46\x00\x56\x00\x19\x00\x29\x00\x47\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x47\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x46\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x29\x00\x29\x00\x47\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x05\x00\x18\x00\x47\x00\x47\x00\x1b\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x19\x00\x19\x00\x16\x00\x0e\x00\x25\x00\x06\x00\x47\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x11\x00\x47\x00\x47\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x19\x00\x2c\x00\x2d\x00\x19\x00\x22\x00\x23\x00\x43\x00\x13\x00\x26\x00\x27\x00\x35\x00\x15\x00\x26\x00\x15\x00\x11\x00\x2e\x00\x2e\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x03\x00\x13\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x0b\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x48\x00\x26\x00\x13\x00\x11\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x11\x00\x19\x00\x0c\x00\x1b\x00\x16\x00\x0b\x00\x18\x00\x14\x00\x14\x00\x1b\x00\x15\x00\x1d\x00\x2e\x00\x25\x00\x26\x00\x27\x00\x0b\x00\x20\x00\x11\x00\x25\x00\x11\x00\x2d\x00\x28\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x11\x00\x35\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x2e\x00\x2e\x00\x2e\x00\x11\x00\x0a\x00\x04\x00\x47\x00\x31\x00\x13\x00\x0b\x00\x13\x00\x10\x00\x02\x00\x03\x00\x26\x00\x20\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x13\x00\x20\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x20\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x26\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x22\x00\x23\x00\x15\x00\x11\x00\x16\x00\x27\x00\x18\x00\x13\x00\x13\x00\x1b\x00\x13\x00\x1d\x00\x2e\x00\x2f\x00\x13\x00\x13\x00\x26\x00\x0a\x00\x0c\x00\x25\x00\x5a\x00\x13\x00\x28\x00\x26\x00\x0b\x00\x20\x00\x31\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x13\x00\x0f\x00\x10\x00\x0d\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x11\x00\x32\x00\x19\x00\x13\x00\x35\x00\x11\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x0a\x00\x26\x00\x53\x00\x54\x00\x55\x00\x01\x00\x03\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x20\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x0a\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x59\x00\x0a\x00\x12\x00\x0b\x00\x11\x00\x25\x00\x10\x00\x13\x00\x28\x00\x0b\x00\x0b\x00\x04\x00\x04\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x01\x00\x0f\x00\x10\x00\x12\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x3f\x00\x32\x00\x19\x00\x04\x00\x35\x00\x10\x00\x14\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x10\x00\x10\x00\x0c\x00\x53\x00\x54\x00\x55\x00\x01\x00\x12\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x12\x00\x19\x00\x12\x00\x12\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x12\x00\x18\x00\x27\x00\x05\x00\x1b\x00\x76\x00\x1d\x00\x20\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x76\x00\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\x36\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x19\x00\x1a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x35\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\x0e\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\x1d\x00\x1e\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x35\x00\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x02\x00\x03\x00\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x01\x00\x02\x00\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\x4d\x00\x4e\x00\x4f\x00\x27\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x0f\x00\x10\x00\x1d\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\x42\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x0c\x00\xff\xff\x18\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x11\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x11\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x02\x00\x03\x00\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x0b\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x19\x00\xff\xff\x12\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x1d\x00\x27\x00\x0b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x2e\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x13\x00\x12\x00\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x1d\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\x2e\x00\xff\xff\x2e\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\x22\x00\x23\x00\x02\x00\x03\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\x11\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\x2e\x00\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x1d\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0e\x00\xff\xff\xff\xff\x27\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\x2e\x00\x19\x00\x2d\x00\x1b\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\x0c\x02\x22\x00\x42\x02\xdc\x00\xe5\x00\x0d\x01\xb3\x00\xb4\x00\x10\x01\x11\x01\x7d\x01\xac\x00\x51\x00\x61\x02\xb7\x01\x18\xff\x52\x00\xf2\x01\xb0\x00\xfc\xff\xdb\x01\x62\x01\x63\x01\x76\x00\x77\x00\xb4\x00\x22\x00\x28\x01\x29\x01\xe5\x00\xe5\x00\x5c\x02\x47\x01\xb5\x00\xda\xff\x43\x02\x5e\x02\x51\x00\xb6\x00\xb7\x00\xb9\x00\x52\x00\x73\xff\xb8\x00\x25\x02\x2f\x01\x78\x00\xb0\x00\xe7\x00\x12\x01\xb9\x00\x79\x00\x57\x00\x57\x02\xda\xff\xda\xff\x4b\x02\xf4\x01\x75\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x9b\x01\x12\x01\xf5\x01\xb3\x00\xb4\x00\xf2\x01\xe7\x00\xe7\x00\x5b\x00\x76\x00\x77\x00\x53\x02\xe5\x00\x5c\x00\x4c\x02\xb1\x00\x5d\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\xe6\x00\xda\xff\x2f\x01\xb5\x00\xb0\x00\x78\x00\x5b\x00\x1a\xff\xb6\x00\xb7\x00\x79\x00\x5c\x00\x22\x00\xb8\x00\x5d\x00\x5e\x00\x5f\x02\xf3\x01\xf4\x01\x5f\x00\xb9\x00\x60\x00\x61\x00\x62\x00\xfc\xff\xb5\x00\x2f\x01\x52\x00\x18\xff\xe7\x00\xb6\x00\xb7\x00\x54\x02\xb3\x00\xb4\x00\xb8\x00\xb3\x00\xb4\x00\x30\x01\x37\x02\x5e\x00\xe5\x00\xb9\x00\xe5\x00\x5f\x00\xa0\xff\x60\x00\x61\x00\x62\x00\xfc\xff\x55\x02\xa0\xff\xa0\xff\xa0\xff\xa0\xff\x58\x02\x99\x01\xa0\xff\x6e\xff\xa0\xff\xb5\x00\xd8\x01\x32\x01\xb5\x00\xb0\x00\xb6\x00\xb7\x00\x59\x02\xb6\x00\xb7\x00\xb8\x00\x9a\x01\xa0\xff\xb8\x00\xb3\x00\xb4\x00\x65\x01\xb9\x00\x9b\x01\x6e\xff\xb9\x00\xa0\xff\xb0\x00\x9f\xff\x34\x02\xe7\x00\xf0\x00\xe7\x00\x35\x02\x9f\xff\x9f\xff\x9f\xff\x9f\xff\x93\x00\xb0\x00\x9f\xff\xf8\x00\x9f\xff\x46\x01\x3a\x02\x33\x01\xb5\x00\x47\x01\xb3\x00\xb4\x00\x36\x02\xb6\x00\xb7\x00\x94\x00\x41\x01\x9f\xff\xb8\x00\x1d\xff\x22\x00\x1a\xff\xa0\xff\xa0\xff\xb1\x00\xb9\x00\x9f\xff\xa0\xff\xa0\xff\xb0\x00\xa0\xff\x51\x00\xb0\x00\x25\x01\xb0\x00\x52\x00\xb1\x00\xb5\x00\xfc\xff\x48\x01\x22\x00\xb0\x00\xb6\x00\xb7\x00\x66\x01\x67\x01\x49\x01\xb8\x00\x39\x02\x4b\x01\x4c\x01\xa0\xff\xa0\xff\xa0\xff\xb9\x00\x52\x00\xff\xff\xb0\x00\xb0\x00\xa0\xff\x9f\xff\x9f\xff\x8e\x00\xb0\x00\x1f\x02\x9f\xff\x9f\xff\xb1\x00\x9f\xff\x7c\x01\xb0\x00\x4d\x01\x3b\x02\x68\x01\x69\x01\x6a\x01\x8b\x01\xb0\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\x22\x00\x9f\xff\x9f\xff\x9f\xff\x8d\x01\x8f\x01\x5b\x00\x1b\xff\xb0\x00\x9f\xff\x91\x01\x5c\x00\x3d\x02\x18\x01\x5d\x00\x52\x00\x3e\x02\xb1\x00\xb3\x00\xb4\x00\x33\x01\xb0\x00\xb0\x00\xb0\x00\xa6\x01\xb5\x00\x19\x01\x19\xff\xb0\x00\x34\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x46\x02\xb8\x00\xb0\x00\xe7\x00\x1d\xff\xb0\x00\x5e\x00\x14\xff\xb9\x00\xa9\x01\x5f\x00\xb5\x00\x60\x00\x61\x00\x62\x00\x48\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xfe\x01\xb8\x00\xaa\x01\xab\x01\xac\x01\xb5\x00\xf8\x00\x13\xff\xb9\x00\xad\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x79\x01\xb8\x00\xb0\x00\xb1\x00\xe8\x00\xb0\x00\xb1\x00\x11\xff\xb9\x00\xb0\x00\x8f\x00\xb5\x00\xe7\x00\xb0\x00\x8e\x00\x4e\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc7\x00\xb8\x00\xb9\x00\x38\x01\x8f\x00\xb5\x00\xe6\x01\x10\xff\xb9\x00\x16\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x0f\x02\xb8\x00\x60\x02\xfc\x00\x02\x02\x45\x02\xfe\x00\x0f\xff\xb9\x00\x22\x00\xb1\x00\xb5\x00\x1b\xff\xe8\x00\xb1\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x51\x00\xb8\x00\x4a\x00\x09\x02\x52\x00\xb5\x00\x16\x02\x0e\xff\xb9\x00\x37\x01\xb6\x00\xb7\x00\x19\xff\x50\x02\x0f\x02\xb8\x00\x16\x02\x38\x01\xc7\x00\x10\x02\xd9\x01\x0c\x01\xb9\x00\x17\x02\xae\x01\xb5\x00\x14\xff\x0a\x02\xc7\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc8\x00\xb8\x00\x4a\x00\xac\x00\x68\xff\xb4\x00\xad\x00\xd2\xff\xb9\x00\x76\x00\xa6\x00\x72\x00\x13\xff\x68\xff\x68\xff\x68\xff\x65\x01\x9d\x01\x0c\x02\x68\xff\x73\xff\x68\xff\x68\xff\xe3\x01\x63\x01\xb5\x00\x11\xff\x83\x00\x32\x02\xa8\x00\xb6\x00\xb7\x00\x23\x02\x17\x00\x68\xff\xb8\x00\xdc\x00\x79\x00\x73\x00\x73\xff\x68\xff\x68\xff\xb9\x00\x74\x00\x75\x00\x0d\x02\x10\xff\x1b\x00\x68\xff\x68\xff\x6c\x01\x68\xff\x19\x02\x1c\x00\x6a\x01\x84\x00\x1e\x00\x6c\x01\x1f\x00\x6d\x01\x0f\xff\x20\x00\x76\x00\xa6\x00\x11\x02\x68\xff\xdc\x00\x76\x00\xa6\x00\x13\x02\xba\x01\xde\x00\xe4\x01\x63\x01\x68\xff\x13\x01\x85\x00\x66\x01\x67\x01\xd5\x01\x0e\xff\x33\x02\xa8\x00\x68\xff\x68\xff\x3f\x02\x15\x01\xa8\x00\xed\x01\x2b\x01\x79\x00\x14\x02\xb3\x00\xb4\x00\x22\x00\x79\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x88\x00\x0b\x01\x0c\x01\x68\x01\x69\x01\x6a\x01\x2b\x00\x66\x01\x67\x01\x68\xff\x68\xff\x68\xff\x2c\x00\x0f\x02\x2d\x00\x2e\x02\xb5\x00\x2e\x00\x1c\x02\xdc\x00\x2f\x02\xb6\x00\xb7\x00\xdd\x00\xde\x00\x1e\x02\xb8\x00\x30\x00\x48\x00\x31\x02\x31\x00\x2a\x01\x2b\x01\xb9\x00\x30\x02\x4a\x00\x68\x01\x69\x01\x6a\x01\xaf\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb0\x01\x22\x00\xa1\x00\xb1\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x61\x01\x62\x01\x63\x01\xb2\x01\x29\x00\x2a\x00\x2b\x00\x2d\x01\x2e\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\xb3\x01\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x8d\xff\xa2\x00\xc0\x01\xb4\x01\x89\x00\xb5\x01\xa3\x00\xa4\x00\xb6\x01\x30\x00\xa5\x00\x12\x02\x31\x00\x76\x00\xa6\x00\xc1\x01\xc2\x01\x17\x00\xa6\x00\xc4\x01\xc6\x01\xc8\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc9\x01\x1b\x00\xbd\x01\xa8\x00\xbe\x01\xca\x01\xcb\x01\x1c\x00\xcc\x01\x84\x00\x1e\x00\x79\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\xcd\x01\xce\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcf\x01\xd1\x01\xd4\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x72\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xe5\x01\xe7\x01\xe9\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\xee\x01\xb6\x00\xb7\x00\xef\x01\xf6\x01\x2c\x00\xb8\x00\x2d\x00\x52\x01\xf8\x01\x2e\x00\x3e\x01\xa2\x00\xb9\x00\x53\x01\x57\x01\x58\x01\x74\x00\x75\x00\x72\x01\x30\x00\x7e\x01\x7f\x01\x31\x00\x80\x01\x0e\x01\x82\x01\x8a\x01\x8c\x01\x3f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x8e\x01\x90\x01\x46\x00\x47\x00\x92\x01\x48\x00\xa3\x01\x49\x00\xa4\x01\xa8\x01\xcc\x00\x09\x01\x4a\x00\xda\x00\xd2\x00\xd5\x00\xd8\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfd\x00\xff\x00\x00\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x07\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x06\x01\x0a\x01\x20\x01\x21\x01\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x26\x01\x2d\x00\x24\x01\x25\x01\x2e\x00\x2e\x01\x2f\x00\x31\x01\xb3\x00\xb4\x00\x69\x00\x6a\x00\x6e\x00\x70\x00\x30\x00\x89\x00\x91\x00\x31\x00\x76\x00\xa6\x00\x94\x00\x95\x00\x97\x00\x4d\xff\xae\x00\xb9\x00\xc3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb5\x00\xc0\x00\xbf\x01\xa8\x00\xc6\x00\xb6\x00\xb7\x00\x04\x00\x63\x02\x57\x01\xb8\x00\x79\x00\x50\x02\x52\x02\x53\x02\x5b\x02\xe7\x00\xb9\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x3d\x02\x41\x02\x3e\x00\x3f\x00\x40\x00\x22\x00\x44\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x48\x02\xfe\x01\x45\x02\x4e\x02\x29\x00\x2a\x00\x2b\x00\x02\x02\x01\x02\x17\x00\x04\x02\x85\x01\x2c\x00\x05\x02\x2d\x00\x0f\x02\x1b\x02\x2e\x00\x16\x02\x2f\x00\x19\x02\x19\x00\x1a\x00\x1b\x00\x1c\x02\x21\x02\x26\x02\x30\x00\x27\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x28\x02\x29\x02\x20\x00\x2a\x02\xc5\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc6\x01\xba\x01\xbd\x01\xe7\x00\xc8\x01\xdc\x00\xe3\x01\x87\x01\xd4\x01\xde\x01\xdf\x01\xe1\x01\xe2\x01\xb3\x00\xb4\x00\xfb\x01\xf2\x01\xfc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x01\x3d\x01\x43\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x41\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x45\x01\x44\x01\x46\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\x4e\x01\xb6\x00\xb7\x00\x4f\x01\x55\x01\x2c\x00\xb8\x00\x2d\x00\x5a\x01\x5b\x01\x2e\x00\x5c\x01\x2f\x00\xb9\x00\x3b\x01\x5d\x01\x5e\x01\x61\x01\x6c\x01\x8b\x00\x30\x00\x6f\x01\x5f\x01\x31\x00\x74\x01\x75\x01\x76\x01\x79\x01\x17\x00\x1b\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x7c\x01\x46\x00\x47\x00\x84\x01\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x98\x01\x1f\x00\x4a\x00\x94\x01\x20\x00\x9c\x01\x9e\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x9f\x01\xa0\x01\xa2\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd7\x00\xca\x00\xd4\x00\xda\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\xdc\x00\x2d\x00\xc4\xff\xc5\xff\x2e\x00\xef\x00\x2f\x00\x00\x00\xdc\x00\x0a\x01\xdc\x00\x13\x01\x1a\x01\x2a\x01\x30\x00\x37\x01\x1a\x01\x31\x00\x36\x01\x3a\x01\x63\x00\x64\x00\x17\x00\x1c\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x66\x00\x46\x00\x47\x00\x67\x00\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x68\x00\x1f\x00\x4a\x00\x69\x00\x20\x00\x6c\x00\x70\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6d\x00\x6e\x00\x8b\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x7f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x80\x00\x17\x00\x81\x00\x82\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x83\x00\x2d\x00\x1b\x00\x8c\x00\x2e\x00\xff\xff\x2f\x00\xb0\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\xff\xff\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1d\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x4a\x02\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1e\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xc3\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xd7\x00\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8c\x00\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x99\x00\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xa6\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x64\x02\x00\x00\x00\x00\xd0\x01\xa8\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x79\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x70\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x5c\x02\x00\x00\xdf\x00\xa6\x00\x00\x00\x2b\x00\xe0\x00\xde\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa8\x00\xe2\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x57\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x02\x76\x00\xa6\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x94\x01\xa8\x00\x95\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x79\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x49\x02\x15\x01\xa8\x00\x00\x00\xa0\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x22\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\xbb\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2d\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf0\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2e\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf7\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x14\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\xb3\x00\xb4\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x72\x00\x8a\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\xaa\x00\xab\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x17\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x8d\x00\x42\x00\x43\x00\x44\x00\xaa\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xb4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\xaa\x00\xab\x00\xb5\x00\x00\x00\x17\x00\x7d\x00\x7e\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xb9\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x1c\x00\x00\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x07\x02\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x45\x00\x00\x00\x2d\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xd1\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x84\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xe9\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x88\x01\x19\x00\x1a\x00\x1b\x00\x89\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xb4\x00\x56\x01\xea\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf3\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x57\x01\xb8\x00\x00\x00\x00\x00\xf4\x00\x00\x00\xb3\x00\xb4\x00\xb9\x00\xf5\x00\xf6\x00\x00\x00\x00\x00\xf7\x00\xb8\x00\x00\x02\xfb\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf8\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xfc\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xd3\x01\x00\x00\xdb\x01\x00\x00\xb5\x00\xb9\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xb5\x00\xb8\x00\xdd\x01\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xb9\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xe9\x01\xeb\x01\xb8\x00\x00\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb5\x00\x00\x00\xb5\x00\xec\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\xb9\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\xed\x01\x00\x00\xfd\x01\x00\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\x00\x00\xb5\x00\x97\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\xb9\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\xb5\x00\x9d\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x70\x00\x00\x00\x00\x00\xb8\x00\x19\x00\x1a\x00\x1b\x00\x9e\x00\x00\x00\x00\x00\xb9\x00\x17\x00\x1c\x00\x22\x01\x1d\x00\x1e\x00\x9f\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x23\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x5d\x02\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x7a\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x85\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x03\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x38\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x1e\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x22\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd6\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd8\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf9\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x3b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x50\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x51\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x5e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x70\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x71\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x76\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x77\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x81\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa2\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa7\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xed\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xef\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x64\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x90\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9b\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbe\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc5\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (3, 249) [+	(3 , happyReduce_3),+	(4 , happyReduce_4),+	(5 , happyReduce_5),+	(6 , happyReduce_6),+	(7 , happyReduce_7),+	(8 , happyReduce_8),+	(9 , happyReduce_9),+	(10 , happyReduce_10),+	(11 , happyReduce_11),+	(12 , happyReduce_12),+	(13 , happyReduce_13),+	(14 , happyReduce_14),+	(15 , happyReduce_15),+	(16 , happyReduce_16),+	(17 , happyReduce_17),+	(18 , happyReduce_18),+	(19 , happyReduce_19),+	(20 , happyReduce_20),+	(21 , happyReduce_21),+	(22 , happyReduce_22),+	(23 , happyReduce_23),+	(24 , happyReduce_24),+	(25 , happyReduce_25),+	(26 , happyReduce_26),+	(27 , happyReduce_27),+	(28 , happyReduce_28),+	(29 , happyReduce_29),+	(30 , happyReduce_30),+	(31 , happyReduce_31),+	(32 , happyReduce_32),+	(33 , happyReduce_33),+	(34 , happyReduce_34),+	(35 , happyReduce_35),+	(36 , happyReduce_36),+	(37 , happyReduce_37),+	(38 , happyReduce_38),+	(39 , happyReduce_39),+	(40 , happyReduce_40),+	(41 , happyReduce_41),+	(42 , happyReduce_42),+	(43 , happyReduce_43),+	(44 , happyReduce_44),+	(45 , happyReduce_45),+	(46 , happyReduce_46),+	(47 , happyReduce_47),+	(48 , happyReduce_48),+	(49 , happyReduce_49),+	(50 , happyReduce_50),+	(51 , happyReduce_51),+	(52 , happyReduce_52),+	(53 , happyReduce_53),+	(54 , happyReduce_54),+	(55 , happyReduce_55),+	(56 , happyReduce_56),+	(57 , happyReduce_57),+	(58 , happyReduce_58),+	(59 , happyReduce_59),+	(60 , happyReduce_60),+	(61 , happyReduce_61),+	(62 , happyReduce_62),+	(63 , happyReduce_63),+	(64 , happyReduce_64),+	(65 , happyReduce_65),+	(66 , happyReduce_66),+	(67 , happyReduce_67),+	(68 , happyReduce_68),+	(69 , happyReduce_69),+	(70 , happyReduce_70),+	(71 , happyReduce_71),+	(72 , happyReduce_72),+	(73 , happyReduce_73),+	(74 , happyReduce_74),+	(75 , happyReduce_75),+	(76 , happyReduce_76),+	(77 , happyReduce_77),+	(78 , happyReduce_78),+	(79 , happyReduce_79),+	(80 , happyReduce_80),+	(81 , happyReduce_81),+	(82 , happyReduce_82),+	(83 , happyReduce_83),+	(84 , happyReduce_84),+	(85 , happyReduce_85),+	(86 , happyReduce_86),+	(87 , happyReduce_87),+	(88 , happyReduce_88),+	(89 , happyReduce_89),+	(90 , happyReduce_90),+	(91 , happyReduce_91),+	(92 , happyReduce_92),+	(93 , happyReduce_93),+	(94 , happyReduce_94),+	(95 , happyReduce_95),+	(96 , happyReduce_96),+	(97 , happyReduce_97),+	(98 , happyReduce_98),+	(99 , happyReduce_99),+	(100 , happyReduce_100),+	(101 , happyReduce_101),+	(102 , happyReduce_102),+	(103 , happyReduce_103),+	(104 , happyReduce_104),+	(105 , happyReduce_105),+	(106 , happyReduce_106),+	(107 , happyReduce_107),+	(108 , happyReduce_108),+	(109 , happyReduce_109),+	(110 , happyReduce_110),+	(111 , happyReduce_111),+	(112 , happyReduce_112),+	(113 , happyReduce_113),+	(114 , happyReduce_114),+	(115 , happyReduce_115),+	(116 , happyReduce_116),+	(117 , happyReduce_117),+	(118 , happyReduce_118),+	(119 , happyReduce_119),+	(120 , happyReduce_120),+	(121 , happyReduce_121),+	(122 , happyReduce_122),+	(123 , happyReduce_123),+	(124 , happyReduce_124),+	(125 , happyReduce_125),+	(126 , happyReduce_126),+	(127 , happyReduce_127),+	(128 , happyReduce_128),+	(129 , happyReduce_129),+	(130 , happyReduce_130),+	(131 , happyReduce_131),+	(132 , happyReduce_132),+	(133 , happyReduce_133),+	(134 , happyReduce_134),+	(135 , happyReduce_135),+	(136 , happyReduce_136),+	(137 , happyReduce_137),+	(138 , happyReduce_138),+	(139 , happyReduce_139),+	(140 , happyReduce_140),+	(141 , happyReduce_141),+	(142 , happyReduce_142),+	(143 , happyReduce_143),+	(144 , happyReduce_144),+	(145 , happyReduce_145),+	(146 , happyReduce_146),+	(147 , happyReduce_147),+	(148 , happyReduce_148),+	(149 , happyReduce_149),+	(150 , happyReduce_150),+	(151 , happyReduce_151),+	(152 , happyReduce_152),+	(153 , happyReduce_153),+	(154 , happyReduce_154),+	(155 , happyReduce_155),+	(156 , happyReduce_156),+	(157 , happyReduce_157),+	(158 , happyReduce_158),+	(159 , happyReduce_159),+	(160 , happyReduce_160),+	(161 , happyReduce_161),+	(162 , happyReduce_162),+	(163 , happyReduce_163),+	(164 , happyReduce_164),+	(165 , happyReduce_165),+	(166 , happyReduce_166),+	(167 , happyReduce_167),+	(168 , happyReduce_168),+	(169 , happyReduce_169),+	(170 , happyReduce_170),+	(171 , happyReduce_171),+	(172 , happyReduce_172),+	(173 , happyReduce_173),+	(174 , happyReduce_174),+	(175 , happyReduce_175),+	(176 , happyReduce_176),+	(177 , happyReduce_177),+	(178 , happyReduce_178),+	(179 , happyReduce_179),+	(180 , happyReduce_180),+	(181 , happyReduce_181),+	(182 , happyReduce_182),+	(183 , happyReduce_183),+	(184 , happyReduce_184),+	(185 , happyReduce_185),+	(186 , happyReduce_186),+	(187 , happyReduce_187),+	(188 , happyReduce_188),+	(189 , happyReduce_189),+	(190 , happyReduce_190),+	(191 , happyReduce_191),+	(192 , happyReduce_192),+	(193 , happyReduce_193),+	(194 , happyReduce_194),+	(195 , happyReduce_195),+	(196 , happyReduce_196),+	(197 , happyReduce_197),+	(198 , happyReduce_198),+	(199 , happyReduce_199),+	(200 , happyReduce_200),+	(201 , happyReduce_201),+	(202 , happyReduce_202),+	(203 , happyReduce_203),+	(204 , happyReduce_204),+	(205 , happyReduce_205),+	(206 , happyReduce_206),+	(207 , happyReduce_207),+	(208 , happyReduce_208),+	(209 , happyReduce_209),+	(210 , happyReduce_210),+	(211 , happyReduce_211),+	(212 , happyReduce_212),+	(213 , happyReduce_213),+	(214 , happyReduce_214),+	(215 , happyReduce_215),+	(216 , happyReduce_216),+	(217 , happyReduce_217),+	(218 , happyReduce_218),+	(219 , happyReduce_219),+	(220 , happyReduce_220),+	(221 , happyReduce_221),+	(222 , happyReduce_222),+	(223 , happyReduce_223),+	(224 , happyReduce_224),+	(225 , happyReduce_225),+	(226 , happyReduce_226),+	(227 , happyReduce_227),+	(228 , happyReduce_228),+	(229 , happyReduce_229),+	(230 , happyReduce_230),+	(231 , happyReduce_231),+	(232 , happyReduce_232),+	(233 , happyReduce_233),+	(234 , happyReduce_234),+	(235 , happyReduce_235),+	(236 , happyReduce_236),+	(237 , happyReduce_237),+	(238 , happyReduce_238),+	(239 , happyReduce_239),+	(240 , happyReduce_240),+	(241 , happyReduce_241),+	(242 , happyReduce_242),+	(243 , happyReduce_243),+	(244 , happyReduce_244),+	(245 , happyReduce_245),+	(246 , happyReduce_246),+	(247 , happyReduce_247),+	(248 , happyReduce_248),+	(249 , happyReduce_249)+	]++happy_n_terms = 119 :: Int+happy_n_nonterms = 73 :: Int++happyReduce_3 = happySpecReduce_0  0# happyReduction_3+happyReduction_3  =  happyIn6+		 ([]+	)++happyReduce_4 = happySpecReduce_2  0# happyReduction_4+happyReduction_4 happy_x_2+	happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (happy_var_1:happy_var_2+	)}}++happyReduce_5 = happySpecReduce_2  0# happyReduction_5+happyReduction_5 happy_x_2+	happy_x_1+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (map RealDecl happy_var_1 ++ happy_var_2+	)}}++happyReduce_6 = happyReduce 4# 0# happyReduction_6+happyReduction_6 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	case happyOut6 happy_x_4 of { happy_var_4 -> +	happyIn6+		 (RealDecl (PInclude happy_var_2) : happy_var_4+	) `HappyStk` happyRest}}++happyReduce_7 = happySpecReduce_1  1# happyReduction_7+happyReduction_7 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (happy_var_1+	)}++happyReduce_8 = happySpecReduce_1  1# happyReduction_8+happyReduction_8 happy_x_1+	 =  case happyOut26 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl (DataDecl happy_var_1)+	)}++happyReduce_9 = happySpecReduce_1  1# happyReduction_9+happyReduction_9 happy_x_1+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_10 = happySpecReduce_3  1# happyReduction_10+happyReduction_10 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> +	happyIn7+		 (RealDecl (Freeze happy_var_2)+	)}++happyReduce_11 = happyReduce 4# 1# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut62 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_12 = happyReduce 4# 1# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut63 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PDoUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_13 = happyReduce 4# 1# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut64 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PIdiom happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_14 = happyReduce 4# 1# happyReduction_14+happyReduction_14 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut65 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PParams happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 4# 1# happyReduction_15+happyReduction_15 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut66 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PNamespace happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_16 = happySpecReduce_1  1# happyReduction_16+happyReduction_16 happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_17 = happyReduce 6# 1# happyReduction_17+happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut40 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	happyIn7+		 (PSyntax happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_18 = happySpecReduce_2  1# happyReduction_18+happyReduction_18 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CInclude happy_var_2)+	)}++happyReduce_19 = happySpecReduce_2  1# happyReduction_19+happyReduction_19 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CLib happy_var_2)+	)}++happyReduce_20 = happyReduce 5# 2# happyReduction_20+happyReduction_20 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn8+		 (Transform happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_21 = happyReduce 7# 3# happyReduction_21+happyReduction_21 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut15 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6+	) `HappyStk` happyRest}}}}}++happyReduce_22 = happySpecReduce_3  3# happyReduction_22+happyReduction_22 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut74 happy_x_2 of { happy_var_2 -> +	happyIn9+		 (ProofScript happy_var_1 happy_var_2+	)}}++happyReduce_23 = happyReduce 9# 3# happyReduction_23+happyReduction_23 (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 happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	case happyOut77 happy_x_8 of { happy_var_8 -> +	case happyOut76 happy_x_9 of { happy_var_9 -> +	happyIn9+		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}}}}++happyReduce_24 = happyReduce 10# 3# happyReduction_24+happyReduction_24 (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 happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	case happyOut77 happy_x_9 of { happy_var_9 -> +	case happyOut76 happy_x_10 of { happy_var_10 -> +	happyIn9+		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}}}}++happyReduce_25 = happyReduce 8# 3# happyReduction_25+happyReduction_25 (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 happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut15 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_7 of { happy_var_7 -> +	case happyOut76 happy_x_8 of { happy_var_8 -> +	happyIn9+		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)+	) `HappyStk` happyRest}}}}}}++happyReduce_26 = happyReduce 5# 3# happyReduction_26+happyReduction_26 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn9+		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []+	) `HappyStk` happyRest}}++happyReduce_27 = happyReduce 8# 3# happyReduction_27+happyReduction_27 (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 happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	happyIn9+		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}++happyReduce_28 = happyReduce 7# 3# happyReduction_28+happyReduction_28 (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 happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_29 = happySpecReduce_1  4# happyReduction_29+happyReduction_29 happy_x_1+	 =  happyIn10+		 (Vis Public+	)++happyReduce_30 = happySpecReduce_1  4# happyReduction_30+happyReduction_30 happy_x_1+	 =  happyIn10+		 (Vis Private+	)++happyReduce_31 = happySpecReduce_1  4# happyReduction_31+happyReduction_31 happy_x_1+	 =  happyIn10+		 (Vis Abstract+	)++happyReduce_32 = happySpecReduce_0  4# happyReduction_32+happyReduction_32  =  happyIn10+		 (Vis Public+	)++happyReduce_33 = happySpecReduce_1  5# happyReduction_33+happyReduction_33 happy_x_1+	 =  happyIn11+		 (False+	)++happyReduce_34 = happySpecReduce_2  5# happyReduction_34+happyReduction_34 happy_x_2+	happy_x_1+	 =  happyIn11+		 (True+	)++happyReduce_35 = happySpecReduce_3  6# happyReduction_35+happyReduction_35 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut12 happy_x_3 of { happy_var_3 -> +	happyIn12+		 (happy_var_2:happy_var_3+	)}}++happyReduce_36 = happySpecReduce_0  6# happyReduction_36+happyReduction_36  =  happyIn12+		 ([]+	)++happyReduce_37 = happySpecReduce_1  7# happyReduction_37+happyReduction_37 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_38 = happySpecReduce_1  7# happyReduction_38+happyReduction_38 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_39 = happySpecReduce_3  7# happyReduction_39+happyReduction_39 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn13+		 (happy_var_2+	)}++happyReduce_40 = happyReduce 5# 7# happyReduction_40+happyReduction_40 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut55 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn13+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_41 = happySpecReduce_2  8# happyReduction_41+happyReduction_41 happy_x_2+	happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (happy_var_1:happy_var_2+	)}}++happyReduce_42 = happySpecReduce_1  8# happyReduction_42+happyReduction_42 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn14+		 ([happy_var_1]+	)}++happyReduce_43 = happySpecReduce_1  9# happyReduction_43+happyReduction_43 happy_x_1+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> +	happyIn15+		 (happy_var_1+	)}++happyReduce_44 = happySpecReduce_3  9# happyReduction_44+happyReduction_44 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn15+		 (happy_var_2+	)}++happyReduce_45 = happySpecReduce_0  10# happyReduction_45+happyReduction_45  =  happyIn16+		 ([]+	)++happyReduce_46 = happySpecReduce_2  10# happyReduction_46+happyReduction_46 happy_x_2+	happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn16+		 (happy_var_1 ++ happy_var_2+	)}}++happyReduce_47 = happySpecReduce_1  11# happyReduction_47+happyReduction_47 happy_x_1+	 =  happyIn17+		 ([NoCG]+	)++happyReduce_48 = happySpecReduce_1  11# happyReduction_48+happyReduction_48 happy_x_1+	 =  happyIn17+		 ([CGEval, Inline]+	)++happyReduce_49 = happyReduce 4# 11# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn17+		 ([CGSpec happy_var_3]+	) `HappyStk` happyRest}++happyReduce_50 = happySpecReduce_1  11# happyReduction_50+happyReduction_50 happy_x_1+	 =  happyIn17+		 ([CGSpec []]+	)++happyReduce_51 = happySpecReduce_1  11# happyReduction_51+happyReduction_51 happy_x_1+	 =  happyIn17+		 ([Inline]+	)++happyReduce_52 = happySpecReduce_2  11# happyReduction_52+happyReduction_52 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn17+		 ([CExport happy_var_2]+	)}++happyReduce_53 = happyReduce 4# 12# happyReduction_53+happyReduction_53 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut21 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn18+		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3+	) `HappyStk` happyRest}}}++happyReduce_54 = happySpecReduce_1  13# happyReduction_54+happyReduction_54 happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	happyIn19+		 ([happy_var_1]+	)}++happyReduce_55 = happySpecReduce_3  13# happyReduction_55+happyReduction_55 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn19+		 (happy_var_1:happy_var_3+	)}}++happyReduce_56 = happySpecReduce_1  14# happyReduction_56+happyReduction_56 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> +	happyIn20+		 (happy_var_1+	)}++happyReduce_57 = happySpecReduce_1  14# happyReduction_57+happyReduction_57 happy_x_1+	 =  happyIn20+		 ("-"+	)++happyReduce_58 = happySpecReduce_1  14# happyReduction_58+happyReduction_58 happy_x_1+	 =  happyIn20+		 ("<"+	)++happyReduce_59 = happySpecReduce_1  14# happyReduction_59+happyReduction_59 happy_x_1+	 =  happyIn20+		 (">"+	)++happyReduce_60 = happySpecReduce_1  15# happyReduction_60+happyReduction_60 happy_x_1+	 =  happyIn21+		 (LeftAssoc+	)++happyReduce_61 = happySpecReduce_1  15# happyReduction_61+happyReduction_61 happy_x_1+	 =  happyIn21+		 (RightAssoc+	)++happyReduce_62 = happySpecReduce_1  15# happyReduction_62+happyReduction_62 happy_x_1+	 =  happyIn21+		 (NonAssoc+	)++happyReduce_63 = happyReduce 4# 16# happyReduction_63+happyReduction_63 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut23 happy_x_3 of { happy_var_3 -> +	happyIn22+		 (LatexDefs happy_var_3+	) `HappyStk` happyRest}++happyReduce_64 = happySpecReduce_3  17# happyReduction_64+happyReduction_64 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	happyIn23+		 ([(happy_var_1,happy_var_3)]+	)}}++happyReduce_65 = happyReduce 5# 17# happyReduction_65+happyReduction_65 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	case happyOut23 happy_x_5 of { happy_var_5 -> +	happyIn23+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_66 = happySpecReduce_2  18# happyReduction_66+happyReduction_66 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn24+		 ((happy_var_1, happy_var_2)+	)}}++happyReduce_67 = happySpecReduce_0  19# happyReduction_67+happyReduction_67  =  happyIn25+		 ([]+	)++happyReduce_68 = happySpecReduce_2  19# happyReduction_68+happyReduction_68 happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn25+		 ((happy_var_1,Nothing):happy_var_2+	)}}++happyReduce_69 = happyReduce 5# 19# happyReduction_69+happyReduction_69 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut25 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_70 = happyReduce 5# 19# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut25 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((happy_var_3, Just happy_var_1):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_71 = happyReduce 6# 20# happyReduction_71+happyReduction_71 (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_2 of { happy_var_2 -> +	case happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut27 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn26+		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}}}++happyReduce_72 = happySpecReduce_3  21# happyReduction_72+happyReduction_72 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> +	case happyOut70 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Right (happy_var_1,happy_var_2)+	)}}++happyReduce_73 = happySpecReduce_3  21# happyReduction_73+happyReduction_73 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Left happy_var_2+	)}++happyReduce_74 = happySpecReduce_3  21# happyReduction_74+happyReduction_74 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn27+		 (Left (RConst happy_var_2 happy_var_3 TYPE)+	)}}++happyReduce_75 = happySpecReduce_0  22# happyReduction_75+happyReduction_75  =  happyIn28+		 ([]+	)++happyReduce_76 = happySpecReduce_3  22# happyReduction_76+happyReduction_76 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut29 happy_x_2 of { happy_var_2 -> +	happyIn28+		 (happy_var_2+	)}++happyReduce_77 = happySpecReduce_1  23# happyReduction_77+happyReduction_77 happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	happyIn29+		 ([happy_var_1]+	)}++happyReduce_78 = happySpecReduce_3  23# happyReduction_78+happyReduction_78 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	case happyOut29 happy_x_3 of { happy_var_3 -> +	happyIn29+		 (happy_var_1:happy_var_3+	)}}++happyReduce_79 = happySpecReduce_1  24# happyReduction_79+happyReduction_79 happy_x_1+	 =  happyIn30+		 (NoElim+	)++happyReduce_80 = happySpecReduce_1  24# happyReduction_80+happyReduction_80 happy_x_1+	 =  happyIn30+		 (Collapsible+	)++happyReduce_81 = happySpecReduce_1  25# happyReduction_81+happyReduction_81 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> +	happyIn31+		 (happy_var_1+	)}++happyReduce_82 = happySpecReduce_3  25# happyReduction_82+happyReduction_82 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_2 of { happy_var_2 -> +	happyIn31+		 (useropFn happy_var_2+	)}++happyReduce_83 = happyReduce 4# 26# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn32+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_84 = happyReduce 5# 26# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn32+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_85 = happySpecReduce_3  26# happyReduction_85+happyReduction_85 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_86 = happySpecReduce_3  26# happyReduction_86+happyReduction_86 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_87 = happySpecReduce_1  26# happyReduction_87+happyReduction_87 happy_x_1+	 =  happyIn32+		 (RPlaceholder+	)++happyReduce_88 = happySpecReduce_3  26# happyReduction_88+happyReduction_88 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_89 = happySpecReduce_3  26# happyReduction_89+happyReduction_89 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_90 = happySpecReduce_1  27# happyReduction_90+happyReduction_90 happy_x_1+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_91 = happySpecReduce_3  27# happyReduction_91+happyReduction_91 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn33+		 (happy_var_2+	)}++happyReduce_92 = happyReduce 4# 27# happyReduction_92+happyReduction_92 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_93 = happyReduce 5# 27# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn33+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_94 = happyReduce 4# 27# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_95 = happyReduce 4# 27# happyReduction_95+happyReduction_95 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut34 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doBind Lam happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_96 = happyReduce 4# 27# happyReduction_96+happyReduction_96 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut41 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doLetBind happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_97 = happySpecReduce_1  27# happyReduction_97+happyReduction_97 happy_x_1+	 =  case happyOut43 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_98 = happyReduce 8# 27# happyReduction_98+happyReduction_98 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut33 happy_x_6 of { happy_var_6 -> +	case happyOut77 happy_x_7 of { happy_var_7 -> +	case happyOut76 happy_x_8 of { happy_var_8 -> +	happyIn33+		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]+	) `HappyStk` happyRest}}}}}++happyReduce_99 = happySpecReduce_2  28# happyReduction_99+happyReduction_99 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	happyIn34+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_100 = happyReduce 4# 28# happyReduction_100+happyReduction_100 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut34 happy_x_4 of { happy_var_4 -> +	happyIn34+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_101 = happySpecReduce_3  29# happyReduction_101+happyReduction_101 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	case happyOut35 happy_x_3 of { happy_var_3 -> +	happyIn35+		 (happy_var_1 ++ happy_var_3+	)}}++happyReduce_102 = happySpecReduce_1  29# happyReduction_102+happyReduction_102 happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	happyIn35+		 (happy_var_1+	)}++happyReduce_103 = happySpecReduce_3  30# happyReduction_103+happyReduction_103 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn36+		 (map ( \x -> (x,happy_var_3)) [happy_var_1]+	)}}++happyReduce_104 = happySpecReduce_1  31# happyReduction_104+happyReduction_104 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn37+		 ([happy_var_1]+	)}++happyReduce_105 = happySpecReduce_3  31# happyReduction_105+happyReduction_105 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn37+		 (happy_var_1:happy_var_3+	)}}++happyReduce_106 = happySpecReduce_2  32# happyReduction_106+happyReduction_106 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	happyIn38+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_107 = happySpecReduce_1  32# happyReduction_107+happyReduction_107 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn38+		 ([(happy_var_1, 0)]+	)}++happyReduce_108 = happySpecReduce_3  32# happyReduction_108+happyReduction_108 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn38+		 ((happy_var_1,0):happy_var_3+	)}}++happyReduce_109 = happyReduce 4# 32# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut38 happy_x_4 of { happy_var_4 -> +	happyIn38+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1  33# happyReduction_110+happyReduction_110 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	happyIn39+		 ([happy_var_1]+	)}++happyReduce_111 = happySpecReduce_3  33# happyReduction_111+happyReduction_111 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn39+		 (happy_var_1:happy_var_3+	)}}++happyReduce_112 = happySpecReduce_1  34# happyReduction_112+happyReduction_112 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn40+		 ([happy_var_1]+	)}++happyReduce_113 = happySpecReduce_2  34# happyReduction_113+happyReduction_113 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut40 happy_x_2 of { happy_var_2 -> +	happyIn40+		 (happy_var_1:happy_var_2+	)}}++happyReduce_114 = happyReduce 4# 35# happyReduction_114+happyReduction_114 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn41+		 ([(happy_var_1,happy_var_2,happy_var_4)]+	) `HappyStk` happyRest}}}++happyReduce_115 = happyReduce 6# 35# happyReduction_115+happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut41 happy_x_6 of { happy_var_6 -> +	happyIn41+		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_116 = happySpecReduce_3  36# happyReduction_116+happyReduction_116 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)+	)}}}++happyReduce_117 = happySpecReduce_3  36# happyReduction_117+happyReduction_117 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, happy_var_3)+	)}}++happyReduce_118 = happyReduce 4# 37# happyReduction_118+happyReduction_118 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn43+		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_119 = happyReduce 5# 37# happyReduction_119+happyReduction_119 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 5# 37# happyReduction_120+happyReduction_120 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]+	) `HappyStk` happyRest}}}}++happyReduce_121 = happyReduce 5# 37# happyReduction_121+happyReduction_121 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_122 = happyReduce 5# 37# happyReduction_122+happyReduction_122 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_123 = happyReduce 5# 37# happyReduction_123+happyReduction_123 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn43+		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3+	) `HappyStk` happyRest}}++happyReduce_124 = happySpecReduce_1  37# happyReduction_124+happyReduction_124 happy_x_1+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> +	happyIn43+		 (happy_var_1+	)}++happyReduce_125 = happyReduce 5# 37# happyReduction_125+happyReduction_125 (happy_x_5 `HappyStk`+	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 happyOut53 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_126 = happyReduce 5# 38# happyReduction_126+happyReduction_126 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn44+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_127 = happyReduce 6# 39# happyReduction_127+happyReduction_127 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_128 = happyReduce 6# 39# happyReduction_128+happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_129 = happyReduce 6# 39# happyReduction_129+happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_130 = happyReduce 6# 39# happyReduction_130+happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut46 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_131 = happyReduce 6# 39# happyReduction_131+happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_132 = happyReduce 6# 39# happyReduction_132+happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_133 = happyReduce 6# 39# happyReduction_133+happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)+	) `HappyStk` happyRest}}}++happyReduce_134 = happyReduce 5# 39# happyReduction_134+happyReduction_134 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (RBind (MN "X" 1) (Lam RPlaceholder)+                    (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))+                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))+	) `HappyStk` happyRest}}++happyReduce_135 = happyReduce 5# 39# happyReduction_135+happyReduction_135 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                   (RBind (MN "X" 1) (Lam RPlaceholder)+                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))+                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),+                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))+	) `HappyStk` happyRest}}++happyReduce_136 = happyReduce 6# 39# happyReduction_136+happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [happy_var_2,+                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])+	) `HappyStk` happyRest}}}++happyReduce_137 = happyReduce 6# 39# happyReduction_137+happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])+	) `HappyStk` happyRest}}}++happyReduce_138 = happySpecReduce_1  40# happyReduction_138+happyReduction_138 happy_x_1+	 =  happyIn46+		 ("<"+	)++happyReduce_139 = happySpecReduce_1  40# happyReduction_139+happyReduction_139 happy_x_1+	 =  happyIn46+		 (">"+	)++happyReduce_140 = happySpecReduce_0  41# happyReduction_140+happyReduction_140  =  happyIn47+		 (RPlaceholder+	)++happyReduce_141 = happySpecReduce_2  41# happyReduction_141+happyReduction_141 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn47+		 (happy_var_2+	)}++happyReduce_142 = happySpecReduce_0  42# happyReduction_142+happyReduction_142  =  happyIn48+		 (RPlaceholder+	)++happyReduce_143 = happySpecReduce_2  42# happyReduction_143+happyReduction_143 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn48+		 (happy_var_2+	)}++happyReduce_144 = happyReduce 5# 43# happyReduction_144+happyReduction_144 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut39 happy_x_1 of { happy_var_1 -> +	case happyOut48 happy_x_2 of { happy_var_2 -> +	case happyOut49 happy_x_5 of { happy_var_5 -> +	happyIn49+		 (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_145 = happySpecReduce_1  43# happyReduction_145+happyReduction_145 happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	happyIn49+		 (happy_var_1+	)}++happyReduce_146 = happySpecReduce_3  44# happyReduction_146+happyReduction_146 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn50+		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3+	)}}++happyReduce_147 = happyReduce 5# 44# happyReduction_147+happyReduction_147 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (doBind (Pi Ex Eager) happy_var_2 happy_var_5+	) `HappyStk` happyRest}}++happyReduce_148 = happyReduce 5# 44# happyReduction_148+happyReduction_148 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (doBind (Pi Ex Lazy) happy_var_2 happy_var_5+	) `HappyStk` happyRest}}++happyReduce_149 = happySpecReduce_3  44# happyReduction_149+happyReduction_149 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (bracket happy_var_2+	)}++happyReduce_150 = happyReduce 7# 44# happyReduction_150+happyReduction_150 (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 happyOut50 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn50+		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_151 = happySpecReduce_1  44# happyReduction_151+happyReduction_151 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_152 = happySpecReduce_3  44# happyReduction_152+happyReduction_152 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (happy_var_2+	)}++happyReduce_153 = happyReduce 5# 44# happyReduction_153+happyReduction_153 (happy_x_5 `HappyStk`+	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 happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_154 = happyReduce 5# 44# happyReduction_154+happyReduction_154 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut52 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_155 = happySpecReduce_1  44# happyReduction_155+happyReduction_155 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_156 = happyReduce 8# 45# happyReduction_156+happyReduction_156 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_7 of { happy_var_7 -> +	case happyOut76 happy_x_8 of { happy_var_8 -> +	happyIn51+		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_157 = happySpecReduce_3  46# happyReduction_157+happyReduction_157 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn52+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_158 = happySpecReduce_3  46# happyReduction_158+happyReduction_158 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut52 happy_x_3 of { happy_var_3 -> +	happyIn52+		 (happy_var_1:happy_var_3+	)}}++happyReduce_159 = happySpecReduce_3  47# happyReduction_159+happyReduction_159 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_160 = happySpecReduce_3  47# happyReduction_160+happyReduction_160 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RReturn happy_var_2 happy_var_3+	)}}++happyReduce_161 = happySpecReduce_3  47# happyReduction_161+happyReduction_161 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn53+		 (bracket happy_var_2+	)}++happyReduce_162 = happySpecReduce_2  47# happyReduction_162+happyReduction_162 happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_2 of { happy_var_2 -> +	happyIn53+		 (RPure happy_var_2+	)}++happyReduce_163 = happySpecReduce_1  47# happyReduction_163+happyReduction_163 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> +	happyIn53+		 (RMetavar happy_var_1+	)}++happyReduce_164 = happyReduce 4# 47# happyReduction_164+happyReduction_164 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn53+		 (RExpVar happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_165 = happySpecReduce_3  47# happyReduction_165+happyReduction_165 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_166 = happySpecReduce_1  47# happyReduction_166+happyReduction_166 happy_x_1+	 =  happyIn53+		 (RRefl+	)++happyReduce_167 = happySpecReduce_3  47# happyReduction_167+happyReduction_167 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_168 = happySpecReduce_3  47# happyReduction_168+happyReduction_168 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_169 = happySpecReduce_1  47# happyReduction_169+happyReduction_169 happy_x_1+	 =  happyIn53+		 (RPlaceholder+	)++happyReduce_170 = happySpecReduce_1  47# happyReduction_170+happyReduction_170 happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (RDo happy_var_1+	)}++happyReduce_171 = happySpecReduce_3  47# happyReduction_171+happyReduction_171 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn53+		 (RIdiom happy_var_2+	)}++happyReduce_172 = happyReduce 5# 47# happyReduction_172+happyReduction_172 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut55 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn53+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_173 = happySpecReduce_1  47# happyReduction_173+happyReduction_173 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_174 = happySpecReduce_1  47# happyReduction_174+happyReduction_174 happy_x_1+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_175 = happySpecReduce_1  47# happyReduction_175+happyReduction_175 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_176 = happyReduce 7# 48# happyReduction_176+happyReduction_176 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_6 of { happy_var_6 -> +	case happyOut76 happy_x_7 of { happy_var_7 -> +	happyIn54+		 (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_177 = happyReduce 5# 48# happyReduction_177+happyReduction_177 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut77 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	happyIn54+		 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_178 = happySpecReduce_3  49# happyReduction_178+happyReduction_178 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_179 = happySpecReduce_3  49# happyReduction_179+happyReduction_179 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut55 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3+	)}}++happyReduce_180 = happyReduce 4# 50# happyReduction_180+happyReduction_180 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut57 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_181 = happyReduce 10# 50# happyReduction_181+happyReduction_181 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_6 of { happy_var_6 -> +	case happyOut76 happy_x_7 of { happy_var_7 -> +	case happyOut57 happy_x_9 of { happy_var_9 -> +	happyIn56+		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9+	) `HappyStk` happyRest}}}}}}++happyReduce_182 = happySpecReduce_2  51# happyReduction_182+happyReduction_182 happy_x_2+	happy_x_1+	 =  case happyOut58 happy_x_1 of { happy_var_1 -> +	case happyOut57 happy_x_2 of { happy_var_2 -> +	happyIn57+		 (happy_var_1:happy_var_2+	)}}++happyReduce_183 = happySpecReduce_1  51# happyReduction_183+happyReduction_183 happy_x_1+	 =  case happyOut58 happy_x_1 of { happy_var_1 -> +	happyIn57+		 ([happy_var_1]+	)}++happyReduce_184 = happyReduce 7# 52# happyReduction_184+happyReduction_184 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut77 happy_x_5 of { happy_var_5 -> +	case happyOut76 happy_x_6 of { happy_var_6 -> +	happyIn58+		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}}++happyReduce_185 = happyReduce 8# 52# happyReduction_185+happyReduction_185 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut77 happy_x_6 of { happy_var_6 -> +	case happyOut76 happy_x_7 of { happy_var_7 -> +	happyIn58+		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_186 = happyReduce 4# 52# happyReduction_186+happyReduction_186 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (DoExp happy_var_2 happy_var_3 happy_var_1+	) `HappyStk` happyRest}}}++happyReduce_187 = happySpecReduce_1  53# happyReduction_187+happyReduction_187 happy_x_1+	 =  happyIn59+		 (TYPE+	)++happyReduce_188 = happySpecReduce_1  53# happyReduction_188+happyReduction_188 happy_x_1+	 =  happyIn59+		 (StringType+	)++happyReduce_189 = happySpecReduce_1  53# happyReduction_189+happyReduction_189 happy_x_1+	 =  happyIn59+		 (IntType+	)++happyReduce_190 = happySpecReduce_1  53# happyReduction_190+happyReduction_190 happy_x_1+	 =  happyIn59+		 (CharType+	)++happyReduce_191 = happySpecReduce_1  53# happyReduction_191+happyReduction_191 happy_x_1+	 =  happyIn59+		 (FloatType+	)++happyReduce_192 = happySpecReduce_1  53# happyReduction_192+happyReduction_192 happy_x_1+	 =  happyIn59+		 (PtrType+	)++happyReduce_193 = happySpecReduce_1  53# happyReduction_193+happyReduction_193 happy_x_1+	 =  happyIn59+		 (Builtin "Handle"+	)++happyReduce_194 = happySpecReduce_1  53# happyReduction_194+happyReduction_194 happy_x_1+	 =  happyIn59+		 (Builtin "Lock"+	)++happyReduce_195 = happySpecReduce_1  53# happyReduction_195+happyReduction_195 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> +	happyIn59+		 (Num happy_var_1+	)}++happyReduce_196 = happySpecReduce_1  53# happyReduction_196+happyReduction_196 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> +	happyIn59+		 (Ch happy_var_1+	)}++happyReduce_197 = happySpecReduce_1  53# happyReduction_197+happyReduction_197 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> +	happyIn59+		 (Str happy_var_1+	)}++happyReduce_198 = happySpecReduce_1  53# happyReduction_198+happyReduction_198 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> +	happyIn59+		 (Bo happy_var_1+	)}++happyReduce_199 = happySpecReduce_1  53# happyReduction_199+happyReduction_199 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> +	happyIn59+		 (Fl happy_var_1+	)}++happyReduce_200 = happySpecReduce_0  54# happyReduction_200+happyReduction_200  =  happyIn60+		 ([]+	)++happyReduce_201 = happySpecReduce_2  54# happyReduction_201+happyReduction_201 happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> +	case happyOut60 happy_x_2 of { happy_var_2 -> +	happyIn60+		 (happy_var_1:happy_var_2+	)}}++happyReduce_202 = happyReduce 4# 55# happyReduction_202+happyReduction_202 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut49 happy_x_2 of { happy_var_2 -> +	case happyOut62 happy_x_3 of { happy_var_3 -> +	happyIn61+		 ((happy_var_2, happy_var_3)+	) `HappyStk` happyRest}}++happyReduce_203 = happySpecReduce_3  55# happyReduction_203+happyReduction_203 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	case happyOut76 happy_x_3 of { happy_var_3 -> +	happyIn61+		 ((RConst happy_var_2 happy_var_3 TYPE, [])+	)}}++happyReduce_204 = happyReduce 4# 55# happyReduction_204+happyReduction_204 (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 happyOut77 happy_x_3 of { happy_var_3 -> +	case happyOut76 happy_x_4 of { happy_var_4 -> +	happyIn61+		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])+	) `HappyStk` happyRest}}}++happyReduce_205 = happySpecReduce_0  56# happyReduction_205+happyReduction_205  =  happyIn62+		 ([]+	)++happyReduce_206 = happyReduce 4# 56# happyReduction_206+happyReduction_206 (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 -> +	happyIn62+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_207 = happyReduce 7# 57# happyReduction_207+happyReduction_207 (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 happyOut31 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_6 of { happy_var_6 -> +	happyIn63+		 ((happy_var_4,happy_var_6)+	) `HappyStk` happyRest}}++happyReduce_208 = happyReduce 6# 58# happyReduction_208+happyReduction_208 (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 happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut31 happy_x_5 of { happy_var_5 -> +	happyIn64+		 ((happy_var_3,happy_var_5)+	) `HappyStk` happyRest}}++happyReduce_209 = happyReduce 4# 59# happyReduction_209+happyReduction_209 (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 -> +	happyIn65+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_210 = happySpecReduce_2  60# happyReduction_210+happyReduction_210 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn66+		 (happy_var_2+	)}++happyReduce_211 = happySpecReduce_3  61# happyReduction_211+happyReduction_211 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn67+		 ([(happy_var_1, happy_var_3)]+	)}}++happyReduce_212 = happyReduce 5# 61# happyReduction_212+happyReduction_212 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut67 happy_x_5 of { happy_var_5 -> +	happyIn67+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_213 = happySpecReduce_1  62# happyReduction_213+happyReduction_213 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn68+		 ([happy_var_1]+	)}++happyReduce_214 = happySpecReduce_2  62# happyReduction_214+happyReduction_214 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut68 happy_x_2 of { happy_var_2 -> +	happyIn68+		 (happy_var_1:happy_var_2+	)}}++happyReduce_215 = happySpecReduce_1  63# happyReduction_215+happyReduction_215 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn69+		 (happy_var_1+	)}++happyReduce_216 = happySpecReduce_1  63# happyReduction_216+happyReduction_216 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn69+		 (happy_var_1+	)}++happyReduce_217 = happySpecReduce_0  64# happyReduction_217+happyReduction_217  =  happyIn70+		 ([]+	)++happyReduce_218 = happySpecReduce_1  64# happyReduction_218+happyReduction_218 happy_x_1+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> +	happyIn70+		 ([happy_var_1]+	)}++happyReduce_219 = happySpecReduce_3  64# happyReduction_219+happyReduction_219 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> +	case happyOut70 happy_x_3 of { happy_var_3 -> +	happyIn70+		 (happy_var_1:happy_var_3+	)}}++happyReduce_220 = happySpecReduce_2  65# happyReduction_220+happyReduction_220 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut72 happy_x_2 of { happy_var_2 -> +	happyIn71+		 (Full happy_var_1 happy_var_2+	)}}++happyReduce_221 = happySpecReduce_2  65# happyReduction_221+happyReduction_221 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut60 happy_x_2 of { happy_var_2 -> +	happyIn71+		 (Simple happy_var_1 happy_var_2+	)}}++happyReduce_222 = happySpecReduce_2  66# happyReduction_222+happyReduction_222 happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn72+		 (happy_var_2+	)}++happyReduce_223 = happySpecReduce_2  67# happyReduction_223+happyReduction_223 happy_x_2+	happy_x_1+	 =  case happyOut37 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Intro happy_var_2+	)}++happyReduce_224 = happySpecReduce_1  67# happyReduction_224+happyReduction_224 happy_x_1+	 =  happyIn73+		 (Intro []+	)++happyReduce_225 = happySpecReduce_2  67# happyReduction_225+happyReduction_225 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Refine happy_var_2+	)}++happyReduce_226 = happySpecReduce_2  67# happyReduction_226+happyReduction_226 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Generalise happy_var_2+	)}++happyReduce_227 = happySpecReduce_1  67# happyReduction_227+happyReduction_227 happy_x_1+	 =  happyIn73+		 (ReflP+	)++happyReduce_228 = happySpecReduce_2  67# happyReduction_228+happyReduction_228 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Rewrite False False happy_var_2+	)}++happyReduce_229 = happySpecReduce_3  67# happyReduction_229+happyReduction_229 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (Rewrite False True happy_var_3+	)}++happyReduce_230 = happySpecReduce_2  67# happyReduction_230+happyReduction_230 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Rewrite True False happy_var_2+	)}++happyReduce_231 = happySpecReduce_3  67# happyReduction_231+happyReduction_231 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (Rewrite True True happy_var_3+	)}++happyReduce_232 = happySpecReduce_1  67# happyReduction_232+happyReduction_232 happy_x_1+	 =  happyIn73+		 (Compute+	)++happyReduce_233 = happySpecReduce_2  67# happyReduction_233+happyReduction_233 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Unfold happy_var_2+	)}++happyReduce_234 = happySpecReduce_1  67# happyReduction_234+happyReduction_234 happy_x_1+	 =  happyIn73+		 (Undo+	)++happyReduce_235 = happySpecReduce_2  67# happyReduction_235+happyReduction_235 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Induction happy_var_2+	)}++happyReduce_236 = happySpecReduce_2  67# happyReduction_236+happyReduction_236 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Fill happy_var_2+	)}++happyReduce_237 = happySpecReduce_1  67# happyReduction_237+happyReduction_237 happy_x_1+	 =  happyIn73+		 (Trivial+	)++happyReduce_238 = happySpecReduce_2  67# happyReduction_238+happyReduction_238 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (RunTactic happy_var_2+	)}++happyReduce_239 = happySpecReduce_2  67# happyReduction_239+happyReduction_239 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Believe happy_var_2+	)}++happyReduce_240 = happySpecReduce_2  67# happyReduction_240+happyReduction_240 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Use happy_var_2+	)}++happyReduce_241 = happySpecReduce_2  67# happyReduction_241+happyReduction_241 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn73+		 (Decide happy_var_2+	)}++happyReduce_242 = happySpecReduce_1  67# happyReduction_242+happyReduction_242 happy_x_1+	 =  happyIn73+		 (Abandon+	)++happyReduce_243 = happySpecReduce_1  67# happyReduction_243+happyReduction_243 happy_x_1+	 =  happyIn73+		 (Qed+	)++happyReduce_244 = happyReduce 4# 68# happyReduction_244+happyReduction_244 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut75 happy_x_3 of { happy_var_3 -> +	happyIn74+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_245 = happySpecReduce_2  69# happyReduction_245+happyReduction_245 happy_x_2+	happy_x_1+	 =  case happyOut73 happy_x_1 of { happy_var_1 -> +	happyIn75+		 ([happy_var_1]+	)}++happyReduce_246 = happySpecReduce_3  69# happyReduction_246+happyReduction_246 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut73 happy_x_1 of { happy_var_1 -> +	case happyOut75 happy_x_3 of { happy_var_3 -> +	happyIn75+		 (happy_var_1:happy_var_3+	)}}++happyReduce_247 = happyMonadReduce 0# 70# happyReduction_247+happyReduction_247 (happyRest) tk+	 = happyThen (( getLineNo)+	) (\r -> happyReturn (happyIn76 r))++happyReduce_248 = happyMonadReduce 0# 71# happyReduction_248+happyReduction_248 (happyRest) tk+	 = happyThen (( getFileName)+	) (\r -> happyReturn (happyIn77 r))++happyReduce_249 = happyMonadReduce 0# 72# happyReduction_249+happyReduction_249 (happyRest) tk+	 = happyThen (( getOps)+	) (\r -> happyReturn (happyIn78 r))++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = happyDoAction i tk action sts stk in+	case tk of {+	TokenEOF -> happyDoAction 118# tk action sts stk;+	TokenName happy_dollar_dollar -> cont 1#;+	TokenInfixName happy_dollar_dollar -> cont 2#;+	TokenBrackName happy_dollar_dollar -> cont 3#;+	TokenString happy_dollar_dollar -> cont 4#;+	TokenInt happy_dollar_dollar -> cont 5#;+	TokenFloat happy_dollar_dollar -> cont 6#;+	TokenChar happy_dollar_dollar -> cont 7#;+	TokenBool happy_dollar_dollar -> cont 8#;+	TokenMetavar happy_dollar_dollar -> cont 9#;+	TokenColon -> cont 10#;+	TokenSemi -> cont 11#;+	TokenBar -> cont 12#;+	TokenStars -> cont 13#;+	TokenLambda -> cont 14#;+	TokenHashOB -> cont 15#;+	TokenOB -> cont 16#;+	TokenCB -> cont 17#;+	TokenOCB -> cont 18#;+	TokenCCB -> cont 19#;+	TokenOSB -> cont 20#;+	TokenCSB -> cont 21#;+	TokenOId -> cont 22#;+	TokenCId -> cont 23#;+	TokenLPair -> cont 24#;+	TokenRPair -> cont 25#;+	TokenExists -> cont 26#;+	TokenTilde -> cont 27#;+	TokenPlus -> cont 28#;+	TokenMinus -> cont 29#;+	TokenTimes -> cont 30#;+	TokenDivide -> cont 31#;+	TokenEquals -> cont 32#;+	TokenMightEqual -> cont 33#;+	TokenLT -> cont 34#;+	TokenGT -> cont 35#;+	TokenEllipsis -> cont 36#;+	TokenUnderscore -> cont 37#;+	TokenComma -> cont 38#;+	TokenTuple -> cont 39#;+	TokenBang -> cont 40#;+	TokenConcat -> cont 41#;+	TokenGE -> cont 42#;+	TokenLE -> cont 43#;+	TokenOr -> cont 44#;+	TokenAnd -> cont 45#;+	TokenArrow -> cont 46#;+	TokenFatArrow -> cont 47#;+	TokenTransArrow -> cont 48#;+	TokenLeftArrow -> cont 49#;+	TokenIntType -> cont 50#;+	TokenCharType -> cont 51#;+	TokenFloatType -> cont 52#;+	TokenStringType -> cont 53#;+	TokenHandleType -> cont 54#;+	TokenPtrType -> cont 55#;+	TokenLockType -> cont 56#;+	TokenType -> cont 57#;+	TokenLazyBracket -> cont 58#;+	TokenDataType -> cont 59#;+	TokenInfix -> cont 60#;+	TokenInfixL -> cont 61#;+	TokenInfixR -> cont 62#;+	TokenUsing -> cont 63#;+	TokenIdiom -> cont 64#;+	TokenParams -> cont 65#;+	TokenNamespace -> cont 66#;+	TokenPublic -> cont 67#;+	TokenPrivate -> cont 68#;+	TokenAbstract -> cont 69#;+	TokenNoElim -> cont 70#;+	TokenCollapsible -> cont 71#;+	TokenWhere -> cont 72#;+	TokenWith -> cont 73#;+	TokenPartial -> cont 74#;+	TokenSyntax -> cont 75#;+	TokenLazy -> cont 76#;+	TokenRefl -> cont 77#;+	TokenEmptyType -> cont 78#;+	TokenUnitType -> cont 79#;+	TokenInclude -> cont 80#;+	TokenExport -> cont 81#;+	TokenInline -> cont 82#;+	TokenDo -> cont 83#;+	TokenReturn -> cont 84#;+	TokenIf -> cont 85#;+	TokenThen -> cont 86#;+	TokenElse -> cont 87#;+	TokenLet -> cont 88#;+	TokenIn -> cont 89#;+	TokenProof -> cont 90#;+	TokenIntro -> cont 91#;+	TokenRefine -> cont 92#;+	TokenGeneralise -> cont 93#;+	TokenReflP -> cont 94#;+	TokenRewrite -> cont 95#;+	TokenRewriteAll -> cont 96#;+	TokenCompute -> cont 97#;+	TokenUnfold -> cont 98#;+	TokenUndo -> cont 99#;+	TokenInduction -> cont 100#;+	TokenFill -> cont 101#;+	TokenTrivial -> cont 102#;+	TokenMkTac -> cont 103#;+	TokenBelieve -> cont 104#;+	TokenUse -> cont 105#;+	TokenDecide -> cont 106#;+	TokenAbandon -> cont 107#;+	TokenQED -> cont 108#;+	TokenLaTeX -> cont 109#;+	TokenNoCG -> cont 110#;+	TokenEval -> cont 111#;+	TokenSpec -> cont 112#;+	TokenFreeze -> cont 113#;+	TokenThaw -> cont 114#;+	TokenTransform -> cont 115#;+	TokenCInclude -> cont 116#;+	TokenCLib -> cont 117#;+	_ -> happyError' tk+	})++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> P a+happyError' tk = (\token -> happyError) tk++mkparse = happySomeParser where+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))++mkparseTerm = happySomeParser where+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))++mkparseTactic = happySomeParser where+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut73 x))++happySeq = happyDontSeq+++data ConParse = Full Id RawTerm+              | Simple Id [RawTerm]++parse :: String -> FilePath -> Result [Decl]+parse s fn = do ds <- mkparse s fn 1 []+                collectDecls ds++processImports :: [Opt] -> [FilePath] -> Result [Decl] -> +                  IO ([Decl], [FilePath])+processImports opts imped (Success ds) = pi imped [] ds+  where pi imps decls ((PInclude fp):xs)+           | fp `elem` imps = pi imps decls xs+           | otherwise = do+                 f <- readLibFile defaultLibPath fp+                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)+                 case parse f fp of+                   Success t -> pi (fp:imps) decls (t++xs)+                   Failure e f l ->+                     fail $ f ++ ":" ++ show l ++ ":" ++ e+        pi imps decls ((Using t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Using t ds']) xs+        pi imps decls ((Params t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Params t ds']) xs+        pi imps decls ((DoUsing b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[DoUsing b r ds']) xs+        pi imps decls ((Idiom b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Idiom b r ds']) xs+        pi imps decls ((Namespace n ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Namespace n ds']) xs+        pi imps decls (x:xs) = pi imps (decls++[x]) xs+        pi imps decls [] = return (decls, imps)++processImports _ imped (Failure e f l) +    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e+++parseTerm :: String -> Result RawTerm+parseTerm s = mkparseTerm s "(input)" 0 []++parseTactic :: String -> Result ITactic+parseTactic s = mkparseTactic s "(tactic)" 0 []++mkCon :: RawTerm -> ConParse -> (Id,RawTerm)+mkCon _ (Full n t) = (n,t)+mkCon ty (Simple n args) = (n, mkConTy args ty)+   where mkConTy [] ty = ty+         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)++mkDef file line (n, tms) = mkImpApp (RVar file line n) tms+   where mkImpApp f [] = f+         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts+         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts++doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm+doBind b [] t = t+doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)++doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm+doLetBind [] t = t+doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)++mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm+mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)+   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)+         getTyArgs x = []++mkTyParams :: String -> Int -> [Id] -> RawTerm+mkTyParams f l [] = RConst f l TYPE+mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)++mkDatatype :: String -> Int ->+              Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> +                    [TyOpt] -> Datatype+mkDatatype file line n (Right ((t, using), cons)) opts+    = Datatype n t (map (mkCon (mkTyApp file line n t)) cons) using opts file line +mkDatatype file line n (Left t) opts+    = Latatype n t file line++bracket (RUserInfix f l _ op x y) = RUserInfix f l True op x y+bracket x = x++pairDesugar :: String -> Int -> RawTerm -> [RawTerm] -> RawTerm+pairDesugar file line pair [x,y] = mkApp file line pair [x,y]+pairDesugar file line pair (x:y:xs) +    = pairDesugar file line pair ((mkApp file line pair [x,y]):xs)++sigDesugar :: String -> Int -> (Id, RawTerm) -> RawTerm -> RawTerm+sigDesugar file line (n, tm) sc+    = mkApp file line (RVar file line (UN "Sigma")) [tm, lam]+   where lam = RBind n (Lam tm) sc+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 1 "<command line>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ++{-# LINE 28 "templates/GenericTemplate.hs" #-}+++data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList++++++{-# LINE 49 "templates/GenericTemplate.hs" #-}++{-# LINE 59 "templates/GenericTemplate.hs" #-}++{-# LINE 68 "templates/GenericTemplate.hs" #-}++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is 0#, it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =+	happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action++++happyDoAction i tk st+	= {- nothing -}+++	  case action of+		0#		  -> {- nothing -}+				     happyFail i tk st+		-1# 	  -> {- nothing -}+				     happyAccept i tk st+		n | (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}++				     (happyReduceArr Happy_Data_Array.! rule) i tk st+				     where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))+		n		  -> {- nothing -}+++				     happyShift new_state i tk st+				     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))+   where off    = indexShortOffAddr happyActOffsets st+	 off_i  = (off Happy_GHC_Exts.+# i)+	 check  = if (off_i Happy_GHC_Exts.>=# (0# :: Happy_GHC_Exts.Int#))+			then (indexShortOffAddr happyCheck off_i Happy_GHC_Exts.==#  i)+			else False+ 	 action | check     = indexShortOffAddr happyTable off_i+		| otherwise = indexShortOffAddr happyDefActions st++{-# LINE 127 "templates/GenericTemplate.hs" #-}+++indexShortOffAddr (HappyA# arr) off =+#if __GLASGOW_HASKELL__ > 500+	Happy_GHC_Exts.narrow16Int# i+#elif __GLASGOW_HASKELL__ == 500+	Happy_GHC_Exts.intToInt16# i+#else+	Happy_GHC_Exts.iShiftRA# (Happy_GHC_Exts.iShiftL# i 16#) 16#+#endif+  where+#if __GLASGOW_HASKELL__ >= 503+	i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)+#else+	i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.shiftL# high 8#) low)+#endif+	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 =+        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++happyMonad2Reduce k nt fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++             off    = indexShortOffAddr happyGotoOffsets st1+             off_i  = (off Happy_GHC_Exts.+# nt)+             new_state = indexShortOffAddr happyTable off_i+++++happyDrop 0# l = l+happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t++happyDropStk 0# l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction+++happyGoto nt j tk st = +   {- nothing -}+   happyDoAction j tk new_state+   where off    = indexShortOffAddr happyGotoOffsets st+	 off_i  = (off Happy_GHC_Exts.+# nt)+ 	 new_state = indexShortOffAddr happyTable off_i+++++-----------------------------------------------------------------------------+-- Error recovery (0# is the error token)++-- parse error if we are in recovery and we fail again+happyFail  0# tk old_st _ stk =+--	trace "failing" $ +    	happyError_ tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  0# tk old_st (HappyCons ((action)) (sts)) +						(saved_tok `HappyStk` _ `HappyStk` stk) =+--	trace ("discarding state, depth " ++ show (length stk))  $+	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (action) sts stk =+--      trace "entering error recovery" $+	happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)++-- Internal happy errors:++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 #-} 
idris.cabal view
@@ -1,5 +1,5 @@ Name:           idris-Version:        0.1.3.1+Version:        0.1.4 License:        BSD3 License-file:   LICENSE Author:         Edwin Brady@@ -42,12 +42,12 @@                          Idris.Compiler, Idris.LambdaLift, Idris.PMComp,                           Idris.MakeTerm, Idris.Prover, Idris.Fontlock,                          Idris.ConTrans, Idris.SCTrans, Idris.RunIO,-                         Idris.SimpleCase+                         Idris.SimpleCase, Idris.Serialise         Other-modules:   Paths_idris          Build-depends:   base>=4 && <5, containers, array, parsec, mtl,-                         readline, ivor>=0.1.10, directory, haskell98,-                         old-time, old-locale, binary, epic>=0.1.3+                         readline, ivor>=0.1.11, directory, haskell98,+                         old-time, old-locale, binary, epic>=0.1.4                                          Extensions:      MagicHash, UndecidableInstances, OverlappingInstances @@ -58,7 +58,7 @@                               Idris.Compiler, Idris.LambdaLift, Idris.PMComp,                                Idris.MakeTerm, Idris.Prover, Idris.Fontlock,                               Idris.ConTrans, Idris.SCTrans, Idris.RunIO,-                              Idris.SimpleCase+                              Idris.SimpleCase, Idris.Serialise                 Build-depends:   base>=4 && <5, containers, array, parsec, mtl,                                 readline, ivor>=0.1.10, directory, haskell98,
lib/io.idr view
@@ -33,54 +33,60 @@ fapp fNil fxs = fxs; fapp (fCons fx fxs) fys = fCons fx (fapp fxs fys); -data IO : # -> #;+namespace IO { -data Command : # where-    PutStr : String -> Command-  | GetStr : Command-  | Fork : {A:#} -> A -> Command-  | NewLock : Int -> Command-  | DoLock : Lock -> Command-  | DoUnlock : Lock -> Command-  | NewRef : Command-  | ReadRef : # -> Int -> Command-  | WriteRef : {A:#} -> Int -> A -> Command-  | While : (IO Bool) -> (IO ()) -> Command-  | WhileAcc : {A:#} -> (IO Bool) -> A -> (A -> IO A) -> Command-  | Within : Int -> (IO A) -> (IO A) -> Command-  | IOLift : {A:#} -> (IO A) -> Command -  | Foreign : (f:ForeignFun) -> -	      (args:FArgList (f_args f)) -> Command;+  data IO : # -> #; -Response : Command -> #;-Response (PutStr s) = ();-Response GetStr = String;-Response (Fork proc) = ();-Response (NewLock i) = Lock;-Response (DoLock l) = ();-Response (DoUnlock l) = ();-Response NewRef = Int;-Response (ReadRef A i) = A;-Response (WriteRef i val) = ();-Response (While test body) = ();-Response (WhileAcc {A} test acc body) = A;-Response (Within {A} time body failure) = A;-Response (IOLift {A} f) = A;-Response (Foreign t args) = i_ftype (f_retType t);+  data Command : # where+      PutStr : String -> Command+    | GetStr : Command+    | Fork : {A:#} -> A -> Command+    | NewLock : Int -> Command+    | DoLock : Lock -> Command+    | DoUnlock : Lock -> Command+    | NewRef : Command+    | ReadRef : # -> Int -> Command+    | WriteRef : {A:#} -> Int -> A -> Command+    | While : (IO Bool) -> (IO ()) -> Command+    | WhileAcc : {A:#} -> (IO Bool) -> A -> (A -> IO A) -> Command+    | Within : Int -> (IO A) -> (IO A) -> Command+    | IOLift : {A:#} -> (IO A) -> Command +    | Foreign : (f:ForeignFun) -> +  	        (args:FArgList (f_args f)) -> Command; -data IO : # -> # where-   IOReturn : A -> (IO A)- | IODo : (c:Command) -> ((Response c) -> (IO A)) -> (IO A);---  | IOError : String -> (IO A);+  Response : Command -> #;+  Response (PutStr s) = ();+  Response GetStr = String;+  Response (Fork proc) = ();+  Response (NewLock i) = Lock;+  Response (DoLock l) = ();+  Response (DoUnlock l) = ();+  Response NewRef = Int;+  Response (ReadRef A i) = A;+  Response (WriteRef i val) = ();+  Response (While test body) = ();+  Response (WhileAcc {A} test acc body) = A;+  Response (Within {A} time body failure) = A;+  Response (IOLift {A} f) = A;+  Response (Foreign t args) = i_ftype (f_retType t); -data IORef A = MkIORef Int; -bind : (IO a) -> (a -> (IO b)) -> (IO b);-bind (IOReturn a) k = k a;--- bind (IODo (IOLift {A} c) p) k = bind (bind c p) k;-bind (IODo c p) k = IODo c (\x => (bind (p x) k));--- bind (IOError str) k = IOError str;+  data IO : # -> # where+     IOReturn : A -> (IO A)+   | IODo : (c:Command) -> ((Response c) -> (IO A)) -> (IO A); +  data IORef A = MkIORef Int;++  bind : (IO a) -> (a -> (IO b)) -> (IO b);+  bind (IOReturn a) k = k a;+  -- bind (IODo (IOLift {A} c) p) k = bind (bind c p) k;+  bind (IODo c p) k = IODo c (\x => (bind (p x) k));+  -- bind (IOError str) k = IOError str;++  ret : a -> IO a;+  ret x = IOReturn x;+}+ kbind : (IO a) -> (a -> b) -> (IO b); kbind (IOReturn a) k = IOReturn (k a); kbind (IODo c p) k = IODo c (\x => (kbind (p x) k));@@ -108,10 +114,10 @@ ioReturn x = IOReturn x; -} -ioApp : IO (a -> b) -> IO a -> IO b;-ioApp {a} {b} fn arg = do { f : (a->b) <- fn; -- grr+apply : IO (a -> b) -> IO a -> IO b;+apply {a} {b} fn arg = do { f : (a->b) <- fn; -- grr                             x <- arg;-		            return (f x); };+              		    return (f x); };  data IOException = IOExcept String;  @@ -188,23 +194,23 @@  mkFType' : (List FType) -> FType -> #   %nocg; -mkFType' Nil ret = IO (i_ftype ret);-mkFType' (Cons t ts) ret = #((i_ftype t) -> (mkFType' ts ret));+mkFType' Nil rt = IO (i_ftype rt);+mkFType' (Cons t ts) rt = #((i_ftype t) -> (mkFType' ts rt));  mkFType : ForeignFun -> #    %nocg;-mkFType (FFun fn args ret) = mkFType' args ret;+mkFType (FFun fn args rt) = mkFType' args rt;  mkFDef : String -> (ts:List FType) -> (xs:List FType) -> (FArgList xs) ->-	 (ret:FType) -> (mkFType' ts ret)   %nocg;-mkFDef nm Nil accA fs ret -   = IODo (Foreign (FFun nm accA ret) fs)+	 (rt:FType) -> (mkFType' ts rt)   %nocg;+mkFDef nm Nil accA fs rt +   = IODo (Foreign (FFun nm accA rt) fs) 				 (\a => (IOReturn a));-mkFDef nm (Cons t ts) accA fs ret +mkFDef nm (Cons t ts) accA fs rt     = \x:i_ftype t => mkFDef nm ts (app accA (Cons t Nil)) -				   (fapp fs (fCons x fNil)) ret;+				   (fapp fs (fCons x fNil)) rt;  mkForeign : (f:ForeignFun) -> (mkFType f)   %nocg;-mkForeign (FFun fn args ret) = mkFDef fn args Nil fNil ret;+mkForeign (FFun fn args rt) = mkFDef fn args Nil fNil rt;  _isNull = mkForeign (FFun "isNull" (Cons FPtr Nil) FInt) %eval; 
lib/prelude.idr view
@@ -42,6 +42,7 @@ include "either.idr"; include "tactics.idr"; include "vect.idr";+include "string.idr";  -- Function composition