diff --git a/README b/README
--- a/README
+++ b/README
@@ -45,6 +45,8 @@
 
 Changes
 
+0.3.0 ECMA-262 edition 5 compliance.  Required adding JSFunctionExpression and JSPropertyAccessor to the AST.
+
 0.2.2 Heading toward compliance with edition 5. Trailing commas allowed in array literals too.
 
 0.2.1 Allow trailing comma in object literal
diff --git a/dist/build/Language/JavaScript/Parser/Grammar5.hs b/dist/build/Language/JavaScript/Parser/Grammar5.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/Language/JavaScript/Parser/Grammar5.hs
@@ -0,0 +1,3616 @@
+{-# OPTIONS_GHC -w #-}
+{-# OPTIONS -fglasgow-exts -cpp #-}
+module Language.JavaScript.Parser.Grammar5 (
+    parseProgram
+  , parseLiteral
+  , parsePrimaryExpression
+  , parseStatement
+  ) where
+
+import Control.Monad.Error.Class (throwError)
+import Data.Char
+import Language.JavaScript.Parser.Lexer
+import Language.JavaScript.Parser.ParserMonad
+import Language.JavaScript.Parser.SrcLocation
+import qualified Language.JavaScript.Parser.AST as AST
+import qualified Data.Array as Happy_Data_Array
+import qualified GHC.Exts as Happy_GHC_Exts
+
+-- parser produced by Happy Version 1.18.6
+
+newtype HappyAbsSyn  = HappyAbsSyn HappyAny
+#if __GLASGOW_HASKELL__ >= 607
+type HappyAny = Happy_GHC_Exts.Any
+#else
+type HappyAny = forall a . a
+#endif
+happyIn7 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn7 #-}
+happyOut7 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut7 #-}
+happyIn8 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn8 #-}
+happyOut8 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut8 #-}
+happyIn9 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn9 #-}
+happyOut9 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut9 #-}
+happyIn10 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn10 #-}
+happyOut10 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut10 #-}
+happyIn11 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn11 #-}
+happyOut11 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut11 #-}
+happyIn12 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn12 #-}
+happyOut12 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut12 #-}
+happyIn13 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn13 #-}
+happyOut13 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut13 #-}
+happyIn14 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn14 #-}
+happyOut14 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut14 #-}
+happyIn15 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn15 #-}
+happyOut15 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut15 #-}
+happyIn16 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn16 #-}
+happyOut16 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut16 #-}
+happyIn17 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn17 #-}
+happyOut17 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut17 #-}
+happyIn18 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn18 #-}
+happyOut18 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut18 #-}
+happyIn19 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn19 #-}
+happyOut19 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut19 #-}
+happyIn20 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn20 #-}
+happyOut20 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut20 #-}
+happyIn21 :: ([ AST.JSNode ]) -> (HappyAbsSyn )
+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn21 #-}
+happyOut21 :: (HappyAbsSyn ) -> ([ AST.JSNode ])
+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut21 #-}
+happyIn22 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn22 #-}
+happyOut22 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut22 #-}
+happyIn23 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn23 #-}
+happyOut23 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut23 #-}
+happyIn24 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn24 #-}
+happyOut24 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut24 #-}
+happyIn25 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn25 #-}
+happyOut25 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut25 #-}
+happyIn26 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn26 #-}
+happyOut26 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut26 #-}
+happyIn27 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn27 #-}
+happyOut27 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut27 #-}
+happyIn28 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn28 #-}
+happyOut28 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut28 #-}
+happyIn29 :: ([[AST.JSNode]]) -> (HappyAbsSyn )
+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn29 #-}
+happyOut29 :: (HappyAbsSyn ) -> ([[AST.JSNode]])
+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut29 #-}
+happyIn30 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn30 #-}
+happyOut30 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut30 #-}
+happyIn31 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn31 #-}
+happyOut31 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut31 #-}
+happyIn32 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn32 #-}
+happyOut32 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut32 #-}
+happyIn33 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn33 #-}
+happyOut33 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut33 #-}
+happyIn34 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn34 #-}
+happyOut34 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut34 #-}
+happyIn35 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn35 #-}
+happyOut35 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut35 #-}
+happyIn36 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn36 #-}
+happyOut36 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut36 #-}
+happyIn37 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn37 #-}
+happyOut37 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut37 #-}
+happyIn38 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn38 #-}
+happyOut38 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut38 #-}
+happyIn39 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn39 #-}
+happyOut39 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut39 #-}
+happyIn40 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn40 #-}
+happyOut40 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut40 #-}
+happyIn41 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn41 #-}
+happyOut41 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut41 #-}
+happyIn42 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn42 #-}
+happyOut42 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut42 #-}
+happyIn43 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn43 #-}
+happyOut43 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut43 #-}
+happyIn44 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn44 #-}
+happyOut44 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut44 #-}
+happyIn45 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn45 #-}
+happyOut45 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut45 #-}
+happyIn46 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn46 #-}
+happyOut46 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut46 #-}
+happyIn47 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn47 #-}
+happyOut47 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut47 #-}
+happyIn48 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn48 #-}
+happyOut48 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut48 #-}
+happyIn49 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn49 #-}
+happyOut49 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut49 #-}
+happyIn50 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn50 #-}
+happyOut50 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut50 #-}
+happyIn51 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn51 #-}
+happyOut51 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut51 #-}
+happyIn52 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn52 #-}
+happyOut52 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut52 #-}
+happyIn53 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn53 #-}
+happyOut53 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut53 #-}
+happyIn54 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn54 #-}
+happyOut54 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut54 #-}
+happyIn55 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn55 #-}
+happyOut55 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut55 #-}
+happyIn56 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn56 #-}
+happyOut56 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut56 #-}
+happyIn57 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn57 #-}
+happyOut57 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut57 #-}
+happyIn58 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn58 #-}
+happyOut58 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut58 #-}
+happyIn59 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn59 #-}
+happyOut59 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut59 #-}
+happyIn60 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn60 #-}
+happyOut60 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut60 #-}
+happyIn61 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn61 #-}
+happyOut61 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut61 #-}
+happyIn62 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn62 #-}
+happyOut62 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut62 #-}
+happyIn63 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn63 #-}
+happyOut63 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut63 #-}
+happyIn64 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn64 #-}
+happyOut64 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut64 #-}
+happyIn65 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn65 #-}
+happyOut65 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut65 #-}
+happyIn66 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn66 #-}
+happyOut66 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut66 #-}
+happyIn67 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn67 #-}
+happyOut67 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut67 #-}
+happyIn68 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn68 #-}
+happyOut68 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut68 #-}
+happyIn69 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn69 #-}
+happyOut69 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut69 #-}
+happyIn70 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn70 #-}
+happyOut70 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut70 #-}
+happyIn71 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn71 #-}
+happyOut71 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut71 #-}
+happyIn72 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn72 #-}
+happyOut72 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut72 #-}
+happyIn73 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn73 #-}
+happyOut73 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut73 #-}
+happyIn74 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn74 #-}
+happyOut74 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut74 #-}
+happyIn75 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn75 #-}
+happyOut75 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut75 #-}
+happyIn76 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn76 #-}
+happyOut76 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut76 #-}
+happyIn77 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn77 #-}
+happyOut77 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut77 #-}
+happyIn78 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn78 #-}
+happyOut78 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut78 #-}
+happyIn79 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn79 #-}
+happyOut79 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut79 #-}
+happyIn80 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn80 #-}
+happyOut80 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut80 #-}
+happyIn81 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn81 #-}
+happyOut81 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut81 #-}
+happyIn82 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn82 #-}
+happyOut82 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut82 #-}
+happyIn83 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn83 #-}
+happyOut83 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut83 #-}
+happyIn84 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn84 #-}
+happyOut84 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut84 #-}
+happyIn85 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn85 #-}
+happyOut85 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut85 #-}
+happyIn86 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn86 #-}
+happyOut86 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut86 #-}
+happyIn87 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn87 #-}
+happyOut87 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut87 #-}
+happyIn88 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn88 #-}
+happyOut88 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut88 #-}
+happyIn89 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn89 #-}
+happyOut89 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut89 #-}
+happyIn90 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn90 #-}
+happyOut90 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut90 #-}
+happyIn91 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn91 #-}
+happyOut91 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut91 #-}
+happyIn92 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn92 #-}
+happyOut92 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut92 #-}
+happyIn93 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn93 #-}
+happyOut93 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut93 #-}
+happyIn94 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn94 #-}
+happyOut94 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut94 #-}
+happyIn95 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn95 #-}
+happyOut95 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut95 #-}
+happyIn96 :: ([AST.JSNode]) -> (HappyAbsSyn )
+happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn96 #-}
+happyOut96 :: (HappyAbsSyn ) -> ([AST.JSNode])
+happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut96 #-}
+happyIn97 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn97 #-}
+happyOut97 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut97 #-}
+happyIn98 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn98 #-}
+happyOut98 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut98 #-}
+happyIn99 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn99 #-}
+happyOut99 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut99 #-}
+happyIn100 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn100 #-}
+happyOut100 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut100 #-}
+happyIn101 :: (AST.JSNode) -> (HappyAbsSyn )
+happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn101 #-}
+happyOut101 :: (HappyAbsSyn ) -> (AST.JSNode)
+happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut101 #-}
+happyInTok :: (Token) -> (HappyAbsSyn )
+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyInTok #-}
+happyOutTok :: (HappyAbsSyn ) -> (Token)
+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOutTok #-}
+
+
+happyActOffsets :: HappyAddr
+happyActOffsets = HappyA# "\x2d\x1b\xa4\x02\x9e\x1d\xf6\x1a\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x00\x00\x00\x00\x4f\x01\x00\x00\x49\x01\x1d\x00\xcc\x01\x00\x00\xee\x00\xb9\x01\xe9\x00\xab\x03\x9d\x01\x77\x02\x70\x02\x6b\x02\x6a\x02\x13\x01\x00\x00\x00\x00\x6f\x02\x25\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\xc1\x1c\x16\x18\x66\x1d\x37\x00\x65\x00\x37\x00\x6e\x02\x66\x1d\xf6\x1a\x00\x00\x49\x02\x65\x00\x00\x00\x48\x02\x82\x1d\x00\x00\x64\x1b\x00\x00\x44\x02\x00\x00\x66\x1d\x00\x00\x41\x02\x66\x1d\x65\x00\x66\x1d\x43\x02\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x02\x00\x00\xf1\x1d\x17\x02\x00\x00\x00\x00\x17\x02\xbf\x1a\x00\x00\x65\x00\x3d\x02\x37\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x5b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x1d\x66\x1d\x00\x00\x00\x00\x51\x02\xca\x01\x00\x00\x00\x00\xfc\xff\x3e\x19\x57\x02\x66\x1d\x00\x00\xc5\x01\x07\x01\x00\x00\x66\x1d\x00\x00\x2f\x1d\x11\x02\x00\x00\x00\x00\x00\x00\x54\x02\xc3\x01\x00\x00\x54\x02\xcb\x00\x4f\x02\x47\x02\x46\x02\x00\x00\x07\x19\xca\x17\xd0\x18\x65\x00\xd0\x18\x99\x18\x66\x1d\x88\x1a\x42\x02\x21\x02\xaf\x00\x20\x02\x82\x1d\x3f\x02\x62\x18\x1d\x02\x3c\x02\x66\x1d\x3a\x02\x12\x02\x66\x1d\x65\x00\x66\x1d\x0e\x02\x0c\x02\x7b\x00\x8a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x00\x00\x00\x00\x66\x1d\x00\x00\x00\x00\x00\x00\x19\x1e\x66\x1d\xf8\x1c\x00\x00\x19\x1e\x66\x1d\x88\x1a\x00\x00\x2b\x00\x00\x00\x7d\x17\x2e\x17\xca\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x00\xee\x00\xa4\x01\xa4\x01\xa4\x01\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xab\x03\xab\x03\xab\x03\xab\x03\x9d\x01\x26\x02\x22\x02\x24\x02\x23\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x53\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x01\x02\x06\x00\xe9\x00\x39\x03\x7a\x01\x1b\x02\x1a\x02\x13\x02\x15\x02\x0c\x01\x00\x00\x00\x00\x14\x02\x10\x02\x65\x00\xc6\x00\x00\x00\x00\x00\xb6\x00\xdf\x16\x00\x00\xfc\xff\x00\x00\x00\x00\xf1\x01\xf2\x01\x00\x00\x00\x00\x66\x1d\xa9\x00\xa1\x00\xef\x01\xee\x01\x66\x1d\xc8\x1d\x00\x00\xb8\x00\x74\x00\x00\x00\x8e\x00\xed\x01\x69\x00\xec\x01\x00\x00\x00\x00\x00\x00\xe4\x01\x65\x00\x88\x1a\x88\x1a\x00\x00\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\xe1\x01\x51\x1a\xfe\x01\xaf\x01\xce\x01\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x66\x1d\x00\x00\x1c\x1c\x00\x00\x00\x00\x66\x1d\x00\x00\x66\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x14\x00\x1d\x00\x00\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xab\x03\xab\x03\xab\x03\xab\x03\x7a\x01\xff\x01\xfd\x01\xfa\x01\xf7\x01\xfb\x01\x00\x00\xf9\x01\xf8\x01\x66\x1d\x66\x1d\x65\x00\x00\x00\x66\x1d\xf6\x01\xbc\x01\x00\x00\x00\x00\xcd\x01\x75\x00\x00\x00\xe6\x01\x00\x00\xc0\x01\xcb\x01\x1a\x1a\x65\x00\xc6\x01\x1a\x1a\xc4\x01\x1a\x1a\xb1\x01\x1a\x1a\x00\x00\x1a\x1a\x00\x00\xaa\x01\x1a\x1a\xbe\x01\x00\x00\xb4\x01\x66\x1d\xe8\x00\x00\x00\x66\x1d\x00\x00\xe3\x19\x00\x00\x00\x00\x00\x00\xab\x01\x0e\x00\x66\x1d\x66\x1d\xe3\x19\xa0\x01\x00\x00\x00\x00\x00\x00\x80\x01\xe3\x19\x66\x1d\x00\x00\x2e\x00\x00\x00\x7b\x01\x00\x00\x99\x01\x5d\x01\x00\x00\xac\x19\x7c\x01\x00\x00\x78\x01\x00\x00\x00\x00\x76\x01\x00\x00\x00\x00\x00\x00\x74\x01\x56\x01\x75\x19\xd1\x00\x75\x19\x51\x01\x00\x00\x75\x19\x00\x00\x75\x19\x75\x19\x00\x00\x75\x19\x00\x00\x00\x00\x00\x00\x00\x00"#
+
+happyGotoOffsets :: HappyAddr
+happyGotoOffsets = HappyA# "\x35\x02\xb2\x01\xcc\x17\x48\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\x5f\x01\x00\x00\x4a\x01\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x16\x9c\x16\x80\x16\x61\x16\x45\x16\x29\x16\xf4\x0a\x81\x03\xc7\x0d\xe1\x00\x8f\x00\xdf\x00\x47\x01\x0a\x16\xf1\x08\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\xd7\x16\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x96\x0d\x00\x00\x0e\x01\xee\x15\x51\x00\xd2\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x09\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x02\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x0d\x34\x0d\x00\x00\x00\x00\x05\x01\x41\x01\x00\x00\x00\x00\x06\x01\x86\x04\x00\x00\x03\x0d\x00\x00\x3f\x01\x28\x01\x00\x00\xd2\x0c\x00\x00\xc1\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x01\x39\x01\x00\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x08\x00\x00\xb2\x00\x4d\x00\x96\x00\x24\x01\xb3\x15\x43\x08\x00\x00\x00\x00\x02\x00\x00\x00\xd7\x16\x00\x00\x50\x03\x00\x00\x00\x00\xa1\x0c\x00\x00\xe3\x00\x97\x15\x47\x00\x7b\x15\x00\x00\x00\x00\x00\x00\x48\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x10\xee\x0f\xcc\x10\x23\x11\x7a\x11\xc8\x11\x0e\x12\x12\x13\xf0\x12\xd1\x12\xaf\x12\x76\x14\x57\x14\x35\x14\x16\x14\xf4\x13\xd5\x13\xcd\x14\xae\x14\x92\x14\x05\x15\xe9\x14\x5c\x15\x40\x15\x24\x15\x00\x00\x00\x00\xc1\x0f\x00\x00\x00\x00\x00\x00\x86\x01\x70\x0c\x43\x0c\x00\x00\x5e\x01\x12\x0c\xec\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x07\x00\x00\x36\x01\x00\x00\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x94\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x67\x0f\xde\x16\x00\x00\x0f\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x3e\x07\xe7\x06\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\x87\x00\x9f\x09\x78\x00\x00\x00\x00\x00\x8f\x0a\x38\x0f\x0a\x0f\xa0\x10\xf7\x10\x4e\x11\xa5\x11\xeb\x11\x90\x12\x6e\x12\x4f\x12\x2d\x12\xb3\x13\x94\x13\x72\x13\x53\x13\x31\x13\xdc\x0e\xb4\x0b\x83\x0b\x00\x00\xae\x0e\x00\x00\x00\x00\x81\x0e\x00\x00\x54\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x0b\x5c\x0a\x07\x00\x00\x00\x25\x0e\x00\x00\x0a\x00\x00\x00\x00\x00\xe4\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\xd7\x01\x34\x00\x00\x00\x79\x01\x00\x00\x1b\x01\x00\x00\x93\x02\x00\x00\xbd\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x08\x00\x75\x10\xdc\x00\x00\x00\x21\x0b\x00\x00\x90\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x0a\xf7\x0d\x39\x06\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x05\xf6\x09\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\x2f\x04\xb4\xff\xd8\x03\x00\x00\x00\x00\x8b\x05\x00\x00\x34\x05\xdd\x04\x00\x00\xdd\x04\x00\x00\x00\x00\x00\x00\x00\x00"#
+
+happyDefActions :: HappyAddr
+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xeb\xff\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf5\xff\xaa\xff\xec\xff\xea\xff\xe9\xff\xa5\xff\x9b\xff\x9a\xff\x99\xff\x96\xff\x8c\xff\x86\xff\x82\xff\x81\xff\x74\xff\x6a\xff\x66\xff\x62\xff\x5e\xff\x5a\xff\x56\xff\x52\xff\x4c\xff\x21\xff\x00\x00\x44\xff\x42\xff\x41\xff\x43\xff\x40\xff\x3f\xff\x3e\xff\x3d\xff\x3c\xff\x3b\xff\x3a\xff\x38\xff\x39\xff\x37\xff\x36\xff\x35\xff\xa9\xff\x22\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x00\x00\xfa\xff\xfa\xff\x00\x00\x00\x00\xf2\xff\x00\x00\xf3\xfe\xe6\xff\x00\x00\x00\x00\xf4\xff\xfa\xff\xe5\xff\x00\x00\xed\xff\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\xf1\xff\xf0\xff\xef\xff\xee\xff\x00\x00\xec\xff\x00\x00\x00\x00\xe9\xfe\xe8\xfe\x00\x00\xee\xfe\xeb\xfe\xf3\xfe\x00\x00\x00\x00\xea\xfe\xac\xff\xad\xff\xe4\xff\xae\xff\x00\x00\xb3\xff\x00\x00\xb6\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xd9\xff\xd8\xff\xd7\xff\xd6\xff\xd5\xff\xe6\xff\xd3\xff\xd2\xff\xd1\xff\xd0\xff\xcf\xff\xce\xff\xe5\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x99\xff\x94\xff\x28\xff\xfa\xff\x2c\xff\x93\xff\x00\x00\x00\x00\x02\xff\x00\x00\x10\xff\xfa\xff\xa5\xff\xa4\xff\x00\x00\xf4\xfe\x45\xff\x00\x00\x95\xff\xf9\xfe\x14\xff\xfa\xff\xfa\xff\x12\xff\xfa\xff\x00\x00\xf7\xff\xf6\xff\xec\xff\x30\xff\x00\x00\xb6\xff\xe3\xff\xe0\xff\xdf\xff\xde\xff\xdc\xff\xdb\xff\xf2\xff\xd6\xff\xd5\xff\xd3\xff\xd0\xff\xf4\xff\xce\xff\xcc\xff\xed\xff\xca\xff\xf3\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\x00\x00\x00\x00\xbb\xff\xb8\xff\xc1\xff\x8e\xff\x8d\xff\x8f\xff\x90\xff\x91\xff\x92\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\x97\xff\x00\x00\x4d\xff\x4e\xff\xa2\xff\x00\x00\x00\x00\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\x03\xff\x00\x00\xa7\xff\xd4\xff\xcd\xff\x00\x00\x9d\xff\x9f\xff\x00\x00\xa0\xff\x51\xff\x89\xff\x8a\xff\x8b\xff\x87\xff\x88\xff\x84\xff\x83\xff\x85\xff\x7c\xff\x7b\xff\x7f\xff\x7d\xff\x80\xff\x7e\xff\x72\xff\x70\xff\x73\xff\x71\xff\x69\xff\x65\xff\x61\xff\x5d\xff\x59\xff\x00\x00\x4b\xff\xbc\xff\xb7\xff\xc0\xff\x00\x00\xbf\xff\x2f\xff\x33\xff\xe8\xff\x11\xff\x2d\xff\x00\x00\x13\xff\x00\x00\x99\xff\x7a\xff\x6f\xff\x68\xff\x64\xff\x60\xff\x5c\xff\x58\xff\x54\xff\x50\xff\x4a\xff\x46\xff\x00\x00\x00\x00\x00\x00\xa6\xff\x0f\xff\x00\x00\x00\x00\x32\xff\x01\xff\xfe\xfe\x00\xff\x00\x00\x00\x00\x2e\xff\x27\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\x00\x00\xf2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xb2\xff\xb4\xff\xb1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x24\xff\xfa\xfe\x00\x00\xfd\xfe\xff\xfe\x31\xff\x00\x00\x00\x00\x25\xff\x00\x00\x2a\xff\x47\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\xff\x00\x00\xb9\xff\xbd\xff\x00\x00\xa1\xff\x00\x00\x9e\xff\xa8\xff\x9c\xff\x55\xff\xba\xff\xbe\xff\x00\x00\x00\x00\x99\xff\x4f\xff\x75\xff\x78\xff\x76\xff\x79\xff\x77\xff\x6d\xff\x6b\xff\x6e\xff\x6c\xff\x67\xff\x63\xff\x5f\xff\x5b\xff\x57\xff\x00\x00\x49\xff\x48\xff\x00\x00\x00\x00\x47\xff\x00\x00\x26\xff\x00\x00\x1c\xff\x1e\xff\x1b\xff\x0d\xff\x08\xff\x00\x00\x19\xff\xfa\xff\xab\xff\x00\x00\x00\x00\xef\xfe\x00\x00\x00\x00\xef\xfe\x00\x00\xef\xfe\x00\x00\xf0\xfe\xed\xfe\xef\xfe\xf1\xfe\x00\x00\xef\xfe\x00\x00\x0e\xff\x00\x00\x00\x00\x00\x00\x0a\xff\x00\x00\x20\xff\x00\x00\x1d\xff\x23\xff\x29\xff\x00\x00\x00\x00\x47\xff\x00\x00\x00\x00\xfa\xff\x1a\xff\x16\xff\x53\xff\x00\x00\x00\x00\x47\xff\x1f\xff\x00\x00\x09\xff\x08\xff\x0c\xff\x00\x00\x00\x00\xfc\xfe\xef\xfe\x00\x00\xf6\xfe\x00\x00\xec\xfe\xf7\xfe\x00\x00\xf8\xfe\xf5\xfe\xb0\xff\x00\x00\x00\x00\x05\xff\x00\x00\x06\xff\x00\x00\x15\xff\x00\x00\x18\xff\x00\x00\x07\xff\x0b\xff\x04\xff\xfb\xfe\xaf\xff\x17\xff"#
+
+happyCheck :: HappyAddr
+happyCheck = HappyA# "\xff\xff\x4d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x08\x00\x0a\x00\x08\x00\x08\x00\x0d\x00\x08\x00\x02\x00\x08\x00\x0c\x00\x12\x00\x13\x00\x14\x00\x02\x00\x08\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x08\x00\x1f\x00\x02\x00\x21\x00\x37\x00\x23\x00\x29\x00\x25\x00\x00\x00\x27\x00\x0c\x00\x29\x00\x02\x00\x2b\x00\x02\x00\x2d\x00\x33\x00\x02\x00\x30\x00\x04\x00\x25\x00\x08\x00\x34\x00\x35\x00\x36\x00\x01\x00\x25\x00\x39\x00\x08\x00\x08\x00\x11\x00\x38\x00\x37\x00\x21\x00\x40\x00\x41\x00\x42\x00\x3d\x00\x3c\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x21\x00\x43\x00\x25\x00\x08\x00\x4f\x00\x50\x00\x51\x00\x4d\x00\x02\x00\x08\x00\x55\x00\x56\x00\x57\x00\x08\x00\x58\x00\x5a\x00\x58\x00\x5c\x00\x59\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x59\x00\x0a\x00\x4d\x00\x02\x00\x0d\x00\x36\x00\x3b\x00\x58\x00\x3d\x00\x12\x00\x13\x00\x14\x00\x3d\x00\x23\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x02\x00\x1f\x00\x48\x00\x21\x00\x3a\x00\x23\x00\x3c\x00\x25\x00\x00\x00\x27\x00\x3a\x00\x29\x00\x3c\x00\x2b\x00\x3a\x00\x2d\x00\x3c\x00\x25\x00\x30\x00\x02\x00\x4c\x00\x4d\x00\x34\x00\x35\x00\x36\x00\x00\x00\x08\x00\x39\x00\x25\x00\x25\x00\x36\x00\x21\x00\x2f\x00\x08\x00\x40\x00\x41\x00\x42\x00\x3d\x00\x02\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x02\x00\x37\x00\x48\x00\x4f\x00\x50\x00\x51\x00\x3d\x00\x00\x00\x25\x00\x55\x00\x56\x00\x57\x00\x3f\x00\x02\x00\x5a\x00\x08\x00\x5c\x00\x48\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x25\x00\x0a\x00\x02\x00\x3a\x00\x0d\x00\x3c\x00\x02\x00\x02\x00\x25\x00\x12\x00\x13\x00\x14\x00\x4b\x00\x24\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x25\x00\x1f\x00\x25\x00\x21\x00\x00\x00\x23\x00\x00\x00\x25\x00\x08\x00\x27\x00\x36\x00\x29\x00\x08\x00\x2b\x00\x08\x00\x2d\x00\x25\x00\x3d\x00\x30\x00\x36\x00\x25\x00\x25\x00\x34\x00\x35\x00\x36\x00\x23\x00\x3d\x00\x39\x00\x48\x00\x0f\x00\x28\x00\x37\x00\x12\x00\x13\x00\x40\x00\x41\x00\x42\x00\x48\x00\x2f\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x1a\x00\x1b\x00\x1c\x00\x23\x00\x4f\x00\x50\x00\x51\x00\x03\x00\x28\x00\x05\x00\x55\x00\x56\x00\x57\x00\x2d\x00\x03\x00\x5a\x00\x05\x00\x5c\x00\x37\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x0a\x00\x1f\x00\x20\x00\x0d\x00\x4d\x00\x4e\x00\x24\x00\x00\x00\x12\x00\x13\x00\x14\x00\x4c\x00\x4d\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1f\x00\x00\x00\x21\x00\x15\x00\x23\x00\x00\x00\x25\x00\x00\x00\x27\x00\x3e\x00\x29\x00\x37\x00\x2b\x00\x00\x00\x2d\x00\x04\x00\x05\x00\x30\x00\x2f\x00\x08\x00\x09\x00\x34\x00\x35\x00\x36\x00\x04\x00\x05\x00\x39\x00\x10\x00\x08\x00\x09\x00\x52\x00\x53\x00\x54\x00\x40\x00\x41\x00\x42\x00\x10\x00\x15\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x08\x00\x09\x00\x1f\x00\x20\x00\x4f\x00\x50\x00\x51\x00\x24\x00\x1f\x00\x20\x00\x55\x00\x56\x00\x57\x00\x24\x00\x15\x00\x5a\x00\x25\x00\x5c\x00\x22\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x25\x00\x0a\x00\x0a\x00\x0b\x00\x0d\x00\x0d\x00\x0e\x00\x53\x00\x54\x00\x12\x00\x13\x00\x14\x00\x08\x00\x09\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x23\x00\x1f\x00\x23\x00\x21\x00\x23\x00\x23\x00\x04\x00\x25\x00\x23\x00\x27\x00\x01\x00\x29\x00\x28\x00\x2b\x00\x25\x00\x2d\x00\x0a\x00\x0b\x00\x30\x00\x0d\x00\x0e\x00\x01\x00\x34\x00\x35\x00\x36\x00\x01\x00\x02\x00\x39\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x40\x00\x41\x00\x42\x00\x18\x00\x19\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x01\x00\x02\x00\x01\x00\x02\x00\x4f\x00\x50\x00\x51\x00\x01\x00\x02\x00\x23\x00\x55\x00\x56\x00\x57\x00\x18\x00\x19\x00\x5a\x00\x23\x00\x5c\x00\x22\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x22\x00\x0a\x00\x16\x00\x17\x00\x0d\x00\x25\x00\x22\x00\x01\x00\x22\x00\x12\x00\x13\x00\x14\x00\x30\x00\x22\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x28\x00\x1f\x00\x01\x00\x21\x00\x01\x00\x23\x00\x02\x00\x25\x00\x06\x00\x27\x00\x04\x00\x29\x00\x07\x00\x2b\x00\x22\x00\x2d\x00\x08\x00\x38\x00\x30\x00\x09\x00\x25\x00\x0c\x00\x34\x00\x35\x00\x36\x00\x22\x00\x22\x00\x39\x00\x01\x00\x24\x00\x24\x00\x22\x00\x24\x00\x02\x00\x40\x00\x41\x00\x42\x00\x07\x00\x06\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x08\x00\x04\x00\x09\x00\x24\x00\x4f\x00\x50\x00\x51\x00\x06\x00\x08\x00\x07\x00\x55\x00\x56\x00\x57\x00\x09\x00\x24\x00\x5a\x00\x24\x00\x5c\x00\x22\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x04\x00\x0a\x00\x04\x00\x24\x00\x0d\x00\x04\x00\x24\x00\x24\x00\x04\x00\x12\x00\x13\x00\x14\x00\x04\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x04\x00\x1f\x00\x01\x00\x21\x00\x46\x00\x23\x00\x02\x00\x25\x00\x24\x00\x27\x00\x0c\x00\x29\x00\x04\x00\x2b\x00\x24\x00\x2d\x00\x22\x00\x24\x00\x30\x00\x4f\x00\x24\x00\x24\x00\x34\x00\x35\x00\x36\x00\x24\x00\x24\x00\x39\x00\x01\x00\x06\x00\x02\x00\x07\x00\x01\x00\x4f\x00\x40\x00\x41\x00\x42\x00\x08\x00\x04\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x09\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x32\x00\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x41\x00\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x5e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x10\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x5e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\x39\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\x38\x00\x39\x00\x10\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x38\x00\x39\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x04\x00\x05\x00\x35\x00\x36\x00\x08\x00\x09\x00\x39\x00\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x57\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x57\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x57\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\x57\x00\x26\x00\xff\xff\x28\x00\xff\xff\x2a\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x57\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\x57\x00\x27\x00\xff\xff\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\x57\x00\x28\x00\xff\xff\x2a\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\x28\x00\x57\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x57\x00\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\x28\x00\x57\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\x28\x00\x57\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\x28\x00\x57\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x57\x00\x29\x00\xff\xff\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x57\x00\x2b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x57\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\x57\x00\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\x57\x00\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x57\x00\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\x57\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x01\x00\x0a\x00\x04\x00\x05\x00\x0d\x00\xff\xff\x08\x00\x09\x00\xff\xff\x12\x00\x13\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x57\x00\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\x57\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x01\x00\x4f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\x28\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x01\x00\xff\xff\x4f\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\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x01\x00\x4e\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\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x01\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x04\x00\xff\xff\x4e\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\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x02\x00\xff\xff\x4e\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\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\x02\x00\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\x02\x00\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\x02\x00\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x20\x00\x3d\x00\x22\x00\x3f\x00\x24\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x20\x00\x3d\x00\x22\x00\x3f\x00\x24\x00\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x23\x00\xff\xff\x4e\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\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"#
+
+happyTable :: HappyAddr
+happyTable = HappyA# "\x00\x00\xd9\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xa5\x00\x0e\x00\x67\x00\x54\x01\x0f\x00\x68\x01\xd9\x00\x98\x00\xf5\x00\x10\x00\x11\x00\x12\x00\xd9\x00\x54\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xa5\x00\x1a\x00\xd9\x00\x1b\x00\xf6\x01\x1c\x00\x47\x01\x1d\x00\xd1\x01\x1e\x00\xf5\x00\x1f\x00\xd9\x00\x20\x00\xd9\x00\x21\x00\x48\x01\xd9\x00\x22\x00\xee\x01\xd6\x01\xaf\x01\x61\x00\x24\x00\x25\x00\x06\x00\xd0\x01\x26\x00\x68\x01\xbc\x01\xb0\x01\x7e\x01\xde\x01\x85\x01\x27\x00\x28\x00\x29\x00\xca\x01\x7f\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x88\x01\xc6\x01\xd1\x01\x98\x00\x30\x00\x31\x00\x32\x00\xf6\x00\x51\x01\x98\x00\x33\x00\x62\x00\x34\x00\x98\x00\x68\x00\xe9\x01\x68\x00\xb9\x01\x55\x01\xba\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x57\x01\x0e\x00\xf6\x00\xb4\x01\x0f\x00\x49\x00\x69\x01\x68\x00\x6a\x01\x10\x00\x11\x00\x12\x00\x4e\x00\x52\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x26\x01\x1a\x00\x59\x00\x1b\x00\x99\x00\x1c\x00\x9a\x00\x1d\x00\xc0\x01\x1e\x00\xac\x00\x1f\x00\x9a\x00\x20\x00\x99\x00\x21\x00\x9a\x00\xb5\x01\x22\x00\xb4\x01\xec\x01\xc4\x01\x61\x00\x24\x00\x25\x00\xaa\x00\x98\x00\x26\x00\x57\x01\xc2\x01\x49\x00\x27\x01\x7c\x01\xab\x00\x27\x00\x28\x00\x29\x00\x4e\x00\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x49\x00\xd9\x00\xc3\x01\x59\x00\x30\x00\x31\x00\x32\x00\x4e\x00\xad\x00\xb7\x01\x33\x00\x62\x00\x34\x00\xa5\x01\xd9\x00\xe0\x01\xae\x00\xb9\x01\x59\x00\xba\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5f\x01\x0e\x00\xd9\x00\xac\x00\x0f\x00\x9a\x00\x86\x01\xd9\x00\x60\x01\x10\x00\x11\x00\x12\x00\xaa\x01\xf3\xfe\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x67\x01\x1a\x00\x59\x01\x1b\x00\xaa\x00\x1c\x00\xad\x00\x1d\x00\xac\x01\x1e\x00\x49\x00\x1f\x00\xab\x00\x20\x00\xae\x00\x21\x00\x68\x01\x4e\x00\x22\x00\x49\x00\x87\x01\x2a\x01\x61\x00\x24\x00\x25\x00\xf5\x01\x4e\x00\x26\x00\x59\x00\xea\x00\xc6\x01\x61\x01\xeb\x00\xec\x00\x27\x00\x28\x00\x29\x00\x59\x00\x7c\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xef\x00\xf0\x00\xf1\x00\xdc\x01\x30\x00\x31\x00\x32\x00\x6e\x01\xc6\x01\x6f\x01\x33\x00\x62\x00\x34\x00\xdd\x01\xda\x00\xe2\x01\xdb\x00\xb9\x01\x9c\x00\xba\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xa9\x00\x0e\x00\xfc\x00\xfd\x00\x0f\x00\xd9\x01\xda\x01\xfa\x00\x2a\x01\x10\x00\x11\x00\x12\x00\xc3\x01\xc4\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x2b\x01\x1a\x00\x2d\x01\x1b\x00\x3e\x01\x1c\x00\x3f\x01\x1d\x00\x48\x01\x1e\x00\x49\x01\x1f\x00\x9c\x00\x20\x00\xa9\x00\x21\x00\x6a\x00\x6b\x00\x22\x00\xf3\x00\x6c\x00\x6d\x00\x61\x00\x24\x00\x25\x00\x6a\x00\x6b\x00\x26\x00\x4d\x01\x6c\x00\x6d\x00\x43\x01\x44\x01\x45\x01\x27\x00\x28\x00\x29\x00\x4e\x01\xf6\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x6c\x00\x00\x01\xf8\x00\xf9\x00\x30\x00\x31\x00\x32\x00\xfa\x00\xfc\x00\xfd\x00\x33\x00\x62\x00\x34\x00\xfa\x00\xfa\x00\xe5\x01\xf3\x01\xb9\x01\x9e\x00\xba\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xeb\x01\x0e\x00\x74\x01\x75\x01\x0f\x00\x76\x01\x77\x01\x63\x01\x64\x01\x10\x00\x11\x00\x12\x00\x6c\x00\x07\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xf8\x01\x1a\x00\xe7\x01\x1b\x00\xe8\x01\x1c\x00\xec\x01\x1d\x00\xe9\x01\x1e\x00\x06\x00\x1f\x00\xc6\x01\x20\x00\xf1\x01\x21\x00\xe0\x00\xe1\x00\x22\x00\xe2\x00\xe3\x00\xd7\x01\x61\x00\x24\x00\x25\x00\xa4\x01\xa5\x01\x26\x00\x60\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x27\x00\x28\x00\x29\x00\xed\x00\xee\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x06\x00\x2d\x01\x06\x00\xd9\x00\x30\x00\x31\x00\x32\x00\x06\x00\x2d\x01\xe2\x01\x33\x00\x62\x00\x34\x00\xed\x00\xee\x00\xb8\x01\xe5\x01\xb9\x01\x9e\x00\xba\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xe0\x01\x0e\x00\xf2\x00\xf3\x00\x0f\x00\xc0\x01\xb8\x01\x06\x00\xbc\x01\x10\x00\x11\x00\x12\x00\xc8\x01\xbf\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xc6\x01\x1a\x00\xc9\x01\x1b\x00\xce\x01\x1c\x00\xd9\x00\x1d\x00\x70\x01\x1e\x00\xcf\x01\x1f\x00\x71\x01\x20\x00\xac\x01\x21\x00\x72\x01\xa3\x01\x22\x00\x73\x01\xb2\x01\xa7\x01\x61\x00\x24\x00\x25\x00\xb3\x01\xb6\x01\x26\x00\x6c\x01\x5d\x01\x5e\x01\x9e\x00\x63\x01\x6d\x01\x27\x00\x28\x00\x29\x00\x71\x01\x70\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x72\x01\x84\x01\x73\x01\x7f\x01\x30\x00\x31\x00\x32\x00\xdc\x00\xde\x00\xdd\x00\x33\x00\x62\x00\x34\x00\xdf\x00\x95\x00\xbd\x01\x96\x00\xb9\x01\x9e\x00\xba\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xc9\xff\x0e\x00\xcb\xff\xa0\x00\x0f\x00\xcf\xff\xa5\x00\xa7\x00\xd8\xff\x10\x00\x11\x00\x12\x00\xfe\x00\xad\xff\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xac\xff\x1a\x00\x06\x00\x1b\x00\x2f\x01\x1c\x00\xd9\x00\x1d\x00\x53\x01\x1e\x00\x4b\x01\x1f\x00\x50\x01\x20\x00\x54\x01\x21\x00\x9e\x00\x95\x00\x22\x00\xff\xff\x96\x00\xa0\x00\x61\x00\x24\x00\x25\x00\xa5\x00\xa7\x00\x26\x00\x06\x00\xdc\x00\xd9\x00\xdd\x00\x06\x00\xff\xff\x27\x00\x28\x00\x29\x00\xde\x00\xfe\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x62\x00\x34\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x64\x00\x65\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x61\x00\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x46\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x52\x00\x00\x00\x00\x00\x33\x00\x62\x00\x34\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xe3\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x61\x00\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x62\x00\x34\x00\x78\x01\x79\x01\x00\x00\x00\x00\x7a\x01\x7b\x01\x69\x00\xa0\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x7c\x01\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x06\x00\x07\x00\x08\x00\xb0\x00\xb1\x00\x0b\x00\x0c\x00\xb2\x00\x6d\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x24\x00\x25\x00\x00\x00\xb4\x00\x26\x00\xe4\x00\xe5\x00\x00\x00\x00\x00\xe6\x00\xe7\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\xe8\x00\xe9\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x24\x00\x25\x00\x00\x00\xf3\x01\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x24\x00\x25\x00\x00\x00\xf5\x01\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x24\x00\x25\x00\x00\x00\x41\x01\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x27\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xf1\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xef\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xd2\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xd7\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xad\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xae\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x27\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xa7\x00\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x27\x01\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\xa7\x00\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\xa7\x01\x25\x00\x6c\x00\x6d\x00\x26\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x28\x00\x29\x00\x00\x00\xa8\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xa0\x01\x00\x00\xee\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x34\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xa0\x01\x00\x00\xd4\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x34\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xa0\x01\x00\x00\xcb\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x34\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xa0\x01\x00\x00\xa1\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x2f\x01\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x34\x00\x35\x01\x00\x00\x36\x01\x00\x00\x37\x01\x00\x00\x38\x01\x00\x00\x39\x01\x00\x00\x00\x00\x3a\x01\x00\x00\x3b\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\xcd\x00\xce\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x34\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\xcf\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xd8\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xcc\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x8c\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x8d\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x80\x01\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x81\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xff\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x03\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x04\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x06\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x3d\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x40\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x4b\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x4c\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x34\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\xaf\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x8e\x01\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x35\x01\x34\x00\x36\x01\x00\x00\x37\x01\x00\x00\x38\x01\x00\x00\xd3\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x8e\x01\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x35\x01\x00\x00\x36\x01\x34\x00\x37\x01\x00\x00\x38\x01\x00\x00\xc9\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x34\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x88\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x89\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x8a\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x8e\x01\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x35\x01\x00\x00\x36\x01\x34\x00\x37\x01\x00\x00\x38\x01\x00\x00\x8f\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x8e\x01\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x35\x01\x00\x00\x36\x01\x34\x00\x37\x01\x00\x00\x38\x01\x00\x00\x9e\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x8e\x01\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x35\x01\x00\x00\x36\x01\x34\x00\x37\x01\x00\x00\x38\x01\x00\x00\x9f\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x34\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x5b\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x60\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x08\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x20\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x21\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\x20\x00\x00\x00\x22\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x34\x00\xdd\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x35\x01\x00\x00\x9d\x01\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1f\x01\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x34\x01\x00\x00\x9c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x33\x01\x00\x00\x9b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x32\x01\x00\x00\x9a\x01\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x34\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x1c\x01\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x34\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x30\x01\x00\x00\x31\x01\x00\x00\x99\x01\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x34\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x1b\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x34\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x95\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x96\x01\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x97\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x98\x01\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x18\x01\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x1a\x01\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x90\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x91\x01\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x92\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x93\x01\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x94\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x11\x01\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x13\x01\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x15\x01\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x34\x00\x96\x00\x14\x00\x15\x00\x16\x00\x17\x00\x16\x01\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x0e\x01\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x16\x00\x10\x01\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x0c\x01\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x15\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x09\x01\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x0a\x01\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x0b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x97\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x9b\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x97\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\x9b\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xd2\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xd3\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xd5\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xd6\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x96\x00\x14\x00\xd7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x36\x00\x0e\x00\x6a\x00\x6b\x00\x0f\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\xa2\x00\xa3\x00\x00\x00\x00\x00\x59\x01\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x66\x01\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x34\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x34\x00\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\x00\x00\xcd\xff\xcd\xff\x00\x00\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\x00\x00\xcd\xff\x00\x00\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\xcd\xff\x00\x00\xcd\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\x00\x00\xd4\xff\xd4\xff\x00\x00\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\x00\x00\xd4\xff\x00\x00\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\xd4\xff\x34\xff\xd4\xff\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x5d\x00\x5e\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x00\x00\x00\x00\x00\x00\x34\xff\x34\xff\x00\x00\x34\xff\x00\x00\x34\xff\x34\xff\x34\xff\x00\x00\x00\x00\x34\xff\x34\xff\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x00\x00\x34\xff\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x00\x00\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x34\xff\x36\x00\x00\x00\x34\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\xb6\x00\x3f\x00\x00\x00\x00\x00\xb7\x00\x74\x00\x75\x00\xb8\x00\xb9\x00\xba\x00\x79\x00\xbb\x00\xbc\x00\x7c\x00\x7d\x00\xbd\x00\x7f\x00\xbe\x00\xbf\x00\x82\x00\xc0\x00\x84\x00\x85\x00\xc1\x00\xc2\x00\xc3\x00\x89\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x06\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x60\x00\xfa\xff\x3f\x00\x00\x00\x00\x00\xfa\xff\x00\x00\x00\x00\xfa\xff\xfa\xff\xfa\xff\x00\x00\x44\x00\xfa\xff\x00\x00\x00\x00\x46\x00\x00\x00\xfa\xff\x48\x00\x49\x00\xfa\xff\x06\x00\x00\x00\x4b\x00\x4c\x00\xfa\xff\x4e\x00\xfa\xff\x50\x00\xfa\xff\x52\x00\xfa\xff\x54\x00\xfa\xff\x56\x00\xfa\xff\xfa\xff\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xfa\xff\xfa\xff\xfa\xff\xfa\xff\x00\x00\x00\x00\x00\x00\xfa\xff\xfa\xff\x00\x00\xfa\xff\x00\x00\xfa\xff\xfa\xff\xfa\xff\x00\x00\x00\x00\xfa\xff\x00\x00\x00\x00\xfa\xff\xfa\xff\xfa\xff\x00\x00\xfa\xff\xfa\xff\x00\x00\x00\x00\xfa\xff\x00\x00\xfa\xff\xfa\xff\xfa\xff\xfa\xff\x06\x00\x00\x00\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\x00\x00\x00\x00\x00\x00\xfa\xff\xfa\xff\x00\x00\xfa\xff\x00\x00\xfa\xff\xfa\xff\xfa\xff\x00\x00\x00\x00\xfa\xff\x00\x00\x00\x00\xfa\xff\xfa\xff\xfa\xff\x00\x00\xfa\xff\xfa\xff\x00\x00\x00\x00\xfa\xff\x00\x00\xfa\xff\xfa\xff\x49\x00\xfa\xff\x36\x00\x00\x00\xfa\xff\xfa\xff\xfa\xff\x4e\x00\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\x59\x00\xfa\xff\xfa\xff\xfa\xff\xfa\xff\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x29\x01\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x43\x01\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x67\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x67\x00\x49\x00\x4a\x00\xaa\x01\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x67\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x36\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x67\x00\x49\x00\x4a\x00\x06\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\xff\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x02\x01\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x03\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xd4\xff\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x02\x01\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x03\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x24\x01\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x8c\x01\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\xd1\x00\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x83\x01\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x24\x01\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x25\x01\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\xd1\x00\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\xd2\x00\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x60\x00\x00\x00\x3f\x00\x06\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x54\x00\x3d\x01\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x60\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x3d\x00\x4e\x00\x60\x00\x50\x00\x3f\x00\x52\x00\x00\x00\x54\x00\x00\x00\x56\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x00\x00\x46\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x3d\x00\x4e\x00\x60\x00\x50\x00\x3f\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x50\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x72\x00\x00\x00\x94\x00\x00\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x94\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x02\x01\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x03\x01\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (4, 279) [
+	(4 , happyReduce_4),
+	(5 , happyReduce_5),
+	(6 , happyReduce_6),
+	(7 , happyReduce_7),
+	(8 , happyReduce_8),
+	(9 , happyReduce_9),
+	(10 , happyReduce_10),
+	(11 , happyReduce_11),
+	(12 , happyReduce_12),
+	(13 , happyReduce_13),
+	(14 , happyReduce_14),
+	(15 , happyReduce_15),
+	(16 , happyReduce_16),
+	(17 , happyReduce_17),
+	(18 , happyReduce_18),
+	(19 , happyReduce_19),
+	(20 , happyReduce_20),
+	(21 , happyReduce_21),
+	(22 , happyReduce_22),
+	(23 , happyReduce_23),
+	(24 , happyReduce_24),
+	(25 , happyReduce_25),
+	(26 , happyReduce_26),
+	(27 , happyReduce_27),
+	(28 , happyReduce_28),
+	(29 , happyReduce_29),
+	(30 , happyReduce_30),
+	(31 , happyReduce_31),
+	(32 , happyReduce_32),
+	(33 , happyReduce_33),
+	(34 , happyReduce_34),
+	(35 , happyReduce_35),
+	(36 , happyReduce_36),
+	(37 , happyReduce_37),
+	(38 , happyReduce_38),
+	(39 , happyReduce_39),
+	(40 , happyReduce_40),
+	(41 , happyReduce_41),
+	(42 , happyReduce_42),
+	(43 , happyReduce_43),
+	(44 , happyReduce_44),
+	(45 , happyReduce_45),
+	(46 , happyReduce_46),
+	(47 , happyReduce_47),
+	(48 , happyReduce_48),
+	(49 , happyReduce_49),
+	(50 , happyReduce_50),
+	(51 , happyReduce_51),
+	(52 , happyReduce_52),
+	(53 , happyReduce_53),
+	(54 , happyReduce_54),
+	(55 , happyReduce_55),
+	(56 , happyReduce_56),
+	(57 , happyReduce_57),
+	(58 , happyReduce_58),
+	(59 , happyReduce_59),
+	(60 , happyReduce_60),
+	(61 , happyReduce_61),
+	(62 , happyReduce_62),
+	(63 , happyReduce_63),
+	(64 , happyReduce_64),
+	(65 , happyReduce_65),
+	(66 , happyReduce_66),
+	(67 , happyReduce_67),
+	(68 , happyReduce_68),
+	(69 , happyReduce_69),
+	(70 , happyReduce_70),
+	(71 , happyReduce_71),
+	(72 , happyReduce_72),
+	(73 , happyReduce_73),
+	(74 , happyReduce_74),
+	(75 , happyReduce_75),
+	(76 , happyReduce_76),
+	(77 , happyReduce_77),
+	(78 , happyReduce_78),
+	(79 , happyReduce_79),
+	(80 , happyReduce_80),
+	(81 , happyReduce_81),
+	(82 , happyReduce_82),
+	(83 , happyReduce_83),
+	(84 , happyReduce_84),
+	(85 , happyReduce_85),
+	(86 , happyReduce_86),
+	(87 , happyReduce_87),
+	(88 , happyReduce_88),
+	(89 , happyReduce_89),
+	(90 , happyReduce_90),
+	(91 , happyReduce_91),
+	(92 , happyReduce_92),
+	(93 , happyReduce_93),
+	(94 , happyReduce_94),
+	(95 , happyReduce_95),
+	(96 , happyReduce_96),
+	(97 , happyReduce_97),
+	(98 , happyReduce_98),
+	(99 , happyReduce_99),
+	(100 , happyReduce_100),
+	(101 , happyReduce_101),
+	(102 , happyReduce_102),
+	(103 , happyReduce_103),
+	(104 , happyReduce_104),
+	(105 , happyReduce_105),
+	(106 , happyReduce_106),
+	(107 , happyReduce_107),
+	(108 , happyReduce_108),
+	(109 , happyReduce_109),
+	(110 , happyReduce_110),
+	(111 , happyReduce_111),
+	(112 , happyReduce_112),
+	(113 , happyReduce_113),
+	(114 , happyReduce_114),
+	(115 , happyReduce_115),
+	(116 , happyReduce_116),
+	(117 , happyReduce_117),
+	(118 , happyReduce_118),
+	(119 , happyReduce_119),
+	(120 , happyReduce_120),
+	(121 , happyReduce_121),
+	(122 , happyReduce_122),
+	(123 , happyReduce_123),
+	(124 , happyReduce_124),
+	(125 , happyReduce_125),
+	(126 , happyReduce_126),
+	(127 , happyReduce_127),
+	(128 , happyReduce_128),
+	(129 , happyReduce_129),
+	(130 , happyReduce_130),
+	(131 , happyReduce_131),
+	(132 , happyReduce_132),
+	(133 , happyReduce_133),
+	(134 , happyReduce_134),
+	(135 , happyReduce_135),
+	(136 , happyReduce_136),
+	(137 , happyReduce_137),
+	(138 , happyReduce_138),
+	(139 , happyReduce_139),
+	(140 , happyReduce_140),
+	(141 , happyReduce_141),
+	(142 , happyReduce_142),
+	(143 , happyReduce_143),
+	(144 , happyReduce_144),
+	(145 , happyReduce_145),
+	(146 , happyReduce_146),
+	(147 , happyReduce_147),
+	(148 , happyReduce_148),
+	(149 , happyReduce_149),
+	(150 , happyReduce_150),
+	(151 , happyReduce_151),
+	(152 , happyReduce_152),
+	(153 , happyReduce_153),
+	(154 , happyReduce_154),
+	(155 , happyReduce_155),
+	(156 , happyReduce_156),
+	(157 , happyReduce_157),
+	(158 , happyReduce_158),
+	(159 , happyReduce_159),
+	(160 , happyReduce_160),
+	(161 , happyReduce_161),
+	(162 , happyReduce_162),
+	(163 , happyReduce_163),
+	(164 , happyReduce_164),
+	(165 , happyReduce_165),
+	(166 , happyReduce_166),
+	(167 , happyReduce_167),
+	(168 , happyReduce_168),
+	(169 , happyReduce_169),
+	(170 , happyReduce_170),
+	(171 , happyReduce_171),
+	(172 , happyReduce_172),
+	(173 , happyReduce_173),
+	(174 , happyReduce_174),
+	(175 , happyReduce_175),
+	(176 , happyReduce_176),
+	(177 , happyReduce_177),
+	(178 , happyReduce_178),
+	(179 , happyReduce_179),
+	(180 , happyReduce_180),
+	(181 , happyReduce_181),
+	(182 , happyReduce_182),
+	(183 , happyReduce_183),
+	(184 , happyReduce_184),
+	(185 , happyReduce_185),
+	(186 , happyReduce_186),
+	(187 , happyReduce_187),
+	(188 , happyReduce_188),
+	(189 , happyReduce_189),
+	(190 , happyReduce_190),
+	(191 , happyReduce_191),
+	(192 , happyReduce_192),
+	(193 , happyReduce_193),
+	(194 , happyReduce_194),
+	(195 , happyReduce_195),
+	(196 , happyReduce_196),
+	(197 , happyReduce_197),
+	(198 , happyReduce_198),
+	(199 , happyReduce_199),
+	(200 , happyReduce_200),
+	(201 , happyReduce_201),
+	(202 , happyReduce_202),
+	(203 , happyReduce_203),
+	(204 , happyReduce_204),
+	(205 , happyReduce_205),
+	(206 , happyReduce_206),
+	(207 , happyReduce_207),
+	(208 , happyReduce_208),
+	(209 , happyReduce_209),
+	(210 , happyReduce_210),
+	(211 , happyReduce_211),
+	(212 , happyReduce_212),
+	(213 , happyReduce_213),
+	(214 , happyReduce_214),
+	(215 , happyReduce_215),
+	(216 , happyReduce_216),
+	(217 , happyReduce_217),
+	(218 , happyReduce_218),
+	(219 , happyReduce_219),
+	(220 , happyReduce_220),
+	(221 , happyReduce_221),
+	(222 , happyReduce_222),
+	(223 , happyReduce_223),
+	(224 , happyReduce_224),
+	(225 , happyReduce_225),
+	(226 , happyReduce_226),
+	(227 , happyReduce_227),
+	(228 , happyReduce_228),
+	(229 , happyReduce_229),
+	(230 , happyReduce_230),
+	(231 , happyReduce_231),
+	(232 , happyReduce_232),
+	(233 , happyReduce_233),
+	(234 , happyReduce_234),
+	(235 , happyReduce_235),
+	(236 , happyReduce_236),
+	(237 , happyReduce_237),
+	(238 , happyReduce_238),
+	(239 , happyReduce_239),
+	(240 , happyReduce_240),
+	(241 , happyReduce_241),
+	(242 , happyReduce_242),
+	(243 , happyReduce_243),
+	(244 , happyReduce_244),
+	(245 , happyReduce_245),
+	(246 , happyReduce_246),
+	(247 , happyReduce_247),
+	(248 , happyReduce_248),
+	(249 , happyReduce_249),
+	(250 , happyReduce_250),
+	(251 , happyReduce_251),
+	(252 , happyReduce_252),
+	(253 , happyReduce_253),
+	(254 , happyReduce_254),
+	(255 , happyReduce_255),
+	(256 , happyReduce_256),
+	(257 , happyReduce_257),
+	(258 , happyReduce_258),
+	(259 , happyReduce_259),
+	(260 , happyReduce_260),
+	(261 , happyReduce_261),
+	(262 , happyReduce_262),
+	(263 , happyReduce_263),
+	(264 , happyReduce_264),
+	(265 , happyReduce_265),
+	(266 , happyReduce_266),
+	(267 , happyReduce_267),
+	(268 , happyReduce_268),
+	(269 , happyReduce_269),
+	(270 , happyReduce_270),
+	(271 , happyReduce_271),
+	(272 , happyReduce_272),
+	(273 , happyReduce_273),
+	(274 , happyReduce_274),
+	(275 , happyReduce_275),
+	(276 , happyReduce_276),
+	(277 , happyReduce_277),
+	(278 , happyReduce_278),
+	(279 , happyReduce_279)
+	]
+
+happy_n_terms = 80 :: Int
+happy_n_nonterms = 95 :: Int
+
+happyReduce_4 = happySpecReduce_1  0# happyReduction_4
+happyReduction_4 happy_x_1
+	 =  happyIn7
+		 (AST.JSLiteral ";"
+	)
+
+happyReduce_5 = happySpecReduce_0  0# happyReduction_5
+happyReduction_5  =  happyIn7
+		 (AST.JSLiteral ""
+	)
+
+happyReduce_6 = happySpecReduce_1  1# happyReduction_6
+happyReduction_6 happy_x_1
+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> 
+	happyIn8
+		 (happy_var_1
+	)}
+
+happyReduce_7 = happySpecReduce_1  1# happyReduction_7
+happyReduction_7 happy_x_1
+	 =  case happyOut10 happy_x_1 of { happy_var_1 -> 
+	happyIn8
+		 (happy_var_1
+	)}
+
+happyReduce_8 = happySpecReduce_1  1# happyReduction_8
+happyReduction_8 happy_x_1
+	 =  case happyOut11 happy_x_1 of { happy_var_1 -> 
+	happyIn8
+		 (happy_var_1
+	)}
+
+happyReduce_9 = happySpecReduce_1  1# happyReduction_9
+happyReduction_9 happy_x_1
+	 =  case happyOut12 happy_x_1 of { happy_var_1 -> 
+	happyIn8
+		 (happy_var_1
+	)}
+
+happyReduce_10 = happySpecReduce_1  1# happyReduction_10
+happyReduction_10 happy_x_1
+	 =  case happyOut13 happy_x_1 of { happy_var_1 -> 
+	happyIn8
+		 (happy_var_1
+	)}
+
+happyReduce_11 = happySpecReduce_1  2# happyReduction_11
+happyReduction_11 happy_x_1
+	 =  happyIn9
+		 (AST.JSLiteral "null"
+	)
+
+happyReduce_12 = happySpecReduce_1  3# happyReduction_12
+happyReduction_12 happy_x_1
+	 =  happyIn10
+		 (AST.JSLiteral "true"
+	)
+
+happyReduce_13 = happySpecReduce_1  3# happyReduction_13
+happyReduction_13 happy_x_1
+	 =  happyIn10
+		 (AST.JSLiteral "false"
+	)
+
+happyReduce_14 = happySpecReduce_1  4# happyReduction_14
+happyReduction_14 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn11
+		 (AST.JSDecimal (token_literal happy_var_1)
+	)}
+
+happyReduce_15 = happySpecReduce_1  4# happyReduction_15
+happyReduction_15 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn11
+		 (AST.JSHexInteger (token_literal happy_var_1)
+	)}
+
+happyReduce_16 = happySpecReduce_1  5# happyReduction_16
+happyReduction_16 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn12
+		 (AST.JSStringLiteral (token_delimiter happy_var_1) (token_literal happy_var_1)
+	)}
+
+happyReduce_17 = happySpecReduce_1  6# happyReduction_17
+happyReduction_17 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn13
+		 (AST.JSRegEx (token_literal happy_var_1)
+	)}
+
+happyReduce_18 = happySpecReduce_1  7# happyReduction_18
+happyReduction_18 happy_x_1
+	 =  happyIn14
+		 (AST.JSLiteral "this"
+	)
+
+happyReduce_19 = happySpecReduce_1  7# happyReduction_19
+happyReduction_19 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn14
+		 (happy_var_1 {- PrimaryExpression1 -}
+	)}
+
+happyReduce_20 = happySpecReduce_1  7# happyReduction_20
+happyReduction_20 happy_x_1
+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> 
+	happyIn14
+		 (happy_var_1 {- PrimaryExpression2 -}
+	)}
+
+happyReduce_21 = happySpecReduce_1  7# happyReduction_21
+happyReduction_21 happy_x_1
+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> 
+	happyIn14
+		 (happy_var_1 {- PrimaryExpression3 -}
+	)}
+
+happyReduce_22 = happySpecReduce_1  7# happyReduction_22
+happyReduction_22 happy_x_1
+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> 
+	happyIn14
+		 (happy_var_1 {- PrimaryExpression4 -}
+	)}
+
+happyReduce_23 = happySpecReduce_3  7# happyReduction_23
+happyReduction_23 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> 
+	happyIn14
+		 (AST.JSExpressionParen happy_var_2
+	)}
+
+happyReduce_24 = happySpecReduce_1  8# happyReduction_24
+happyReduction_24 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn15
+		 (AST.JSIdentifier (token_literal happy_var_1)
+	)}
+
+happyReduce_25 = happySpecReduce_1  8# happyReduction_25
+happyReduction_25 happy_x_1
+	 =  happyIn15
+		 (AST.JSIdentifier "get"
+	)
+
+happyReduce_26 = happySpecReduce_1  8# happyReduction_26
+happyReduction_26 happy_x_1
+	 =  happyIn15
+		 (AST.JSIdentifier "set"
+	)
+
+happyReduce_27 = happySpecReduce_1  9# happyReduction_27
+happyReduction_27 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn16
+		 (happy_var_1
+	)}
+
+happyReduce_28 = happySpecReduce_1  9# happyReduction_28
+happyReduction_28 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "break"
+	)
+
+happyReduce_29 = happySpecReduce_1  9# happyReduction_29
+happyReduction_29 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "case"
+	)
+
+happyReduce_30 = happySpecReduce_1  9# happyReduction_30
+happyReduction_30 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "catch"
+	)
+
+happyReduce_31 = happySpecReduce_1  9# happyReduction_31
+happyReduction_31 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "const"
+	)
+
+happyReduce_32 = happySpecReduce_1  9# happyReduction_32
+happyReduction_32 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "continue"
+	)
+
+happyReduce_33 = happySpecReduce_1  9# happyReduction_33
+happyReduction_33 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "debugger"
+	)
+
+happyReduce_34 = happySpecReduce_1  9# happyReduction_34
+happyReduction_34 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "default"
+	)
+
+happyReduce_35 = happySpecReduce_1  9# happyReduction_35
+happyReduction_35 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "delete"
+	)
+
+happyReduce_36 = happySpecReduce_1  9# happyReduction_36
+happyReduction_36 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "do"
+	)
+
+happyReduce_37 = happySpecReduce_1  9# happyReduction_37
+happyReduction_37 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "else"
+	)
+
+happyReduce_38 = happySpecReduce_1  9# happyReduction_38
+happyReduction_38 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "enum"
+	)
+
+happyReduce_39 = happySpecReduce_1  9# happyReduction_39
+happyReduction_39 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "false"
+	)
+
+happyReduce_40 = happySpecReduce_1  9# happyReduction_40
+happyReduction_40 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "finally"
+	)
+
+happyReduce_41 = happySpecReduce_1  9# happyReduction_41
+happyReduction_41 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "for"
+	)
+
+happyReduce_42 = happySpecReduce_1  9# happyReduction_42
+happyReduction_42 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "function"
+	)
+
+happyReduce_43 = happySpecReduce_1  9# happyReduction_43
+happyReduction_43 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "get"
+	)
+
+happyReduce_44 = happySpecReduce_1  9# happyReduction_44
+happyReduction_44 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "if"
+	)
+
+happyReduce_45 = happySpecReduce_1  9# happyReduction_45
+happyReduction_45 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "in"
+	)
+
+happyReduce_46 = happySpecReduce_1  9# happyReduction_46
+happyReduction_46 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "instanceof"
+	)
+
+happyReduce_47 = happySpecReduce_1  9# happyReduction_47
+happyReduction_47 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "new"
+	)
+
+happyReduce_48 = happySpecReduce_1  9# happyReduction_48
+happyReduction_48 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "null"
+	)
+
+happyReduce_49 = happySpecReduce_1  9# happyReduction_49
+happyReduction_49 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "return"
+	)
+
+happyReduce_50 = happySpecReduce_1  9# happyReduction_50
+happyReduction_50 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "set"
+	)
+
+happyReduce_51 = happySpecReduce_1  9# happyReduction_51
+happyReduction_51 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "switch"
+	)
+
+happyReduce_52 = happySpecReduce_1  9# happyReduction_52
+happyReduction_52 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "this"
+	)
+
+happyReduce_53 = happySpecReduce_1  9# happyReduction_53
+happyReduction_53 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "throw"
+	)
+
+happyReduce_54 = happySpecReduce_1  9# happyReduction_54
+happyReduction_54 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "true"
+	)
+
+happyReduce_55 = happySpecReduce_1  9# happyReduction_55
+happyReduction_55 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "try"
+	)
+
+happyReduce_56 = happySpecReduce_1  9# happyReduction_56
+happyReduction_56 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "typeof"
+	)
+
+happyReduce_57 = happySpecReduce_1  9# happyReduction_57
+happyReduction_57 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "var"
+	)
+
+happyReduce_58 = happySpecReduce_1  9# happyReduction_58
+happyReduction_58 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "void"
+	)
+
+happyReduce_59 = happySpecReduce_1  9# happyReduction_59
+happyReduction_59 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "while"
+	)
+
+happyReduce_60 = happySpecReduce_1  9# happyReduction_60
+happyReduction_60 happy_x_1
+	 =  happyIn16
+		 (AST.JSIdentifier "with"
+	)
+
+happyReduce_61 = happySpecReduce_1  9# happyReduction_61
+happyReduction_61 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn16
+		 (AST.JSIdentifier (token_literal happy_var_1)
+	)}
+
+happyReduce_62 = happySpecReduce_2  10# happyReduction_62
+happyReduction_62 happy_x_2
+	happy_x_1
+	 =  happyIn17
+		 (AST.JSArrayLiteral []
+	)
+
+happyReduce_63 = happySpecReduce_3  10# happyReduction_63
+happyReduction_63 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
+	happyIn17
+		 (AST.JSArrayLiteral happy_var_2
+	)}
+
+happyReduce_64 = happySpecReduce_3  10# happyReduction_64
+happyReduction_64 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_2 of { happy_var_2 -> 
+	happyIn17
+		 (AST.JSArrayLiteral happy_var_2
+	)}
+
+happyReduce_65 = happyReduce 5# 10# 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 happyOut18 happy_x_2 of { happy_var_2 -> 
+	case happyOut19 happy_x_4 of { happy_var_4 -> 
+	happyIn17
+		 (AST.JSArrayLiteral (happy_var_2++happy_var_4)
+	) `HappyStk` happyRest}}
+
+happyReduce_66 = happyReduce 4# 10# happyReduction_66
+happyReduction_66 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut18 happy_x_2 of { happy_var_2 -> 
+	happyIn17
+		 (AST.JSArrayLiteral (happy_var_2++[AST.JSLiteral ","])
+	) `HappyStk` happyRest}
+
+happyReduce_67 = happySpecReduce_2  11# happyReduction_67
+happyReduction_67 happy_x_2
+	happy_x_1
+	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
+	case happyOut52 happy_x_2 of { happy_var_2 -> 
+	happyIn18
+		 ((happy_var_1++happy_var_2) {- ElementList -}
+	)}}
+
+happyReduce_68 = happySpecReduce_1  11# happyReduction_68
+happyReduction_68 happy_x_1
+	 =  case happyOut52 happy_x_1 of { happy_var_1 -> 
+	happyIn18
+		 (happy_var_1 {- ElementList -}
+	)}
+
+happyReduce_69 = happyReduce 4# 11# happyReduction_69
+happyReduction_69 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut19 happy_x_3 of { happy_var_3 -> 
+	case happyOut52 happy_x_4 of { happy_var_4 -> 
+	happyIn18
+		 ((happy_var_1++[(AST.JSElision [])]++happy_var_3++happy_var_4) {- ElementList -}
+	) `HappyStk` happyRest}}}
+
+happyReduce_70 = happySpecReduce_3  11# happyReduction_70
+happyReduction_70 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	happyIn18
+		 ((happy_var_1++[(AST.JSElision [])]++happy_var_3) {- ElementList -}
+	)}}
+
+happyReduce_71 = happySpecReduce_1  12# happyReduction_71
+happyReduction_71 happy_x_1
+	 =  happyIn19
+		 ([(AST.JSElision [])]
+	)
+
+happyReduce_72 = happySpecReduce_2  12# happyReduction_72
+happyReduction_72 happy_x_2
+	happy_x_1
+	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
+	happyIn19
+		 (happy_var_1 ++ [(AST.JSElision [])]
+	)}
+
+happyReduce_73 = happySpecReduce_2  13# happyReduction_73
+happyReduction_73 happy_x_2
+	happy_x_1
+	 =  happyIn20
+		 (AST.JSObjectLiteral []
+	)
+
+happyReduce_74 = happySpecReduce_3  13# happyReduction_74
+happyReduction_74 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut21 happy_x_2 of { happy_var_2 -> 
+	happyIn20
+		 (AST.JSObjectLiteral happy_var_2
+	)}
+
+happyReduce_75 = happyReduce 4# 13# happyReduction_75
+happyReduction_75 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut21 happy_x_2 of { happy_var_2 -> 
+	happyIn20
+		 (AST.JSObjectLiteral (happy_var_2++[AST.JSLiteral ","])
+	) `HappyStk` happyRest}
+
+happyReduce_76 = happySpecReduce_1  14# happyReduction_76
+happyReduction_76 happy_x_1
+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> 
+	happyIn21
+		 ([happy_var_1] {- PropertyNameandValueList1 -}
+	)}
+
+happyReduce_77 = happySpecReduce_3  14# happyReduction_77
+happyReduction_77 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut21 happy_x_1 of { happy_var_1 -> 
+	case happyOut22 happy_x_3 of { happy_var_3 -> 
+	happyIn21
+		 ((happy_var_1 ++ [happy_var_3]) {- PropertyNameandValueList2 -}
+	)}}
+
+happyReduce_78 = happySpecReduce_3  15# happyReduction_78
+happyReduction_78 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	happyIn22
+		 ((AST.JSPropertyNameandValue happy_var_1 happy_var_3)
+	)}}
+
+happyReduce_79 = happyReduce 7# 15# happyReduction_79
+happyReduction_79 (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 happyOut23 happy_x_2 of { happy_var_2 -> 
+	case happyOut97 happy_x_6 of { happy_var_6 -> 
+	happyIn22
+		 ((AST.JSPropertyAccessor "get" happy_var_2 [] happy_var_6)
+	) `HappyStk` happyRest}}
+
+happyReduce_80 = happyReduce 8# 15# happyReduction_80
+happyReduction_80 (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 happyOut23 happy_x_2 of { happy_var_2 -> 
+	case happyOut24 happy_x_4 of { happy_var_4 -> 
+	case happyOut97 happy_x_7 of { happy_var_7 -> 
+	happyIn22
+		 ((AST.JSPropertyAccessor "set" happy_var_2 [happy_var_4] happy_var_7)
+	) `HappyStk` happyRest}}}
+
+happyReduce_81 = happySpecReduce_1  16# happyReduction_81
+happyReduction_81 happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	happyIn23
+		 (happy_var_1 {- PropertyName1 -}
+	)}
+
+happyReduce_82 = happySpecReduce_1  16# happyReduction_82
+happyReduction_82 happy_x_1
+	 =  case happyOut12 happy_x_1 of { happy_var_1 -> 
+	happyIn23
+		 (happy_var_1 {- PropertyName2 -}
+	)}
+
+happyReduce_83 = happySpecReduce_1  16# happyReduction_83
+happyReduction_83 happy_x_1
+	 =  case happyOut11 happy_x_1 of { happy_var_1 -> 
+	happyIn23
+		 (happy_var_1 {- PropertyName3 -}
+	)}
+
+happyReduce_84 = happySpecReduce_1  17# happyReduction_84
+happyReduction_84 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn24
+		 (happy_var_1 {- PropertySetParameterList -}
+	)}
+
+happyReduce_85 = happySpecReduce_1  18# happyReduction_85
+happyReduction_85 happy_x_1
+	 =  case happyOut14 happy_x_1 of { happy_var_1 -> 
+	happyIn25
+		 ([happy_var_1] {- MemberExpression -}
+	)}
+
+happyReduce_86 = happySpecReduce_1  18# happyReduction_86
+happyReduction_86 happy_x_1
+	 =  case happyOut94 happy_x_1 of { happy_var_1 -> 
+	happyIn25
+		 ([happy_var_1] {- MemberExpression -}
+	)}
+
+happyReduce_87 = happyReduce 4# 18# happyReduction_87
+happyReduction_87 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut25 happy_x_1 of { happy_var_1 -> 
+	case happyOut55 happy_x_3 of { happy_var_3 -> 
+	happyIn25
+		 ([AST.JSMemberSquare happy_var_1 happy_var_3]
+	) `HappyStk` happyRest}}
+
+happyReduce_88 = happySpecReduce_3  18# happyReduction_88
+happyReduction_88 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> 
+	case happyOut16 happy_x_3 of { happy_var_3 -> 
+	happyIn25
+		 ([AST.JSMemberDot happy_var_1 happy_var_3]
+	)}}
+
+happyReduce_89 = happySpecReduce_3  18# happyReduction_89
+happyReduction_89 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut25 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn25
+		 ((((AST.JSLiteral "new "):happy_var_2)++[happy_var_3])
+	)}}
+
+happyReduce_90 = happySpecReduce_1  19# happyReduction_90
+happyReduction_90 happy_x_1
+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> 
+	happyIn26
+		 (happy_var_1 {- NewExpression -}
+	)}
+
+happyReduce_91 = happySpecReduce_2  19# happyReduction_91
+happyReduction_91 happy_x_2
+	happy_x_1
+	 =  case happyOut26 happy_x_2 of { happy_var_2 -> 
+	happyIn26
+		 ((AST.JSLiteral "new "):happy_var_2
+	)}
+
+happyReduce_92 = happySpecReduce_2  20# happyReduction_92
+happyReduction_92 happy_x_2
+	happy_x_1
+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_2 of { happy_var_2 -> 
+	happyIn27
+		 (happy_var_1++[happy_var_2] {- CallExpression -}
+	)}}
+
+happyReduce_93 = happySpecReduce_2  20# happyReduction_93
+happyReduction_93 happy_x_2
+	happy_x_1
+	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_2 of { happy_var_2 -> 
+	happyIn27
+		 ((happy_var_1++[(AST.JSCallExpression "()" [happy_var_2])])
+	)}}
+
+happyReduce_94 = happyReduce 4# 20# happyReduction_94
+happyReduction_94 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut27 happy_x_1 of { happy_var_1 -> 
+	case happyOut55 happy_x_3 of { happy_var_3 -> 
+	happyIn27
+		 ((happy_var_1++[(AST.JSCallExpression "[]" [happy_var_3])])
+	) `HappyStk` happyRest}}
+
+happyReduce_95 = happySpecReduce_3  20# happyReduction_95
+happyReduction_95 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
+	case happyOut16 happy_x_3 of { happy_var_3 -> 
+	happyIn27
+		 ((happy_var_1++[(AST.JSCallExpression "."  [happy_var_3])])
+	)}}
+
+happyReduce_96 = happySpecReduce_2  21# happyReduction_96
+happyReduction_96 happy_x_2
+	happy_x_1
+	 =  happyIn28
+		 ((AST.JSArguments [])
+	)
+
+happyReduce_97 = happySpecReduce_3  21# happyReduction_97
+happyReduction_97 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut29 happy_x_2 of { happy_var_2 -> 
+	happyIn28
+		 ((AST.JSArguments happy_var_2)
+	)}
+
+happyReduce_98 = happySpecReduce_1  22# happyReduction_98
+happyReduction_98 happy_x_1
+	 =  case happyOut52 happy_x_1 of { happy_var_1 -> 
+	happyIn29
+		 ([happy_var_1] {- ArgumentList -}
+	)}
+
+happyReduce_99 = happySpecReduce_3  22# happyReduction_99
+happyReduction_99 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut29 happy_x_1 of { happy_var_1 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	happyIn29
+		 (happy_var_1++[happy_var_3] {- ArgumentList2 -}
+	)}}
+
+happyReduce_100 = happySpecReduce_1  23# happyReduction_100
+happyReduction_100 happy_x_1
+	 =  case happyOut26 happy_x_1 of { happy_var_1 -> 
+	happyIn30
+		 (happy_var_1 {- LeftHandSideExpression1 -}
+	)}
+
+happyReduce_101 = happySpecReduce_1  23# happyReduction_101
+happyReduction_101 happy_x_1
+	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
+	happyIn30
+		 (happy_var_1 {- LeftHandSideExpression12 -}
+	)}
+
+happyReduce_102 = happySpecReduce_1  24# happyReduction_102
+happyReduction_102 happy_x_1
+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> 
+	happyIn31
+		 (happy_var_1 {- PostfixExpression -}
+	)}
+
+happyReduce_103 = happySpecReduce_2  24# happyReduction_103
+happyReduction_103 happy_x_2
+	happy_x_1
+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
+	happyIn31
+		 ([(AST.JSExpressionPostfix "++" happy_var_1)]
+	)}
+
+happyReduce_104 = happySpecReduce_2  24# happyReduction_104
+happyReduction_104 happy_x_2
+	happy_x_1
+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
+	happyIn31
+		 ([(AST.JSExpressionPostfix "--" happy_var_1)]
+	)}
+
+happyReduce_105 = happySpecReduce_1  25# happyReduction_105
+happyReduction_105 happy_x_1
+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
+	happyIn32
+		 (happy_var_1 {- UnaryExpression -}
+	)}
+
+happyReduce_106 = happySpecReduce_2  25# happyReduction_106
+happyReduction_106 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "delete "):happy_var_2)
+	)}
+
+happyReduce_107 = happySpecReduce_2  25# happyReduction_107
+happyReduction_107 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "void "):happy_var_2)
+	)}
+
+happyReduce_108 = happySpecReduce_2  25# happyReduction_108
+happyReduction_108 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "typeof "):happy_var_2)
+	)}
+
+happyReduce_109 = happySpecReduce_2  25# happyReduction_109
+happyReduction_109 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "++"):happy_var_2)
+	)}
+
+happyReduce_110 = happySpecReduce_2  25# happyReduction_110
+happyReduction_110 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "--"):happy_var_2)
+	)}
+
+happyReduce_111 = happySpecReduce_2  25# happyReduction_111
+happyReduction_111 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "+"):happy_var_2)
+	)}
+
+happyReduce_112 = happySpecReduce_2  25# happyReduction_112
+happyReduction_112 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "-"):happy_var_2)
+	)}
+
+happyReduce_113 = happySpecReduce_2  25# happyReduction_113
+happyReduction_113 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "~"):happy_var_2)
+	)}
+
+happyReduce_114 = happySpecReduce_2  25# happyReduction_114
+happyReduction_114 happy_x_2
+	happy_x_1
+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (((AST.JSUnary "!"):happy_var_2)
+	)}
+
+happyReduce_115 = happySpecReduce_1  26# happyReduction_115
+happyReduction_115 happy_x_1
+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> 
+	happyIn33
+		 (happy_var_1 {- MultiplicativeExpression -}
+	)}
+
+happyReduce_116 = happySpecReduce_3  26# happyReduction_116
+happyReduction_116 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
+	case happyOut32 happy_x_3 of { happy_var_3 -> 
+	happyIn33
+		 ([(AST.JSExpressionBinary "*" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_117 = happySpecReduce_3  26# happyReduction_117
+happyReduction_117 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
+	case happyOut32 happy_x_3 of { happy_var_3 -> 
+	happyIn33
+		 ([(AST.JSExpressionBinary "/" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_118 = happySpecReduce_3  26# happyReduction_118
+happyReduction_118 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
+	case happyOut32 happy_x_3 of { happy_var_3 -> 
+	happyIn33
+		 ([(AST.JSExpressionBinary "%" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_119 = happySpecReduce_3  27# happyReduction_119
+happyReduction_119 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 -> 
+	happyIn34
+		 ([(AST.JSExpressionBinary "+" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_120 = happySpecReduce_3  27# happyReduction_120
+happyReduction_120 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 -> 
+	happyIn34
+		 ([(AST.JSExpressionBinary "-" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_121 = happySpecReduce_1  27# happyReduction_121
+happyReduction_121 happy_x_1
+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
+	happyIn34
+		 (happy_var_1 {- (goRegExp happy_var_1)-} {- AdditiveExpression -}
+	)}
+
+happyReduce_122 = happySpecReduce_3  28# happyReduction_122
+happyReduction_122 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
+	case happyOut34 happy_x_3 of { happy_var_3 -> 
+	happyIn35
+		 ([(AST.JSExpressionBinary "<<" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_123 = happySpecReduce_3  28# happyReduction_123
+happyReduction_123 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
+	case happyOut34 happy_x_3 of { happy_var_3 -> 
+	happyIn35
+		 ([(AST.JSExpressionBinary ">>" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_124 = happySpecReduce_3  28# happyReduction_124
+happyReduction_124 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
+	case happyOut34 happy_x_3 of { happy_var_3 -> 
+	happyIn35
+		 ([(AST.JSExpressionBinary ">>>" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_125 = happySpecReduce_1  28# happyReduction_125
+happyReduction_125 happy_x_1
+	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
+	happyIn35
+		 (happy_var_1 {- ShiftExpression -}
+	)}
+
+happyReduce_126 = happySpecReduce_1  29# happyReduction_126
+happyReduction_126 happy_x_1
+	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
+	happyIn36
+		 (happy_var_1 {- RelationalExpression -}
+	)}
+
+happyReduce_127 = happySpecReduce_3  29# happyReduction_127
+happyReduction_127 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 -> 
+	happyIn36
+		 ([(AST.JSExpressionBinary "<" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_128 = happySpecReduce_3  29# happyReduction_128
+happyReduction_128 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 -> 
+	happyIn36
+		 ([(AST.JSExpressionBinary ">" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_129 = happySpecReduce_3  29# happyReduction_129
+happyReduction_129 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 -> 
+	happyIn36
+		 ([(AST.JSExpressionBinary "<=" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_130 = happySpecReduce_3  29# happyReduction_130
+happyReduction_130 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 -> 
+	happyIn36
+		 ([(AST.JSExpressionBinary ">=" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_131 = happySpecReduce_3  29# happyReduction_131
+happyReduction_131 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 -> 
+	happyIn36
+		 ([(AST.JSExpressionBinary " instanceof " happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_132 = happySpecReduce_3  29# happyReduction_132
+happyReduction_132 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 -> 
+	happyIn36
+		 ([(AST.JSExpressionBinary " in " happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_133 = happySpecReduce_1  30# happyReduction_133
+happyReduction_133 happy_x_1
+	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
+	happyIn37
+		 (happy_var_1 {- RelationalExpressionNoIn -}
+	)}
+
+happyReduce_134 = happySpecReduce_3  30# happyReduction_134
+happyReduction_134 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	case happyOut35 happy_x_3 of { happy_var_3 -> 
+	happyIn37
+		 ([(AST.JSExpressionBinary "<" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_135 = happySpecReduce_3  30# happyReduction_135
+happyReduction_135 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	case happyOut35 happy_x_3 of { happy_var_3 -> 
+	happyIn37
+		 ([(AST.JSExpressionBinary ">" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_136 = happySpecReduce_3  30# happyReduction_136
+happyReduction_136 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	case happyOut35 happy_x_3 of { happy_var_3 -> 
+	happyIn37
+		 ([(AST.JSExpressionBinary "<=" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_137 = happySpecReduce_3  30# happyReduction_137
+happyReduction_137 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	case happyOut35 happy_x_3 of { happy_var_3 -> 
+	happyIn37
+		 ([(AST.JSExpressionBinary ">=" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_138 = happySpecReduce_3  30# happyReduction_138
+happyReduction_138 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	case happyOut35 happy_x_3 of { happy_var_3 -> 
+	happyIn37
+		 ([(AST.JSExpressionBinary " instanceof " happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_139 = happySpecReduce_1  31# happyReduction_139
+happyReduction_139 happy_x_1
+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> 
+	happyIn38
+		 (happy_var_1 {- EqualityExpression -}
+	)}
+
+happyReduce_140 = happySpecReduce_3  31# happyReduction_140
+happyReduction_140 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn38
+		 ([(AST.JSExpressionBinary "==" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_141 = happySpecReduce_3  31# happyReduction_141
+happyReduction_141 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn38
+		 ([(AST.JSExpressionBinary "!=" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_142 = happySpecReduce_3  31# happyReduction_142
+happyReduction_142 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn38
+		 ([(AST.JSExpressionBinary "===" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_143 = happySpecReduce_3  31# happyReduction_143
+happyReduction_143 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn38
+		 ([(AST.JSExpressionBinary "!==" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_144 = happySpecReduce_1  32# happyReduction_144
+happyReduction_144 happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	happyIn39
+		 (happy_var_1 {- EqualityExpressionNoIn -}
+	)}
+
+happyReduce_145 = happySpecReduce_3  32# happyReduction_145
+happyReduction_145 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn39
+		 ([(AST.JSExpressionBinary "==" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_146 = happySpecReduce_3  32# happyReduction_146
+happyReduction_146 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn39
+		 ([(AST.JSExpressionBinary "!=" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_147 = happySpecReduce_3  32# happyReduction_147
+happyReduction_147 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn39
+		 ([(AST.JSExpressionBinary "===" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_148 = happySpecReduce_3  32# happyReduction_148
+happyReduction_148 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn39
+		 ([(AST.JSExpressionBinary "!==" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_149 = happySpecReduce_1  33# happyReduction_149
+happyReduction_149 happy_x_1
+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
+	happyIn40
+		 (happy_var_1 {- BitwiseAndExpression -}
+	)}
+
+happyReduce_150 = happySpecReduce_3  33# happyReduction_150
+happyReduction_150 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
+	case happyOut38 happy_x_3 of { happy_var_3 -> 
+	happyIn40
+		 ([(AST.JSExpressionBinary "&" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_151 = happySpecReduce_1  34# happyReduction_151
+happyReduction_151 happy_x_1
+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
+	happyIn41
+		 (happy_var_1 {- BitwiseAndExpression -}
+	)}
+
+happyReduce_152 = happySpecReduce_3  34# happyReduction_152
+happyReduction_152 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	case happyOut39 happy_x_3 of { happy_var_3 -> 
+	happyIn41
+		 ([(AST.JSExpressionBinary "&" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_153 = happySpecReduce_1  35# happyReduction_153
+happyReduction_153 happy_x_1
+	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
+	happyIn42
+		 (happy_var_1 {- BitwiseXOrExpression -}
+	)}
+
+happyReduce_154 = happySpecReduce_3  35# happyReduction_154
+happyReduction_154 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
+	case happyOut40 happy_x_3 of { happy_var_3 -> 
+	happyIn42
+		 ([(AST.JSExpressionBinary "^" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_155 = happySpecReduce_1  36# happyReduction_155
+happyReduction_155 happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	happyIn43
+		 (happy_var_1 {- BitwiseXOrExpression -}
+	)}
+
+happyReduce_156 = happySpecReduce_3  36# happyReduction_156
+happyReduction_156 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut43 happy_x_1 of { happy_var_1 -> 
+	case happyOut41 happy_x_3 of { happy_var_3 -> 
+	happyIn43
+		 ([(AST.JSExpressionBinary "^" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_157 = happySpecReduce_1  37# happyReduction_157
+happyReduction_157 happy_x_1
+	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
+	happyIn44
+		 (happy_var_1 {- BitwiseOrExpression -}
+	)}
+
+happyReduce_158 = happySpecReduce_3  37# happyReduction_158
+happyReduction_158 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
+	case happyOut42 happy_x_3 of { happy_var_3 -> 
+	happyIn44
+		 ([(AST.JSExpressionBinary "|" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_159 = happySpecReduce_1  38# happyReduction_159
+happyReduction_159 happy_x_1
+	 =  case happyOut43 happy_x_1 of { happy_var_1 -> 
+	happyIn45
+		 (happy_var_1 {- BitwiseOrExpression -}
+	)}
+
+happyReduce_160 = happySpecReduce_3  38# happyReduction_160
+happyReduction_160 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> 
+	case happyOut43 happy_x_3 of { happy_var_3 -> 
+	happyIn45
+		 ([(AST.JSExpressionBinary "|" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_161 = happySpecReduce_1  39# happyReduction_161
+happyReduction_161 happy_x_1
+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
+	happyIn46
+		 (happy_var_1 {- LogicalAndExpression -}
+	)}
+
+happyReduce_162 = happySpecReduce_3  39# happyReduction_162
+happyReduction_162 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut46 happy_x_1 of { happy_var_1 -> 
+	case happyOut44 happy_x_3 of { happy_var_3 -> 
+	happyIn46
+		 ([(AST.JSExpressionBinary "&&" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_163 = happySpecReduce_1  40# happyReduction_163
+happyReduction_163 happy_x_1
+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> 
+	happyIn47
+		 (happy_var_1 {- LogicalAndExpression -}
+	)}
+
+happyReduce_164 = happySpecReduce_3  40# happyReduction_164
+happyReduction_164 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut47 happy_x_1 of { happy_var_1 -> 
+	case happyOut45 happy_x_3 of { happy_var_3 -> 
+	happyIn47
+		 ([(AST.JSExpressionBinary "&&" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_165 = happySpecReduce_1  41# happyReduction_165
+happyReduction_165 happy_x_1
+	 =  case happyOut46 happy_x_1 of { happy_var_1 -> 
+	happyIn48
+		 (happy_var_1 {- LogicalOrExpression -}
+	)}
+
+happyReduce_166 = happySpecReduce_3  41# happyReduction_166
+happyReduction_166 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
+	case happyOut46 happy_x_3 of { happy_var_3 -> 
+	happyIn48
+		 ([(AST.JSExpressionBinary "||" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_167 = happySpecReduce_1  42# happyReduction_167
+happyReduction_167 happy_x_1
+	 =  case happyOut47 happy_x_1 of { happy_var_1 -> 
+	happyIn49
+		 (happy_var_1 {- LogicalOrExpression -}
+	)}
+
+happyReduce_168 = happySpecReduce_3  42# happyReduction_168
+happyReduction_168 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
+	case happyOut47 happy_x_3 of { happy_var_3 -> 
+	happyIn49
+		 ([(AST.JSExpressionBinary "||" happy_var_1 happy_var_3)]
+	)}}
+
+happyReduce_169 = happySpecReduce_1  43# happyReduction_169
+happyReduction_169 happy_x_1
+	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
+	happyIn50
+		 (happy_var_1 {- ConditionalExpression -}
+	)}
+
+happyReduce_170 = happyReduce 5# 43# 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 happyOut48 happy_x_1 of { happy_var_1 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	case happyOut52 happy_x_5 of { happy_var_5 -> 
+	happyIn50
+		 ([AST.JSExpressionTernary happy_var_1 happy_var_3 happy_var_5]
+	) `HappyStk` happyRest}}}
+
+happyReduce_171 = happySpecReduce_1  44# happyReduction_171
+happyReduction_171 happy_x_1
+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
+	happyIn51
+		 (happy_var_1 {- ConditionalExpression -}
+	)}
+
+happyReduce_172 = happyReduce 5# 44# 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 happyOut49 happy_x_1 of { happy_var_1 -> 
+	case happyOut53 happy_x_3 of { happy_var_3 -> 
+	case happyOut53 happy_x_5 of { happy_var_5 -> 
+	happyIn51
+		 ([AST.JSExpressionTernary happy_var_1 happy_var_3 happy_var_5]
+	) `HappyStk` happyRest}}}
+
+happyReduce_173 = happySpecReduce_1  45# happyReduction_173
+happyReduction_173 happy_x_1
+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> 
+	happyIn52
+		 (happy_var_1 {- AssignmentExpression -}
+	)}
+
+happyReduce_174 = happySpecReduce_3  45# happyReduction_174
+happyReduction_174 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> 
+	case happyOut54 happy_x_2 of { happy_var_2 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	happyIn52
+		 ((happy_var_1++[happy_var_2]++happy_var_3)
+	)}}}
+
+happyReduce_175 = happySpecReduce_1  46# happyReduction_175
+happyReduction_175 happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	happyIn53
+		 (happy_var_1 {- AssignmentExpression -}
+	)}
+
+happyReduce_176 = happySpecReduce_3  46# happyReduction_176
+happyReduction_176 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> 
+	case happyOut54 happy_x_2 of { happy_var_2 -> 
+	case happyOut53 happy_x_3 of { happy_var_3 -> 
+	happyIn53
+		 ((happy_var_1++[happy_var_2]++happy_var_3)
+	)}}}
+
+happyReduce_177 = happySpecReduce_1  47# happyReduction_177
+happyReduction_177 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn54
+		 (AST.JSOperator (token_literal happy_var_1)
+	)}
+
+happyReduce_178 = happySpecReduce_1  47# happyReduction_178
+happyReduction_178 happy_x_1
+	 =  happyIn54
+		 (AST.JSOperator "="
+	)
+
+happyReduce_179 = happySpecReduce_1  48# happyReduction_179
+happyReduction_179 happy_x_1
+	 =  case happyOut52 happy_x_1 of { happy_var_1 -> 
+	happyIn55
+		 (AST.JSExpression happy_var_1 {- Expression -}
+	)}
+
+happyReduce_180 = happySpecReduce_3  48# happyReduction_180
+happyReduction_180 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut55 happy_x_1 of { happy_var_1 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	happyIn55
+		 (flattenExpression happy_var_1 happy_var_3
+	)}}
+
+happyReduce_181 = happySpecReduce_1  49# happyReduction_181
+happyReduction_181 happy_x_1
+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> 
+	happyIn56
+		 (AST.JSExpression happy_var_1 {- Expression -}
+	)}
+
+happyReduce_182 = happySpecReduce_3  49# happyReduction_182
+happyReduction_182 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> 
+	case happyOut53 happy_x_3 of { happy_var_3 -> 
+	happyIn56
+		 (flattenExpression happy_var_1 happy_var_3
+	)}}
+
+happyReduce_183 = happySpecReduce_1  50# happyReduction_183
+happyReduction_183 happy_x_1
+	 =  case happyOut55 happy_x_1 of { happy_var_1 -> 
+	happyIn57
+		 ([happy_var_1] {- ExpressionOpt -}
+	)}
+
+happyReduce_184 = happySpecReduce_0  50# happyReduction_184
+happyReduction_184  =  happyIn57
+		 ([]   {- ExpressionOpt -}
+	)
+
+happyReduce_185 = happySpecReduce_1  51# happyReduction_185
+happyReduction_185 happy_x_1
+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> 
+	happyIn58
+		 ([happy_var_1] {- ExpressionOpt -}
+	)}
+
+happyReduce_186 = happySpecReduce_0  51# happyReduction_186
+happyReduction_186  =  happyIn58
+		 ([]   {- ExpressionOpt -}
+	)
+
+happyReduce_187 = happySpecReduce_1  52# happyReduction_187
+happyReduction_187 happy_x_1
+	 =  case happyOut60 happy_x_1 of { happy_var_1 -> 
+	happyIn59
+		 (happy_var_1 {- Statement1 -}
+	)}
+
+happyReduce_188 = happySpecReduce_1  52# happyReduction_188
+happyReduction_188 happy_x_1
+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
+	happyIn59
+		 (happy_var_1 {- Statement3 -}
+	)}
+
+happyReduce_189 = happySpecReduce_1  53# happyReduction_189
+happyReduction_189 happy_x_1
+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty1 -}
+	)}
+
+happyReduce_190 = happySpecReduce_1  53# happyReduction_190
+happyReduction_190 happy_x_1
+	 =  case happyOut64 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty2 -}
+	)}
+
+happyReduce_191 = happySpecReduce_1  53# happyReduction_191
+happyReduction_191 happy_x_1
+	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty4 -}
+	)}
+
+happyReduce_192 = happySpecReduce_1  53# happyReduction_192
+happyReduction_192 happy_x_1
+	 =  case happyOut73 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty5 -}
+	)}
+
+happyReduce_193 = happySpecReduce_1  53# happyReduction_193
+happyReduction_193 happy_x_1
+	 =  case happyOut76 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty6 -}
+	)}
+
+happyReduce_194 = happySpecReduce_1  53# happyReduction_194
+happyReduction_194 happy_x_1
+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty7 -}
+	)}
+
+happyReduce_195 = happySpecReduce_1  53# happyReduction_195
+happyReduction_195 happy_x_1
+	 =  case happyOut78 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty8 -}
+	)}
+
+happyReduce_196 = happySpecReduce_1  53# happyReduction_196
+happyReduction_196 happy_x_1
+	 =  case happyOut79 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty9 -}
+	)}
+
+happyReduce_197 = happySpecReduce_1  53# happyReduction_197
+happyReduction_197 happy_x_1
+	 =  case happyOut80 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty10 -}
+	)}
+
+happyReduce_198 = happySpecReduce_1  53# happyReduction_198
+happyReduction_198 happy_x_1
+	 =  case happyOut86 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty11 -}
+	)}
+
+happyReduce_199 = happySpecReduce_1  53# happyReduction_199
+happyReduction_199 happy_x_1
+	 =  case happyOut81 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty12 -}
+	)}
+
+happyReduce_200 = happySpecReduce_1  53# happyReduction_200
+happyReduction_200 happy_x_1
+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty13 -}
+	)}
+
+happyReduce_201 = happySpecReduce_1  53# happyReduction_201
+happyReduction_201 happy_x_1
+	 =  case happyOut88 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty14 -}
+	)}
+
+happyReduce_202 = happySpecReduce_1  53# happyReduction_202
+happyReduction_202 happy_x_1
+	 =  case happyOut92 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1 {- StatementNoEmpty15 -}
+	)}
+
+happyReduce_203 = happySpecReduce_2  54# happyReduction_203
+happyReduction_203 happy_x_2
+	happy_x_1
+	 =  happyIn61
+		 ((AST.JSLiteral ";")
+	)
+
+happyReduce_204 = happySpecReduce_3  54# happyReduction_204
+happyReduction_204 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut63 happy_x_2 of { happy_var_2 -> 
+	happyIn61
+		 ((if (happy_var_2 == AST.JSStatementList [AST.JSLiteral ";"]) then (AST.JSLiteral ";") else (AST.JSBlock happy_var_2))
+	)}
+
+happyReduce_205 = happySpecReduce_2  55# happyReduction_205
+happyReduction_205 happy_x_2
+	happy_x_1
+	 =  happyIn62
+		 ((AST.JSBlock (AST.JSStatementList []))
+	)
+
+happyReduce_206 = happySpecReduce_3  55# happyReduction_206
+happyReduction_206 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut63 happy_x_2 of { happy_var_2 -> 
+	happyIn62
+		 ((AST.JSBlock happy_var_2)
+	)}
+
+happyReduce_207 = happySpecReduce_1  56# happyReduction_207
+happyReduction_207 happy_x_1
+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
+	happyIn63
+		 ((AST.JSStatementList [happy_var_1])
+	)}
+
+happyReduce_208 = happySpecReduce_2  56# happyReduction_208
+happyReduction_208 happy_x_2
+	happy_x_1
+	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
+	case happyOut59 happy_x_2 of { happy_var_2 -> 
+	happyIn63
+		 ((combineStatements happy_var_1 happy_var_2)
+	)}}
+
+happyReduce_209 = happySpecReduce_3  57# happyReduction_209
+happyReduction_209 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut65 happy_x_2 of { happy_var_2 -> 
+	happyIn64
+		 (AST.JSVariables "var" happy_var_2
+	)}
+
+happyReduce_210 = happySpecReduce_3  57# happyReduction_210
+happyReduction_210 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut65 happy_x_2 of { happy_var_2 -> 
+	happyIn64
+		 (AST.JSVariables "const" happy_var_2
+	)}
+
+happyReduce_211 = happySpecReduce_1  58# happyReduction_211
+happyReduction_211 happy_x_1
+	 =  case happyOut67 happy_x_1 of { happy_var_1 -> 
+	happyIn65
+		 ([happy_var_1] {- VariableDeclarationList -}
+	)}
+
+happyReduce_212 = happySpecReduce_3  58# happyReduction_212
+happyReduction_212 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut65 happy_x_1 of { happy_var_1 -> 
+	case happyOut67 happy_x_3 of { happy_var_3 -> 
+	happyIn65
+		 ((happy_var_1 ++ [happy_var_3]) {- VariableDeclarationList -}
+	)}}
+
+happyReduce_213 = happySpecReduce_1  59# happyReduction_213
+happyReduction_213 happy_x_1
+	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
+	happyIn66
+		 ([happy_var_1] {- VariableDeclarationList -}
+	)}
+
+happyReduce_214 = happySpecReduce_3  59# happyReduction_214
+happyReduction_214 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut66 happy_x_1 of { happy_var_1 -> 
+	case happyOut68 happy_x_3 of { happy_var_3 -> 
+	happyIn66
+		 ((happy_var_1 ++ [happy_var_3]) {- VariableDeclarationList -}
+	)}}
+
+happyReduce_215 = happySpecReduce_1  60# happyReduction_215
+happyReduction_215 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn67
+		 ((AST.JSVarDecl happy_var_1 [])
+	)}
+
+happyReduce_216 = happySpecReduce_2  60# happyReduction_216
+happyReduction_216 happy_x_2
+	happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	case happyOut69 happy_x_2 of { happy_var_2 -> 
+	happyIn67
+		 ((AST.JSVarDecl happy_var_1 happy_var_2)
+	)}}
+
+happyReduce_217 = happySpecReduce_2  61# happyReduction_217
+happyReduction_217 happy_x_2
+	happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	case happyOut70 happy_x_2 of { happy_var_2 -> 
+	happyIn68
+		 ((AST.JSVarDecl happy_var_1 happy_var_2)
+	)}}
+
+happyReduce_218 = happySpecReduce_1  61# happyReduction_218
+happyReduction_218 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn68
+		 ((AST.JSVarDecl happy_var_1 [])
+	)}
+
+happyReduce_219 = happySpecReduce_2  62# happyReduction_219
+happyReduction_219 happy_x_2
+	happy_x_1
+	 =  case happyOut52 happy_x_2 of { happy_var_2 -> 
+	happyIn69
+		 (happy_var_2 {- Initializer -}
+	)}
+
+happyReduce_220 = happySpecReduce_2  63# happyReduction_220
+happyReduction_220 happy_x_2
+	happy_x_1
+	 =  case happyOut53 happy_x_2 of { happy_var_2 -> 
+	happyIn70
+		 (happy_var_2 {- InitializerNoIn -}
+	)}
+
+happyReduce_221 = happySpecReduce_1  64# happyReduction_221
+happyReduction_221 happy_x_1
+	 =  happyIn71
+		 ((AST.JSLiteral ";")
+	)
+
+happyReduce_222 = happySpecReduce_1  65# happyReduction_222
+happyReduction_222 happy_x_1
+	 =  case happyOut55 happy_x_1 of { happy_var_1 -> 
+	happyIn72
+		 (happy_var_1 {- ExpressionStatement -}
+	)}
+
+happyReduce_223 = happyReduce 6# 66# happyReduction_223
+happyReduction_223 (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 happyOut55 happy_x_3 of { happy_var_3 -> 
+	case happyOut75 happy_x_5 of { happy_var_5 -> 
+	case happyOut74 happy_x_6 of { happy_var_6 -> 
+	happyIn73
+		 ((if (happy_var_6 /= []) then  
+                       (if (length happy_var_6 == 1) then (AST.JSIfElse happy_var_3 happy_var_5 (head happy_var_6)) 
+                                            else (AST.JSIfElse happy_var_3 (AST.JSBlock (AST.JSStatementList [happy_var_5])) (last happy_var_6))) 
+                     else (AST.JSIf happy_var_3 happy_var_5))
+	) `HappyStk` happyRest}}}
+
+happyReduce_224 = happySpecReduce_2  67# happyReduction_224
+happyReduction_224 happy_x_2
+	happy_x_1
+	 =  case happyOut59 happy_x_2 of { happy_var_2 -> 
+	happyIn74
+		 ([happy_var_2]
+	)}
+
+happyReduce_225 = happySpecReduce_0  67# happyReduction_225
+happyReduction_225  =  happyIn74
+		 ([]
+	)
+
+happyReduce_226 = happySpecReduce_2  68# happyReduction_226
+happyReduction_226 happy_x_2
+	happy_x_1
+	 =  case happyOut60 happy_x_1 of { happy_var_1 -> 
+	happyIn75
+		 ((AST.JSBlock (AST.JSStatementList [happy_var_1]))
+	)}
+
+happyReduce_227 = happySpecReduce_1  68# happyReduction_227
+happyReduction_227 happy_x_1
+	 =  case happyOut60 happy_x_1 of { happy_var_1 -> 
+	happyIn75
+		 (happy_var_1 {- StatementSemi -}
+	)}
+
+happyReduce_228 = happySpecReduce_1  68# happyReduction_228
+happyReduction_228 happy_x_1
+	 =  happyIn75
+		 (AST.JSLiteral ";"
+	)
+
+happyReduce_229 = happyReduce 7# 69# happyReduction_229
+happyReduction_229 (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 happyOut59 happy_x_2 of { happy_var_2 -> 
+	case happyOut55 happy_x_5 of { happy_var_5 -> 
+	case happyOut7 happy_x_7 of { happy_var_7 -> 
+	happyIn76
+		 ((AST.JSDoWhile happy_var_2 happy_var_5 happy_var_7)
+	) `HappyStk` happyRest}}}
+
+happyReduce_230 = happyReduce 5# 69# happyReduction_230
+happyReduction_230 (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_3 of { happy_var_3 -> 
+	case happyOut59 happy_x_5 of { happy_var_5 -> 
+	happyIn76
+		 ((AST.JSWhile happy_var_3 happy_var_5)
+	) `HappyStk` happyRest}}
+
+happyReduce_231 = happyReduce 9# 69# happyReduction_231
+happyReduction_231 (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 happyOut58 happy_x_3 of { happy_var_3 -> 
+	case happyOut57 happy_x_5 of { happy_var_5 -> 
+	case happyOut57 happy_x_7 of { happy_var_7 -> 
+	case happyOut59 happy_x_9 of { happy_var_9 -> 
+	happyIn76
+		 ((AST.JSFor happy_var_3 happy_var_5 happy_var_7 happy_var_9)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_232 = happyReduce 10# 69# happyReduction_232
+happyReduction_232 (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 happyOut66 happy_x_4 of { happy_var_4 -> 
+	case happyOut57 happy_x_6 of { happy_var_6 -> 
+	case happyOut57 happy_x_8 of { happy_var_8 -> 
+	case happyOut59 happy_x_10 of { happy_var_10 -> 
+	happyIn76
+		 ((AST.JSForVar happy_var_4 happy_var_6 happy_var_8 happy_var_10)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_233 = happyReduce 7# 69# happyReduction_233
+happyReduction_233 (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 happyOut30 happy_x_3 of { happy_var_3 -> 
+	case happyOut55 happy_x_5 of { happy_var_5 -> 
+	case happyOut59 happy_x_7 of { happy_var_7 -> 
+	happyIn76
+		 ((AST.JSForIn happy_var_3 happy_var_5 happy_var_7)
+	) `HappyStk` happyRest}}}
+
+happyReduce_234 = happyReduce 8# 69# happyReduction_234
+happyReduction_234 (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 happyOut68 happy_x_4 of { happy_var_4 -> 
+	case happyOut55 happy_x_6 of { happy_var_6 -> 
+	case happyOut59 happy_x_8 of { happy_var_8 -> 
+	happyIn76
+		 ((AST.JSForVarIn happy_var_4 happy_var_6 happy_var_8)
+	) `HappyStk` happyRest}}}
+
+happyReduce_235 = happySpecReduce_2  70# happyReduction_235
+happyReduction_235 happy_x_2
+	happy_x_1
+	 =  case happyOut7 happy_x_2 of { happy_var_2 -> 
+	happyIn77
+		 ((AST.JSContinue [happy_var_2])
+	)}
+
+happyReduce_236 = happySpecReduce_3  70# happyReduction_236
+happyReduction_236 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut7 happy_x_3 of { happy_var_3 -> 
+	happyIn77
+		 ((AST.JSContinue [happy_var_2,happy_var_3])
+	)}}
+
+happyReduce_237 = happySpecReduce_2  71# happyReduction_237
+happyReduction_237 happy_x_2
+	happy_x_1
+	 =  case happyOut7 happy_x_2 of { happy_var_2 -> 
+	happyIn78
+		 ((AST.JSBreak [] [happy_var_2])
+	)}
+
+happyReduce_238 = happySpecReduce_3  71# happyReduction_238
+happyReduction_238 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut7 happy_x_3 of { happy_var_3 -> 
+	happyIn78
+		 ((AST.JSBreak [happy_var_2] [happy_var_3])
+	)}}
+
+happyReduce_239 = happySpecReduce_2  72# happyReduction_239
+happyReduction_239 happy_x_2
+	happy_x_1
+	 =  case happyOut7 happy_x_2 of { happy_var_2 -> 
+	happyIn79
+		 ((AST.JSReturn [happy_var_2])
+	)}
+
+happyReduce_240 = happySpecReduce_3  72# happyReduction_240
+happyReduction_240 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> 
+	case happyOut7 happy_x_3 of { happy_var_3 -> 
+	happyIn79
+		 ((AST.JSReturn [happy_var_2,happy_var_3])
+	)}}
+
+happyReduce_241 = happyReduce 6# 73# happyReduction_241
+happyReduction_241 (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 happyOut55 happy_x_3 of { happy_var_3 -> 
+	case happyOut59 happy_x_5 of { happy_var_5 -> 
+	case happyOut7 happy_x_6 of { happy_var_6 -> 
+	happyIn80
+		 ((AST.JSWith happy_var_3 [happy_var_5,happy_var_6])
+	) `HappyStk` happyRest}}}
+
+happyReduce_242 = happyReduce 5# 74# happyReduction_242
+happyReduction_242 (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_3 of { happy_var_3 -> 
+	case happyOut82 happy_x_5 of { happy_var_5 -> 
+	happyIn81
+		 ((AST.JSSwitch happy_var_3 happy_var_5)
+	) `HappyStk` happyRest}}
+
+happyReduce_243 = happySpecReduce_3  75# happyReduction_243
+happyReduction_243 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut83 happy_x_2 of { happy_var_2 -> 
+	happyIn82
+		 (happy_var_2            {- CaseBlock1 -}
+	)}
+
+happyReduce_244 = happyReduce 5# 75# happyReduction_244
+happyReduction_244 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut83 happy_x_2 of { happy_var_2 -> 
+	case happyOut85 happy_x_3 of { happy_var_3 -> 
+	case happyOut83 happy_x_4 of { happy_var_4 -> 
+	happyIn82
+		 ((happy_var_2++(happy_var_3:happy_var_4)) {- CaseBlock2 -}
+	) `HappyStk` happyRest}}}
+
+happyReduce_245 = happySpecReduce_1  76# happyReduction_245
+happyReduction_245 happy_x_1
+	 =  case happyOut84 happy_x_1 of { happy_var_1 -> 
+	happyIn83
+		 ([happy_var_1] {- CaseClauses1 -}
+	)}
+
+happyReduce_246 = happySpecReduce_2  76# happyReduction_246
+happyReduction_246 happy_x_2
+	happy_x_1
+	 =  case happyOut83 happy_x_1 of { happy_var_1 -> 
+	case happyOut84 happy_x_2 of { happy_var_2 -> 
+	happyIn83
+		 ((happy_var_1++[happy_var_2]) {- CaseClauses2 -}
+	)}}
+
+happyReduce_247 = happySpecReduce_0  76# happyReduction_247
+happyReduction_247  =  happyIn83
+		 ([]
+	)
+
+happyReduce_248 = happyReduce 4# 77# happyReduction_248
+happyReduction_248 (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 happyOut63 happy_x_4 of { happy_var_4 -> 
+	happyIn84
+		 ((AST.JSCase happy_var_2 happy_var_4)
+	) `HappyStk` happyRest}}
+
+happyReduce_249 = happySpecReduce_3  77# happyReduction_249
+happyReduction_249 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> 
+	happyIn84
+		 ((AST.JSCase happy_var_2 (AST.JSStatementList []))
+	)}
+
+happyReduce_250 = happySpecReduce_2  78# happyReduction_250
+happyReduction_250 happy_x_2
+	happy_x_1
+	 =  happyIn85
+		 ((AST.JSDefault (AST.JSStatementList []))
+	)
+
+happyReduce_251 = happySpecReduce_3  78# happyReduction_251
+happyReduction_251 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut63 happy_x_3 of { happy_var_3 -> 
+	happyIn85
+		 ((AST.JSDefault happy_var_3)
+	)}
+
+happyReduce_252 = happySpecReduce_3  79# happyReduction_252
+happyReduction_252 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	case happyOut59 happy_x_3 of { happy_var_3 -> 
+	happyIn86
+		 ((AST.JSLabelled happy_var_1 happy_var_3)
+	)}}
+
+happyReduce_253 = happySpecReduce_2  80# happyReduction_253
+happyReduction_253 happy_x_2
+	happy_x_1
+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> 
+	happyIn87
+		 ((AST.JSThrow happy_var_2)
+	)}
+
+happyReduce_254 = happySpecReduce_3  81# happyReduction_254
+happyReduction_254 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut62 happy_x_2 of { happy_var_2 -> 
+	case happyOut89 happy_x_3 of { happy_var_3 -> 
+	happyIn88
+		 ((AST.JSTry happy_var_2 happy_var_3)         {- TryStatement1 -}
+	)}}
+
+happyReduce_255 = happySpecReduce_3  81# happyReduction_255
+happyReduction_255 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut62 happy_x_2 of { happy_var_2 -> 
+	case happyOut91 happy_x_3 of { happy_var_3 -> 
+	happyIn88
+		 ((AST.JSTry happy_var_2 [happy_var_3])       {- TryStatement2 -}
+	)}}
+
+happyReduce_256 = happyReduce 4# 81# happyReduction_256
+happyReduction_256 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut62 happy_x_2 of { happy_var_2 -> 
+	case happyOut89 happy_x_3 of { happy_var_3 -> 
+	case happyOut91 happy_x_4 of { happy_var_4 -> 
+	happyIn88
+		 ((AST.JSTry happy_var_2 (happy_var_3++[happy_var_4])) {- TryStatement3 -}
+	) `HappyStk` happyRest}}}
+
+happyReduce_257 = happySpecReduce_1  82# happyReduction_257
+happyReduction_257 happy_x_1
+	 =  case happyOut90 happy_x_1 of { happy_var_1 -> 
+	happyIn89
+		 ([happy_var_1]       {- Catches 1 -}
+	)}
+
+happyReduce_258 = happySpecReduce_2  82# happyReduction_258
+happyReduction_258 happy_x_2
+	happy_x_1
+	 =  case happyOut89 happy_x_1 of { happy_var_1 -> 
+	case happyOut90 happy_x_2 of { happy_var_2 -> 
+	happyIn89
+		 ((happy_var_1++[happy_var_2]) {- Catches 2 -}
+	)}}
+
+happyReduce_259 = happyReduce 5# 83# happyReduction_259
+happyReduction_259 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut15 happy_x_3 of { happy_var_3 -> 
+	case happyOut62 happy_x_5 of { happy_var_5 -> 
+	happyIn90
+		 ((AST.JSCatch happy_var_3 [] happy_var_5)
+	) `HappyStk` happyRest}}
+
+happyReduce_260 = happyReduce 7# 83# happyReduction_260
+happyReduction_260 (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 happyOut15 happy_x_3 of { happy_var_3 -> 
+	case happyOut50 happy_x_5 of { happy_var_5 -> 
+	case happyOut62 happy_x_7 of { happy_var_7 -> 
+	happyIn90
+		 ((AST.JSCatch happy_var_3 happy_var_5 happy_var_7)
+	) `HappyStk` happyRest}}}
+
+happyReduce_261 = happySpecReduce_2  84# happyReduction_261
+happyReduction_261 happy_x_2
+	happy_x_1
+	 =  case happyOut62 happy_x_2 of { happy_var_2 -> 
+	happyIn91
+		 ((AST.JSFinally happy_var_2)
+	)}
+
+happyReduce_262 = happySpecReduce_2  85# happyReduction_262
+happyReduction_262 happy_x_2
+	happy_x_1
+	 =  happyIn92
+		 ((AST.JSLiteral "debugger")
+	)
+
+happyReduce_263 = happyReduce 8# 86# happyReduction_263
+happyReduction_263 (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 happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut96 happy_x_4 of { happy_var_4 -> 
+	case happyOut97 happy_x_7 of { happy_var_7 -> 
+	happyIn93
+		 ((AST.JSFunction happy_var_2 happy_var_4 happy_var_7)
+	) `HappyStk` happyRest}}}
+
+happyReduce_264 = happyReduce 7# 86# happyReduction_264
+happyReduction_264 (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 happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut97 happy_x_6 of { happy_var_6 -> 
+	happyIn93
+		 ((AST.JSFunction happy_var_2 [] happy_var_6)
+	) `HappyStk` happyRest}}
+
+happyReduce_265 = happyReduce 7# 87# happyReduction_265
+happyReduction_265 (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 happyOut95 happy_x_2 of { happy_var_2 -> 
+	case happyOut97 happy_x_6 of { happy_var_6 -> 
+	happyIn94
+		 ((AST.JSFunctionExpression happy_var_2 [] happy_var_6)
+	) `HappyStk` happyRest}}
+
+happyReduce_266 = happyReduce 8# 87# happyReduction_266
+happyReduction_266 (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 happyOut95 happy_x_2 of { happy_var_2 -> 
+	case happyOut96 happy_x_4 of { happy_var_4 -> 
+	case happyOut97 happy_x_7 of { happy_var_7 -> 
+	happyIn94
+		 ((AST.JSFunctionExpression happy_var_2 happy_var_4 happy_var_7)
+	) `HappyStk` happyRest}}}
+
+happyReduce_267 = happySpecReduce_1  88# happyReduction_267
+happyReduction_267 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn95
+		 ([happy_var_1] {- IdentifierOpt -}
+	)}
+
+happyReduce_268 = happySpecReduce_0  88# happyReduction_268
+happyReduction_268  =  happyIn95
+		 ([]   {- IdentifierOpt -}
+	)
+
+happyReduce_269 = happySpecReduce_1  89# happyReduction_269
+happyReduction_269 happy_x_1
+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
+	happyIn96
+		 ([happy_var_1] {- FormalParameterList -}
+	)}
+
+happyReduce_270 = happySpecReduce_3  89# happyReduction_270
+happyReduction_270 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut96 happy_x_1 of { happy_var_1 -> 
+	case happyOut15 happy_x_3 of { happy_var_3 -> 
+	happyIn96
+		 ((happy_var_1++[happy_var_3])
+	)}}
+
+happyReduce_271 = happySpecReduce_1  90# happyReduction_271
+happyReduction_271 happy_x_1
+	 =  case happyOut99 happy_x_1 of { happy_var_1 -> 
+	happyIn97
+		 ((AST.JSFunctionBody [happy_var_1])
+	)}
+
+happyReduce_272 = happySpecReduce_0  90# happyReduction_272
+happyReduction_272  =  happyIn97
+		 ((AST.JSFunctionBody [])
+	)
+
+happyReduce_273 = happySpecReduce_1  91# happyReduction_273
+happyReduction_273 happy_x_1
+	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
+	happyIn98
+		 (happy_var_1 {- Program -}
+	)}
+
+happyReduce_274 = happySpecReduce_1  92# happyReduction_274
+happyReduction_274 happy_x_1
+	 =  case happyOut101 happy_x_1 of { happy_var_1 -> 
+	happyIn99
+		 ((AST.JSSourceElements [happy_var_1])
+	)}
+
+happyReduce_275 = happySpecReduce_2  92# happyReduction_275
+happyReduction_275 happy_x_2
+	happy_x_1
+	 =  case happyOut99 happy_x_1 of { happy_var_1 -> 
+	case happyOut101 happy_x_2 of { happy_var_2 -> 
+	happyIn99
+		 ((combineSourceElements happy_var_1 happy_var_2)
+	)}}
+
+happyReduce_276 = happySpecReduce_1  93# happyReduction_276
+happyReduction_276 happy_x_1
+	 =  case happyOut101 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 ((AST.JSSourceElementsTop [happy_var_1])
+	)}
+
+happyReduce_277 = happySpecReduce_2  93# happyReduction_277
+happyReduction_277 happy_x_2
+	happy_x_1
+	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
+	case happyOut101 happy_x_2 of { happy_var_2 -> 
+	happyIn100
+		 ((combineSourceElementsTop happy_var_1 happy_var_2)
+	)}}
+
+happyReduce_278 = happySpecReduce_1  94# happyReduction_278
+happyReduction_278 happy_x_1
+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
+	happyIn101
+		 (happy_var_1 {- SourceElement1 -}
+	)}
+
+happyReduce_279 = happySpecReduce_1  94# happyReduction_279
+happyReduction_279 happy_x_1
+	 =  case happyOut93 happy_x_1 of { happy_var_1 -> 
+	happyIn101
+		 (happy_var_1 {- SourceElement2 -}
+	)}
+
+happyNewToken action sts stk
+	= lexCont(\tk -> 
+	let cont i = happyDoAction i tk action sts stk in
+	case tk of {
+	EOFToken {} -> happyDoAction 79# tk action sts stk;
+	SemiColonToken {} -> cont 1#;
+	CommaToken {} -> cont 2#;
+	HookToken {} -> cont 3#;
+	ColonToken {} -> cont 4#;
+	OrToken {} -> cont 5#;
+	AndToken {} -> cont 6#;
+	BitwiseOrToken {} -> cont 7#;
+	BitwiseXorToken {} -> cont 8#;
+	BitwiseAndToken {} -> cont 9#;
+	StrictEqToken {} -> cont 10#;
+	EqToken {} -> cont 11#;
+	SimpleAssignToken {} -> cont 12#;
+	StrictNeToken {} -> cont 13#;
+	NeToken {} -> cont 14#;
+	LshToken {} -> cont 15#;
+	LeToken {} -> cont 16#;
+	LtToken {} -> cont 17#;
+	UrshToken {} -> cont 18#;
+	RshToken {} -> cont 19#;
+	GeToken {} -> cont 20#;
+	GtToken {} -> cont 21#;
+	IncrementToken {} -> cont 22#;
+	DecrementToken {} -> cont 23#;
+	PlusToken {} -> cont 24#;
+	MinusToken {} -> cont 25#;
+	MulToken {} -> cont 26#;
+	DivToken {} -> cont 27#;
+	ModToken {} -> cont 28#;
+	NotToken {} -> cont 29#;
+	BitwiseNotToken {} -> cont 30#;
+	DotToken {} -> cont 31#;
+	LeftBracketToken {} -> cont 32#;
+	RightBracketToken {} -> cont 33#;
+	LeftCurlyToken {} -> cont 34#;
+	RightCurlyToken {} -> cont 35#;
+	LeftParenToken {} -> cont 36#;
+	RightParenToken {} -> cont 37#;
+	CondcommentEndToken {} -> cont 38#;
+	BreakToken {} -> cont 39#;
+	CaseToken {} -> cont 40#;
+	CatchToken {} -> cont 41#;
+	ConstToken {} -> cont 42#;
+	ContinueToken {} -> cont 43#;
+	DebuggerToken {} -> cont 44#;
+	DefaultToken {} -> cont 45#;
+	DeleteToken {} -> cont 46#;
+	DoToken {} -> cont 47#;
+	ElseToken {} -> cont 48#;
+	EnumToken {} -> cont 49#;
+	FalseToken {} -> cont 50#;
+	FinallyToken {} -> cont 51#;
+	ForToken {} -> cont 52#;
+	FunctionToken {} -> cont 53#;
+	GetToken {} -> cont 54#;
+	IfToken {} -> cont 55#;
+	InToken {} -> cont 56#;
+	InstanceofToken {} -> cont 57#;
+	NewToken {} -> cont 58#;
+	NullToken {} -> cont 59#;
+	ReturnToken {} -> cont 60#;
+	SetToken {} -> cont 61#;
+	SwitchToken {} -> cont 62#;
+	ThisToken {} -> cont 63#;
+	ThrowToken {} -> cont 64#;
+	TrueToken {} -> cont 65#;
+	TryToken {} -> cont 66#;
+	TypeofToken {} -> cont 67#;
+	VarToken {} -> cont 68#;
+	VoidToken {} -> cont 69#;
+	WhileToken {} -> cont 70#;
+	WithToken {} -> cont 71#;
+	IdentifierToken {} -> cont 72#;
+	DecimalToken {} -> cont 73#;
+	HexIntegerToken {} -> cont 74#;
+	StringToken {} -> cont 75#;
+	RegExToken {} -> cont 76#;
+	AssignToken {} -> cont 77#;
+	FutureToken {} -> cont 78#;
+	_ -> 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 = parseError tk
+
+parseProgram = happySomeParser where
+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut98 x))
+
+parseLiteral = happySomeParser where
+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut8 x))
+
+parsePrimaryExpression = happySomeParser where
+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut14 x))
+
+parseStatement = happySomeParser where
+  happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut59 x))
+
+happySeq = happyDontSeq
+
+
+combineSourceElements :: AST.JSNode -> AST.JSNode -> AST.JSNode
+combineSourceElements (AST.JSSourceElements xs) x = (AST.JSSourceElements (xs++[x]) )
+
+combineSourceElementsTop :: AST.JSNode -> AST.JSNode -> AST.JSNode
+combineSourceElementsTop (AST.JSSourceElementsTop xs) x = (AST.JSSourceElementsTop (xs++[x]) )
+
+combineStatements :: AST.JSNode -> AST.JSNode -> AST.JSNode
+combineStatements (AST.JSStatementList xs) (AST.JSStatementList ys) = (AST.JSStatementList (xs++ys) )
+combineStatements (AST.JSStatementList xs) y = (AST.JSStatementList (xs++[y]) )
+
+parseError :: Token -> P a 
+parseError = throwError . UnexpectedToken 
+
+flattenExpression :: AST.JSNode -> [AST.JSNode] -> AST.JSNode
+flattenExpression (AST.JSExpression xs) e = AST.JSExpression (xs++litComma++e)
+                        where
+                          litComma :: [AST.JSNode]
+                          litComma = [(AST.JSLiteral ",")]
+{-# 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 30 "templates/GenericTemplate.hs" #-}
+
+
+data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList
+
+
+
+
+
+{-# LINE 51 "templates/GenericTemplate.hs" #-}
+
+{-# LINE 61 "templates/GenericTemplate.hs" #-}
+
+{-# LINE 70 "templates/GenericTemplate.hs" #-}
+
+infixr 9 `HappyStk`
+data HappyStk a = HappyStk a (HappyStk a)
+
+-----------------------------------------------------------------------------
+-- starting the parse
+
+happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
+
+-----------------------------------------------------------------------------
+-- Accepting the parse
+
+-- If the current token is 0#, it means we've just accepted a partial
+-- parse (a %partial parser).  We must ignore the saved token on the top of
+-- the stack in this case.
+happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
+	happyReturn1 ans
+happyAccept j tk st sts (HappyStk ans _) = 
+	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)
+
+-----------------------------------------------------------------------------
+-- Arrays only: do the next action
+
+
+
+happyDoAction i tk st
+	= {- nothing -}
+
+
+	  case action of
+		0#		  -> {- nothing -}
+				     happyFail i tk st
+		-1# 	  -> {- nothing -}
+				     happyAccept i tk st
+		n | (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
+
+				     (happyReduceArr Happy_Data_Array.! rule) i tk st
+				     where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
+		n		  -> {- nothing -}
+
+
+				     happyShift new_state i tk st
+				     where (new_state) = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
+   where (off)    = indexShortOffAddr happyActOffsets st
+         (off_i)  = (off Happy_GHC_Exts.+# i)
+	 check  = if (off_i Happy_GHC_Exts.>=# (0# :: Happy_GHC_Exts.Int#))
+			then (indexShortOffAddr happyCheck off_i Happy_GHC_Exts.==#  i)
+			else False
+         (action)
+          | check     = indexShortOffAddr happyTable off_i
+          | otherwise = indexShortOffAddr happyDefActions st
+
+{-# LINE 130 "templates/GenericTemplate.hs" #-}
+
+
+indexShortOffAddr (HappyA# arr) off =
+	Happy_GHC_Exts.narrow16Int# i
+  where
+        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
+        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
+        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
+        off' = off Happy_GHC_Exts.*# 2#
+
+
+
+
+
+data HappyAddr = HappyA# Happy_GHC_Exts.Addr#
+
+
+
+
+-----------------------------------------------------------------------------
+-- HappyState data type (not arrays)
+
+{-# LINE 163 "templates/GenericTemplate.hs" #-}
+
+-----------------------------------------------------------------------------
+-- Shifting a token
+
+happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
+     let (i) = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
+--     trace "shifting the error token" $
+     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)
+
+happyShift new_state i tk st sts stk =
+     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)
+
+-- happyReduce is specialised for the common cases.
+
+happySpecReduce_0 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_0 nt fn j tk st@((action)) sts stk
+     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)
+
+happySpecReduce_1 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
+     = let r = fn v1 in
+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
+
+happySpecReduce_2 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
+     = let r = fn v1 v2 in
+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
+
+happySpecReduce_3 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
+     = let r = fn v1 v2 v3 in
+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
+
+happyReduce k i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happyReduce k nt fn j tk st sts stk
+     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
+	 sts1@((HappyCons (st1@(action)) (_))) ->
+        	let r = fn stk in  -- it doesn't hurt to always seq here...
+       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)
+
+happyMonadReduce k nt fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happyMonadReduce k nt fn j tk st sts stk =
+        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
+       where (sts1@((HappyCons (st1@(action)) (_)))) = happyDrop k (HappyCons (st) (sts))
+             drop_stk = happyDropStk k stk
+
+happyMonad2Reduce k nt fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happyMonad2Reduce k nt fn j tk st sts stk =
+       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
+       where (sts1@((HappyCons (st1@(action)) (_)))) = happyDrop k (HappyCons (st) (sts))
+             drop_stk = happyDropStk k stk
+
+             (off) = indexShortOffAddr happyGotoOffsets st1
+             (off_i) = (off Happy_GHC_Exts.+# nt)
+             (new_state) = indexShortOffAddr happyTable off_i
+
+
+
+
+happyDrop 0# l = l
+happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t
+
+happyDropStk 0# l = l
+happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs
+
+-----------------------------------------------------------------------------
+-- Moving to a new state after a reduction
+
+
+happyGoto nt j tk st = 
+   {- nothing -}
+   happyDoAction j tk new_state
+   where (off) = indexShortOffAddr happyGotoOffsets st
+         (off_i) = (off Happy_GHC_Exts.+# nt)
+         (new_state) = indexShortOffAddr happyTable off_i
+
+
+
+
+-----------------------------------------------------------------------------
+-- Error recovery (0# is the error token)
+
+-- parse error if we are in recovery and we fail again
+happyFail  0# tk old_st _ stk =
+--	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 :: a
+notHappyAtAll = error "Internal Happy error\n"
+
+-----------------------------------------------------------------------------
+-- Hack to get the typechecker to accept our action functions
+
+
+happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
+happyTcHack x y = y
+{-# INLINE happyTcHack #-}
+
+
+-----------------------------------------------------------------------------
+-- Seq-ing.  If the --strict flag is given, then Happy emits 
+--	happySeq = happyDoSeq
+-- otherwise it emits
+-- 	happySeq = happyDontSeq
+
+happyDoSeq, happyDontSeq :: a -> b -> b
+happyDoSeq   a b = a `seq` b
+happyDontSeq a b = b
+
+-----------------------------------------------------------------------------
+-- Don't inline any functions from the template.  GHC has a nasty habit
+-- of deciding to inline happyGoto everywhere, which increases the size of
+-- the generated parser quite a bit.
+
+
+{-# NOINLINE happyDoAction #-}
+{-# NOINLINE happyTable #-}
+{-# NOINLINE happyCheck #-}
+{-# NOINLINE happyActOffsets #-}
+{-# NOINLINE happyGotoOffsets #-}
+{-# NOINLINE happyDefActions #-}
+
+{-# NOINLINE happyShift #-}
+{-# NOINLINE happySpecReduce_0 #-}
+{-# NOINLINE happySpecReduce_1 #-}
+{-# NOINLINE happySpecReduce_2 #-}
+{-# NOINLINE happySpecReduce_3 #-}
+{-# NOINLINE happyReduce #-}
+{-# NOINLINE happyMonadReduce #-}
+{-# NOINLINE happyGoto #-}
+{-# NOINLINE happyFail #-}
+
+-- end of Happy Template.
diff --git a/dist/build/Language/JavaScript/Parser/Lexer.hs b/dist/build/Language/JavaScript/Parser/Lexer.hs
# file too large to diff: dist/build/Language/JavaScript/Parser/Lexer.hs
diff --git a/language-javascript.cabal b/language-javascript.cabal
--- a/language-javascript.cabal
+++ b/language-javascript.cabal
@@ -1,5 +1,5 @@
 Name:                language-javascript
-Version:             0.2.2
+Version:             0.3.0
 Synopsis:            Parser for JavaScript
 Description:         Parses Javascript into an Abstract Syntax Tree (AST).  Initially intended as frontend to hjsmin.
 Homepage:            https://github.com/alanz/language-javascript
@@ -34,6 +34,7 @@
                        Language.JavaScript.Parser.Parser
                        Language.JavaScript.Parser.Lexer
                        Language.JavaScript.Parser.Grammar
+                       Language.JavaScript.Parser.Grammar5
                        Language.JavaScript.Parser.AST
   Other-modules:       Language.JavaScript.Parser.LexerUtils
                        Language.JavaScript.Parser.ParseError
diff --git a/runtests.hs b/runtests.hs
--- a/runtests.hs
+++ b/runtests.hs
@@ -6,11 +6,21 @@
 
 import Control.Monad (liftM)
 import Language.JavaScript.Parser.Parser
-import Language.JavaScript.Parser.Grammar
+--import Language.JavaScript.Parser.Grammar
+import Language.JavaScript.Parser.Grammar5
 
 main :: IO ()
 main = defaultMain [testSuite]
 
+one :: IO ()
+one = defaultMain [oneSuite]
+
+oneSuite :: Test
+oneSuite = testGroup "One"
+ [
+   testCase "ObjectLiteral7"    (testProg "x={get foo() {return 1},set foo(a) {x=a}}"  "")
+ ]  
+
 testSuite :: Test
 testSuite = testGroup "Parser"
     [ 
@@ -18,7 +28,8 @@
     , testCase "LiteralNull"       (testLiteral "null"     "Right (JSLiteral \"null\")")
     , testCase "LiteralFalse"      (testLiteral "false"    "Right (JSLiteral \"false\")")
     , testCase "LiteralTrue"       (testLiteral "true"     "Right (JSLiteral \"true\")")
-    , testCase "LiteralHexInteger" (testLiteral "0x1234fF" "Right (JSHexInteger \"0x1234fF\")")
+    , testCase "LiteralHexInteger1" (testLiteral "0x1234fF" "Right (JSHexInteger \"0x1234fF\")")
+    , testCase "LiteralHexInteger2" (testLiteral "0X1234fF" "Right (JSHexInteger \"0X1234fF\")")
     , testCase "LiteralDecimal1"   (testLiteral "1.0e4"    "Right (JSDecimal \"1.0e4\")")
     , testCase "LiteralDecimal2"   (testLiteral "2.3E6"    "Right (JSDecimal \"2.3E6\")")
     , testCase "LiteralDecimal3"   (testLiteral "4.5"      "Right (JSDecimal \"4.5\")")
@@ -59,12 +70,17 @@
     , testCase "ObjectLiteral2"    (testPE "{x:1}"    "Right (JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"x\") [JSDecimal \"1\"]])")
     , testCase "ObjectLiteral3"    (testPE "{x:1,y:2}"     "Right (JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"x\") [JSDecimal \"1\"],JSPropertyNameandValue (JSIdentifier \"y\") [JSDecimal \"2\"]])")
       
-    , testCase "ObjectLiteral4"    (testPE "{evaluate:evaluate,load:function load(s){if(x)return s;1}}" "Right (JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"evaluate\") [JSIdentifier \"evaluate\"],JSPropertyNameandValue (JSIdentifier \"load\") [JSFunction (JSIdentifier \"load\") [JSIdentifier \"s\"] (JSFunctionBody [JSSourceElements [JSIf (JSExpression [JSIdentifier \"x\"]) (JSReturn [JSExpression [JSIdentifier \"s\"],JSLiteral \";\"]),JSExpression [JSDecimal \"1\"]]])]])")
+    , testCase "ObjectLiteral4"    (testPE "{evaluate:evaluate,load:function load(s){if(x)return s;1}}" "Right (JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"evaluate\") [JSIdentifier \"evaluate\"],JSPropertyNameandValue (JSIdentifier \"load\") [JSFunctionExpression [JSIdentifier \"load\"] [JSIdentifier \"s\"] (JSFunctionBody [JSSourceElements [JSIf (JSExpression [JSIdentifier \"x\"]) (JSReturn [JSExpression [JSIdentifier \"s\"],JSLiteral \";\"]),JSExpression [JSDecimal \"1\"]]])]])")
 
     , testCase "ObjectLiteral5"    (testPE "{x:1,}"    "Right (JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"x\") [JSDecimal \"1\"],JSLiteral \",\"])")
     
     , testCase "ObjectLiteral6"    (testProg "a={\n  values: 7,\n}\n" "Right (JSSourceElementsTop [JSExpression [JSIdentifier \"a\",JSOperator \"=\",JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"values\") [JSDecimal \"7\"],JSLiteral \",\"]]])")
       
+    -- Edition 5 extensions  
+    , testCase "ObjectLiteral7"    (testProg "x={get foo() {return 1},set foo(a) {x=a}}"  "Right (JSSourceElementsTop [JSExpression [JSIdentifier \"x\",JSOperator \"=\",JSObjectLiteral [JSPropertyAccessor \"get\" (JSIdentifier \"foo\") [] (JSFunctionBody [JSSourceElements [JSReturn [JSExpression [JSDecimal \"1\"],JSLiteral \"\"]]]),JSPropertyAccessor \"set\" (JSIdentifier \"foo\") [JSIdentifier \"a\"] (JSFunctionBody [JSSourceElements [JSExpression [JSIdentifier \"x\",JSOperator \"=\",JSIdentifier \"a\"]]])]]])")
+      
+    , testCase "ObjectLiteral8"    (testProg "a={if:1,interface:2}" "Right (JSSourceElementsTop [JSExpression [JSIdentifier \"a\",JSOperator \"=\",JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"if\") [JSDecimal \"1\"],JSPropertyNameandValue (JSIdentifier \"interface\") [JSDecimal \"2\"]]]])")
+      
     , testCase "ExpressionParen"   (testPE "(56)"     "Right (JSExpressionParen (JSExpression [JSDecimal \"56\"]))")
       
     , testCase "Statement1"        (testStmt "x"        "Right (JSExpression [JSIdentifier \"x\"])")
@@ -256,6 +272,10 @@
 
    , testCase "bug2.b" (testProg "function() {\nz = function z(o) {\nreturn r;\n};}" "Right (JSSourceElementsTop [JSExpression [JSFunctionExpression [] [] (JSFunctionBody [JSSourceElements [JSExpression [JSIdentifier \"z\",JSOperator \"=\",JSFunctionExpression [JSIdentifier \"z\"] [JSIdentifier \"o\"] (JSFunctionBody [JSSourceElements [JSReturn [JSExpression [JSIdentifier \"r\"],JSLiteral \";\"]]])],JSLiteral \";\"]])]])")
 
+   , testCase "02_sm.js"   (testProg "{zero}\none1;two\n{three\nfour;five;\n{\nsix;{seven;}\n}\n}" "Right (JSSourceElementsTop [JSBlock (JSStatementList [JSExpression [JSIdentifier \"zero\"]]),JSExpression [JSIdentifier \"one1\"],JSLiteral \";\",JSExpression [JSIdentifier \"two\"],JSBlock (JSStatementList [JSExpression [JSIdentifier \"three\"],JSExpression [JSIdentifier \"four\"],JSLiteral \";\",JSExpression [JSIdentifier \"five\"],JSLiteral \";\",JSBlock (JSStatementList [JSExpression [JSIdentifier \"six\"],JSLiteral \";\",JSBlock (JSStatementList [JSExpression [JSIdentifier \"seven\"],JSLiteral \";\"])])])])")
+     
+   , testCase "02_sm.js.2" (testProg "{zero}\nget;two\n{three\nfour;set;\n{\nsix;{seven;}\n}\n}" "Right (JSSourceElementsTop [JSBlock (JSStatementList [JSExpression [JSIdentifier \"zero\"]]),JSExpression [JSIdentifier \"get\"],JSLiteral \";\",JSExpression [JSIdentifier \"two\"],JSBlock (JSStatementList [JSExpression [JSIdentifier \"three\"],JSExpression [JSIdentifier \"four\"],JSLiteral \";\",JSExpression [JSIdentifier \"set\"],JSLiteral \";\",JSBlock (JSStatementList [JSExpression [JSIdentifier \"six\"],JSLiteral \";\",JSBlock (JSStatementList [JSExpression [JSIdentifier \"seven\"],JSLiteral \";\"])])])])")
+
     ]
 
 srcHelloWorld = "Hello"
@@ -275,6 +295,7 @@
 testStmt str expected = expected @=? (show $ parseUsing parseStatement str "src")
 
 testProg str expected = expected @=? (show $ parseUsing parseProgram str "src")
+--testProg str expected = expected @=? (show $ readJs str )
 
 testFile fileName expected = do
   res <- parseFile fileName
diff --git a/src/Language/JavaScript/Parser.hs b/src/Language/JavaScript/Parser.hs
--- a/src/Language/JavaScript/Parser.hs
+++ b/src/Language/JavaScript/Parser.hs
@@ -6,7 +6,7 @@
        , JSNode(..)  
        , ParseError(..)  
        -- Source locations  
-       , AlexPosn
+       , AlexPosn(..)
        -- , SrcLocation (..)
        -- , SrcSpan (..)
        -- , Span (..)
diff --git a/src/Language/JavaScript/Parser/AST.hs b/src/Language/JavaScript/Parser/AST.hs
--- a/src/Language/JavaScript/Parser/AST.hs
+++ b/src/Language/JavaScript/Parser/AST.hs
@@ -42,6 +42,7 @@
               | JSObjectLiteral [JSNode]  
               | JSOperator String  
               | JSPropertyNameandValue JSNode [JSNode]
+              | JSPropertyAccessor String JSNode [JSNode] JSNode
               | JSRegEx String
               | JSReturn [JSNode]
               | JSSourceElements [JSNode]
diff --git a/src/Language/JavaScript/Parser/Grammar5.y b/src/Language/JavaScript/Parser/Grammar5.y
new file mode 100644
--- /dev/null
+++ b/src/Language/JavaScript/Parser/Grammar5.y
@@ -0,0 +1,983 @@
+{
+module Language.JavaScript.Parser.Grammar5 (
+    parseProgram
+  , parseLiteral
+  , parsePrimaryExpression
+  , parseStatement
+  ) where
+
+import Control.Monad.Error.Class (throwError)
+import Data.Char
+import Language.JavaScript.Parser.Lexer
+import Language.JavaScript.Parser.ParserMonad
+import Language.JavaScript.Parser.SrcLocation
+import qualified Language.JavaScript.Parser.AST as AST
+
+}
+
+-- The name of the generated function to be exported from the module
+%name parseProgram           Program
+%name parseLiteral           Literal
+%name parsePrimaryExpression PrimaryExpression
+%name parseStatement         Statement
+
+%tokentype { Token }
+%error { parseError }
+%monad { P } { thenP } { returnP }
+%lexer { lexCont } { EOFToken {} }
+
+
+%token 
+
+     ';'	{ SemiColonToken {} }
+     ','	{ CommaToken {} }
+     '?'	{ HookToken {} }
+     ':'	{ ColonToken {} }
+     '||'	{ OrToken {} }
+     '&&'	{ AndToken {} }
+     '|'	{ BitwiseOrToken {} }
+     '^'	{ BitwiseXorToken {} }
+     '&'	{ BitwiseAndToken {} }
+     '==='	{ StrictEqToken {} }
+     '=='	{ EqToken {} }
+     '='	{ SimpleAssignToken {} }
+     '!=='	{ StrictNeToken {} }
+     '!='	{ NeToken {} }
+     '<<'	{ LshToken {} }
+     '<='	{ LeToken {} }
+     '<'	{ LtToken {} }
+     '>>>'	{ UrshToken {} }
+     '>>'	{ RshToken {} }
+     '>='	{ GeToken {} }
+     '>'	{ GtToken {} }
+     '++'	{ IncrementToken {} }
+     '--'	{ DecrementToken {} }
+     '+'	{ PlusToken {} }
+     '-'	{ MinusToken {} }
+     '*'	{ MulToken {} }
+     '/'	{ DivToken {} }
+     '%'	{ ModToken {} }
+     '!'	{ NotToken {} }
+     '~'	{ BitwiseNotToken {} }
+     '.'	{ DotToken {} }
+     '['	{ LeftBracketToken {} }
+     ']'	{ RightBracketToken {} }
+     '{'	{ LeftCurlyToken {} }
+     '}'	{ RightCurlyToken {} }
+     '('	{ LeftParenToken {} }
+     ')'	{ RightParenToken {} }
+     '@*/'	{ CondcommentEndToken {} }
+  
+     'break'      { BreakToken {} }
+     'case'       { CaseToken {} }
+     'catch'      { CatchToken {} }
+     'const'      { ConstToken {} }
+     'continue'   { ContinueToken {} }
+     'debugger'   { DebuggerToken {} }
+     'default'    { DefaultToken {} }
+     'delete'     { DeleteToken {} }
+     'do'         { DoToken {} }
+     'else'       { ElseToken {} }
+     'enum'       { EnumToken {} }
+     'false'      { FalseToken {} }
+     'finally'    { FinallyToken {} }
+     'for'        { ForToken {} }
+     'function'   { FunctionToken {} }
+     'get'        { GetToken {} }
+     'if'         { IfToken {} }
+     'in'         { InToken {} }
+     'instanceof' { InstanceofToken {} }
+     'new'        { NewToken {} }
+     'null'       { NullToken {} }
+     'return'     { ReturnToken {} }
+     'set'        { SetToken {} }
+     'switch'     { SwitchToken {} }
+     'this'       { ThisToken {} }
+     'throw'      { ThrowToken {} }
+     'true'       { TrueToken {} }
+     'try'        { TryToken {} }
+     'typeof'     { TypeofToken {} }
+     'var'        { VarToken {} }
+     'void'       { VoidToken {} }
+     'while'      { WhileToken {} }
+     'with'       { WithToken {} }
+     
+     
+     'ident'      { IdentifierToken {} }
+     'decimal'    { DecimalToken {} }
+     'hexinteger' { HexIntegerToken {} }
+     'string'     { StringToken {} }
+     'regex'      { RegExToken {} }
+     'assign'     { AssignToken {} }
+
+     'future'     { FutureToken {} }
+
+
+%%
+
+
+-- --------------------------------------------------------------------
+-- Start of GOLD Grammar for Javascript, used as a base
+-- --------------------------------------------------------------------
+
+-- "Name"     = 'JavaScript Grammar'
+-- "Author"   = 'M.Schnoor-Matriciani'
+-- "Version"  = '0.9'
+-- "About"    = 'JavaScript Grammar, Subset of ECMA Edition 3'
+
+-- "Start Symbol" = <Program>
+-- "Case Sensitive" = 'True'
+ 
+-- ! ------------------------------------------------- Sets
+
+-- {ID Head}      = {Letter} + [_] + [$]
+-- {ID Tail}      = {Alphanumeric} + [_] + [$]
+-- {String Chars1} = {Printable} + {HT} - ["\] 
+-- {String Chars2} = {Printable} + {HT} - [\''] 
+-- {Hex Digit}    = {Digit} + [ABCDEF] + [abcdef]
+-- {RegExp Chars} = {Letter}+{Digit}+['^']+['$']+['*']+['+']+['?']+['{']+['}']+['|']+['-']+['.']+[',']+['#']+['[']+[']']+['_']+['<']+['>']
+-- {Non Terminator} = {String Chars1} - {CR} - {LF}
+-- {Non Zero Digits}={Digit}-[0]
+
+-- ! ------------------------------------------------- Terminals
+
+-- Identifier    = {ID Head}{ID Tail}*
+-- StringLiteral = '"' ( {String Chars1} | '\' {Printable} )* '"' | '' ( {String Chars2} | '\' {Printable} )* ''
+
+-- HexIntegerLiteral = '0x' {Hex Digit}+
+
+-- RegExp         = '/' ({RegExp Chars} | '\' {Non Terminator})+ '/' ( 'g' | 'i' | 'm' )*
+-- DecimalLiteral= {Non Zero Digits}+ '.' {Digit}* ('e' | 'E' ) {Non Zero Digits}+ {Digit}* |  {Non Zero Digits}+ '.' {Digit}* | '0' '.' {Digit}+ ('e' | 'E' ) {Non Zero Digits}+ {Digit}* | {Non Zero Digits}+ {Digit}* | '0' | '0' '.' {Digit}+
+
+-- Comment Start = '/*'
+-- Comment End   = '*/'
+-- Comment Line  = '//'
+
+
+-- ! ------------------------------------------------- Rules
+
+
+
+-- ---------------------------------------------------------------------
+-- Sort out automatically inserted semi-colons
+
+AutoSemi :: { AST.JSNode }
+AutoSemi : ';' { AST.JSLiteral ";"}
+         |     { AST.JSLiteral ""}
+           
+-- ---------------------------------------------------------------------
+
+-- Literal ::                                                                See 7.8
+--         NullLiteral
+--         BooleanLiteral
+--         NumericLiteral
+--         StringLiteral
+Literal :: { AST.JSNode }
+Literal : NullLiteral     {$1}
+        | BooleanLiteral  {$1}
+        | NumericLiteral  {$1}
+        | StringLiteral   {$1}
+        | RegularExpressionLiteral {$1}  
+
+NullLiteral :: { AST.JSNode }
+NullLiteral : 'null' { AST.JSLiteral "null" }
+
+BooleanLiteral :: { AST.JSNode }
+BooleanLiteral : 'true' { AST.JSLiteral "true" }
+               | 'false' { AST.JSLiteral "false" }
+
+-- <Numeric Literal> ::= DecimalLiteral
+--                     | HexIntegerLiteral
+NumericLiteral :: { AST.JSNode }
+NumericLiteral : 'decimal'    { AST.JSDecimal (token_literal $1)}
+               | 'hexinteger' { AST.JSHexInteger (token_literal $1)}
+
+StringLiteral :: { AST.JSNode }
+StringLiteral : 'string'  {AST.JSStringLiteral (token_delimiter $1) (token_literal $1)}
+
+-- <Regular Expression Literal> ::= RegExp 
+RegularExpressionLiteral :: { AST.JSNode }
+RegularExpressionLiteral : 'regex' {AST.JSRegEx (token_literal $1)}
+
+-- PrimaryExpression :                                                   See 11.1
+--        this
+--        Identifier
+--        Literal
+--        ArrayLiteral
+--        ObjectLiteral
+--        ( Expression )
+PrimaryExpression :: { AST.JSNode }
+PrimaryExpression : 'this'                   { AST.JSLiteral "this" }
+                  | Identifier               { $1 {- PrimaryExpression1 -}}
+                  | Literal                  { $1 {- PrimaryExpression2 -}}
+                  | ArrayLiteral             { $1 {- PrimaryExpression3 -}}
+                  | ObjectLiteral            { $1 {- PrimaryExpression4 -}}
+                  | '(' Expression ')'       { AST.JSExpressionParen $2 }
+                  
+-- Identifier ::                                                            See 7.6
+--         IdentifierName but not ReservedWord
+-- IdentifierName ::                                                        See 7.6
+--         IdentifierStart
+--         IdentifierName IdentifierPart
+Identifier :: { AST.JSNode }
+Identifier : 'ident' { AST.JSIdentifier (token_literal $1) }
+           | 'get'   { AST.JSIdentifier "get" }  
+           | 'set'   { AST.JSIdentifier "set" }  
+
+-- TODO: make this include any reserved word too, including future ones
+IdentifierName :: { AST.JSNode }
+IdentifierName : Identifier {$1}
+             | 'break'      { AST.JSIdentifier "break" }  
+             | 'case'       { AST.JSIdentifier "case" }
+             | 'catch'      { AST.JSIdentifier "catch" }
+             | 'const'      { AST.JSIdentifier "const" }
+             | 'continue'   { AST.JSIdentifier "continue" }
+             | 'debugger'   { AST.JSIdentifier "debugger" }
+             | 'default'    { AST.JSIdentifier "default" }
+             | 'delete'     { AST.JSIdentifier "delete" }
+             | 'do'         { AST.JSIdentifier "do" }
+             | 'else'       { AST.JSIdentifier "else" }
+             | 'enum'       { AST.JSIdentifier "enum" }
+             | 'false'      { AST.JSIdentifier "false" }
+             | 'finally'    { AST.JSIdentifier "finally" }
+             | 'for'        { AST.JSIdentifier "for" }
+             | 'function'   { AST.JSIdentifier "function" }
+             | 'get'        { AST.JSIdentifier "get" }
+             | 'if'         { AST.JSIdentifier "if" }
+             | 'in'         { AST.JSIdentifier "in" }
+             | 'instanceof' { AST.JSIdentifier "instanceof" }
+             | 'new'        { AST.JSIdentifier "new" }
+             | 'null'       { AST.JSIdentifier "null" }
+             | 'return'     { AST.JSIdentifier "return" }
+             | 'set'        { AST.JSIdentifier "set" }
+             | 'switch'     { AST.JSIdentifier "switch" }
+             | 'this'       { AST.JSIdentifier "this" }
+             | 'throw'      { AST.JSIdentifier "throw" }
+             | 'true'       { AST.JSIdentifier "true" }
+             | 'try'        { AST.JSIdentifier "try" }
+             | 'typeof'     { AST.JSIdentifier "typeof" }
+             | 'var'        { AST.JSIdentifier "var" }
+             | 'void'       { AST.JSIdentifier "void" }
+             | 'while'      { AST.JSIdentifier "while" }
+             | 'with'       { AST.JSIdentifier "with" }
+             | 'future'     { AST.JSIdentifier (token_literal $1) }  
+
+
+
+-- ArrayLiteral :                                                        See 11.1.4
+--        [ Elisionopt ]
+--        [ ElementList ]
+--        [ ElementList , Elisionopt ]
+ArrayLiteral :: { AST.JSNode }
+ArrayLiteral : '[' ']'                         { AST.JSArrayLiteral [] }
+             | '[' Elision ']'                 { AST.JSArrayLiteral $2 }
+             | '[' ElementList ']'             { AST.JSArrayLiteral $2 }
+             | '[' ElementList ',' Elision ']' { AST.JSArrayLiteral ($2++$4) }
+             | '[' ElementList ',' ']'         { AST.JSArrayLiteral ($2++[AST.JSLiteral ","]) }
+
+-- ElementList :                                                         See 11.1.4
+--        Elisionopt AssignmentExpression
+--        ElementList , Elisionopt AssignmentExpression
+ElementList :: { [AST.JSNode] }
+ElementList : Elision AssignmentExpression                 { ($1++$2) {- ElementList -}}
+            | AssignmentExpression                         { $1 {- ElementList -}}
+            | ElementList ',' Elision AssignmentExpression { ($1++[(AST.JSElision [])]++$3++$4) {- ElementList -}}
+            | ElementList ',' AssignmentExpression         { ($1++[(AST.JSElision [])]++$3) {- ElementList -}}
+
+-- Elision :                                                             See 11.1.4
+--        ,
+--        Elision ,
+Elision :: { [AST.JSNode] }
+Elision :  ','        { [(AST.JSElision [])] }
+        | Elision ',' { $1 ++ [(AST.JSElision [])] }
+
+-- ObjectLiteral :                                                       See 11.1.5
+--        { }
+--        { PropertyNameAndValueList }
+--        { PropertyNameAndValueList , }
+ObjectLiteral :: { AST.JSNode }
+ObjectLiteral : '{' '}'                          { AST.JSObjectLiteral [] }
+              | '{' PropertyNameandValueList '}' { AST.JSObjectLiteral $2 } 
+              | '{' PropertyNameandValueList ',' '}' { AST.JSObjectLiteral ($2++[AST.JSLiteral ","]) } 
+
+-- <Property Name and Value List> ::= <Property Name> ':' <Assignment Expression>
+--                                  | <Property Name and Value List> ',' <Property Name> ':' <Assignment Expression>
+
+-- Seems we can have function declarations in the value part too                           
+-- PropertyNameAndValueList :                                            See 11.1.5
+--        PropertyAssignment
+--        PropertyNameAndValueList , PropertyAssignment
+PropertyNameandValueList :: { [ AST.JSNode ] }
+PropertyNameandValueList : PropertyAssignment                              { [$1] {- PropertyNameandValueList1 -} }
+                         | PropertyNameandValueList ',' PropertyAssignment { ($1 ++ [$3]) {- PropertyNameandValueList2 -} }
+
+-- PropertyAssignment :                                                  See 11.1.5
+--        PropertyName : AssignmentExpression
+--        get PropertyName() { FunctionBody }
+--        set PropertyName( PropertySetParameterList ) { FunctionBody }
+-- TODO: not clear if get/set are keywords, or just used in a specific context. Puzzling.
+PropertyAssignment :: { AST.JSNode }
+PropertyAssignment : PropertyName ':' AssignmentExpression { (AST.JSPropertyNameandValue $1 $3) }
+                   -- Should be "get" in next, but is not a Token
+                   | 'get' PropertyName '(' ')' '{' FunctionBody '}' { (AST.JSPropertyAccessor "get" $2 [] $6) }
+                   -- Should be "set" in next, but is not a Token
+                   | 'set' PropertyName '(' PropertySetParameterList ')' '{' FunctionBody '}' 
+                       { (AST.JSPropertyAccessor "set" $2 [$4] $7) }
+
+-- PropertyName :                                                        See 11.1.5
+--        IdentifierName
+--        StringLiteral
+--        NumericLiteral
+PropertyName :: { AST.JSNode }
+PropertyName : IdentifierName { $1 {- PropertyName1 -}}
+             | StringLiteral  { $1 {- PropertyName2 -}}
+             | NumericLiteral { $1 {- PropertyName3 -}}
+
+-- PropertySetParameterList :                                            See 11.1.5
+--        Identifier
+PropertySetParameterList :: { AST.JSNode }
+PropertySetParameterList : Identifier { $1 {- PropertySetParameterList -}}
+
+-- MemberExpression :                                           See 11.2
+--        PrimaryExpression
+--        FunctionExpression
+--        MemberExpression [ Expression ]
+--        MemberExpression . IdentifierName
+--        new MemberExpression Arguments
+MemberExpression :: { [AST.JSNode] }
+MemberExpression : PrimaryExpression   { [$1] {- MemberExpression -}} 
+                 | FunctionExpression  { [$1] {- MemberExpression -}}
+                 | MemberExpression '[' Expression ']' { [AST.JSMemberSquare $1 $3] }
+                 | MemberExpression '.' IdentifierName { [AST.JSMemberDot $1 $3] } 
+                 | 'new' MemberExpression Arguments    { (((AST.JSLiteral "new "):$2)++[$3])}
+
+-- MARK --
+
+-- NewExpression :                                              See 11.2
+--        MemberExpression
+--        new NewExpression
+NewExpression :: { [AST.JSNode] }
+NewExpression : MemberExpression {$1 {- NewExpression -}} 
+              | 'new' NewExpression { (AST.JSLiteral "new "):$2 }
+
+-- CallExpression :                                             See 11.2
+--        MemberExpression Arguments
+--        CallExpression Arguments
+--        CallExpression [ Expression ]
+--        CallExpression . IdentifierName
+CallExpression :: { [AST.JSNode] }
+CallExpression : MemberExpression Arguments        { $1++[$2] {- CallExpression -} } 
+               | CallExpression Arguments          { ($1++[(AST.JSCallExpression "()" [$2])]) }
+               | CallExpression '[' Expression ']' { ($1++[(AST.JSCallExpression "[]" [$3])]) }
+               | CallExpression '.' IdentifierName { ($1++[(AST.JSCallExpression "."  [$3])]) }
+
+-- Arguments :                                                  See 11.2
+--        ()
+--        ( ArgumentList )
+Arguments :: { AST.JSNode }
+Arguments : '(' ')'               { (AST.JSArguments []) } 
+          | '(' ArgumentList ')'  { (AST.JSArguments $2) }
+
+-- ArgumentList :                                               See 11.2
+--        AssignmentExpression
+--        ArgumentList , AssignmentExpression
+ArgumentList :: { [[AST.JSNode]] }
+ArgumentList : AssignmentExpression { [$1] {- ArgumentList -}}
+             | ArgumentList ',' AssignmentExpression { $1++[$3] {- ArgumentList2 -} }
+
+-- LeftHandSideExpression :                                     See 11.2
+--        NewExpression
+--        CallExpression
+LeftHandSideExpression :: { [AST.JSNode] }
+LeftHandSideExpression : NewExpression  { $1 {- LeftHandSideExpression1 -}}
+                       | CallExpression { $1 {- LeftHandSideExpression12 -}} 
+
+-- PostfixExpression :                                          See 11.3
+--        LeftHandSideExpression
+--                                  [no LineTerminator here]
+--        LeftHandSideExpression                             ++
+--                                  [no LineTerminator here]
+--        LeftHandSideExpression                             --
+PostfixExpression :: { [AST.JSNode] }
+PostfixExpression : LeftHandSideExpression { $1 {- PostfixExpression -} } 
+                  | PostfixExpression '++' {[(AST.JSExpressionPostfix "++" $1)]}
+                  | PostfixExpression '--' {[(AST.JSExpressionPostfix "--" $1)]}
+
+-- UnaryExpression :                                            See 11.4
+--        PostfixExpression
+--        delete UnaryExpression
+--        void UnaryExpression
+--        typeof UnaryExpression
+--        ++ UnaryExpression
+--        -- UnaryExpression
+--        + UnaryExpression
+--        - UnaryExpression
+--        ~ UnaryExpression
+--        ! UnaryExpression
+UnaryExpression :: { [AST.JSNode] }
+UnaryExpression : PostfixExpression { $1 {- UnaryExpression -} } 
+                | 'delete' UnaryExpression { ((AST.JSUnary "delete "):$2)}
+                | 'void'   UnaryExpression { ((AST.JSUnary "void "):$2)}
+                | 'typeof' UnaryExpression { ((AST.JSUnary "typeof "):$2)}
+                | '++'     UnaryExpression { ((AST.JSUnary "++"):$2) } 
+                | '--'     UnaryExpression { ((AST.JSUnary "--"):$2)}
+                | '+'      UnaryExpression { ((AST.JSUnary "+"):$2)}
+                | '-'      UnaryExpression { ((AST.JSUnary "-"):$2)}
+                | '~'      UnaryExpression { ((AST.JSUnary "~"):$2)}
+                | '!'      UnaryExpression { ((AST.JSUnary "!"):$2)}
+
+-- MultiplicativeExpression :                                   See 11.5
+--        UnaryExpression
+--        MultiplicativeExpression * UnaryExpression
+--        MultiplicativeExpression / UnaryExpression
+--        MultiplicativeExpression % UnaryExpression
+MultiplicativeExpression :: { [AST.JSNode] }
+MultiplicativeExpression : UnaryExpression { $1 {- MultiplicativeExpression -}} 
+                         | MultiplicativeExpression '*' UnaryExpression { [(AST.JSExpressionBinary "*" $1 $3)]}
+                         | MultiplicativeExpression '/' UnaryExpression { [(AST.JSExpressionBinary "/" $1 $3)]}
+                         | MultiplicativeExpression '%' UnaryExpression { [(AST.JSExpressionBinary "%" $1 $3)]}
+
+-- AdditiveExpression :                                        See 11.6
+--        MultiplicativeExpression
+--        AdditiveExpression + MultiplicativeExpression
+--        AdditiveExpression - MultiplicativeExpression
+AdditiveExpression :: { [AST.JSNode] }
+AdditiveExpression : AdditiveExpression '+' MultiplicativeExpression { [(AST.JSExpressionBinary "+" $1 $3)]}
+                   | AdditiveExpression '-' MultiplicativeExpression { [(AST.JSExpressionBinary "-" $1 $3)]}
+                   | MultiplicativeExpression { $1 {- (goRegExp $1)-} {- AdditiveExpression -} } 
+
+-- ShiftExpression :                                           See 11.7
+--        AdditiveExpression
+--        ShiftExpression << AdditiveExpression
+--        ShiftExpression >> AdditiveExpression
+--        ShiftExpression >>> AdditiveExpression
+ShiftExpression :: { [AST.JSNode] }
+ShiftExpression : ShiftExpression '<<'  AdditiveExpression { [(AST.JSExpressionBinary "<<" $1 $3)]}
+                | ShiftExpression '>>'  AdditiveExpression { [(AST.JSExpressionBinary ">>" $1 $3)]}
+                | ShiftExpression '>>>' AdditiveExpression { [(AST.JSExpressionBinary ">>>" $1 $3)]}
+                | AdditiveExpression { $1 {- ShiftExpression -}} 
+
+-- RelationalExpression :                                      See 11.8
+--        ShiftExpression
+--        RelationalExpression < ShiftExpression
+--        RelationalExpression > ShiftExpression
+--        RelationalExpression <= ShiftExpression
+--        RelationalExpression >= ShiftExpression
+--        RelationalExpression instanceof ShiftExpression
+--        RelationalExpression in ShiftExpression
+RelationalExpression :: { [AST.JSNode] }
+RelationalExpression : ShiftExpression { $1 {- RelationalExpression -}} 
+                     | RelationalExpression '<'  ShiftExpression { [(AST.JSExpressionBinary "<" $1 $3)]}
+                     | RelationalExpression '>'  ShiftExpression { [(AST.JSExpressionBinary ">" $1 $3)]}
+                     | RelationalExpression '<=' ShiftExpression { [(AST.JSExpressionBinary "<=" $1 $3)]}
+                     | RelationalExpression '>=' ShiftExpression { [(AST.JSExpressionBinary ">=" $1 $3)]}
+                     | RelationalExpression 'instanceof' ShiftExpression { [(AST.JSExpressionBinary " instanceof " $1 $3)]}
+                     | RelationalExpression 'in' ShiftExpression { [(AST.JSExpressionBinary " in " $1 $3)]}
+
+-- RelationalExpressionNoIn :                                  See 11.8
+--        ShiftExpression
+--        RelationalExpressionNoIn < ShiftExpression
+--        RelationalExpressionNoIn > ShiftExpression
+--        RelationalExpressionNoIn <= ShiftExpression
+--        RelationalExpressionNoIn >= ShiftExpression
+--        RelationalExpressionNoIn instanceof ShiftExpression
+RelationalExpressionNoIn :: { [AST.JSNode] }
+RelationalExpressionNoIn : ShiftExpression { $1 {- RelationalExpressionNoIn -}} 
+                     | RelationalExpressionNoIn '<'  ShiftExpression { [(AST.JSExpressionBinary "<" $1 $3)]}
+                     | RelationalExpressionNoIn '>'  ShiftExpression { [(AST.JSExpressionBinary ">" $1 $3)]}
+                     | RelationalExpressionNoIn '<=' ShiftExpression { [(AST.JSExpressionBinary "<=" $1 $3)]}
+                     | RelationalExpressionNoIn '>=' ShiftExpression { [(AST.JSExpressionBinary ">=" $1 $3)]}
+                     | RelationalExpressionNoIn 'instanceof' ShiftExpression { [(AST.JSExpressionBinary " instanceof " $1 $3)]}
+
+-- EqualityExpression :                                        See 11.9
+--        RelationalExpression
+--        EqualityExpression == RelationalExpression
+--        EqualityExpression != RelationalExpression
+--        EqualityExpression === RelationalExpression
+--        EqualityExpression !== RelationalExpression
+EqualityExpression :: { [AST.JSNode] }
+EqualityExpression : RelationalExpression { $1 {- EqualityExpression -} } 
+                   | EqualityExpression '=='  RelationalExpression { [(AST.JSExpressionBinary "==" $1 $3)]}
+                   | EqualityExpression '!='  RelationalExpression { [(AST.JSExpressionBinary "!=" $1 $3)]}
+                   | EqualityExpression '===' RelationalExpression { [(AST.JSExpressionBinary "===" $1 $3)]}
+                   | EqualityExpression '!==' RelationalExpression { [(AST.JSExpressionBinary "!==" $1 $3)]}
+
+-- EqualityExpressionNoIn :                                    See 11.9
+--        RelationalExpressionNoIn
+--        EqualityExpressionNoIn == RelationalExpressionNoIn
+--        EqualityExpressionNoIn != RelationalExpressionNoIn
+--        EqualityExpressionNoIn === RelationalExpressionNoIn
+--        EqualityExpressionNoIn !== RelationalExpressionNoIn
+EqualityExpressionNoIn :: { [AST.JSNode] }
+EqualityExpressionNoIn : RelationalExpressionNoIn { $1 {- EqualityExpressionNoIn -} } 
+                       | EqualityExpressionNoIn '=='  RelationalExpression { [(AST.JSExpressionBinary "==" $1 $3)]}
+                       | EqualityExpressionNoIn '!='  RelationalExpression { [(AST.JSExpressionBinary "!=" $1 $3)]}
+                       | EqualityExpressionNoIn '===' RelationalExpression { [(AST.JSExpressionBinary "===" $1 $3)]}
+                       | EqualityExpressionNoIn '!==' RelationalExpression { [(AST.JSExpressionBinary "!==" $1 $3)]}
+
+-- BitwiseANDExpression :                                      See 11.10
+--        EqualityExpression
+--        BitwiseANDExpression & EqualityExpression
+BitwiseAndExpression :: { [AST.JSNode] }
+BitwiseAndExpression : EqualityExpression { $1 {- BitwiseAndExpression -} } 
+                     | BitwiseAndExpression '&' EqualityExpression { [(AST.JSExpressionBinary "&" $1 $3)]}
+
+-- BitwiseANDExpressionNoIn :                                  See 11.10
+--        EqualityExpressionNoIn
+--        BitwiseANDExpressionNoIn & EqualityExpressionNoIn
+BitwiseAndExpressionNoIn :: { [AST.JSNode] }
+BitwiseAndExpressionNoIn : EqualityExpressionNoIn { $1 {- BitwiseAndExpression -} } 
+                     | BitwiseAndExpressionNoIn '&' EqualityExpressionNoIn { [(AST.JSExpressionBinary "&" $1 $3)]}
+
+-- BitwiseXORExpression :                                                                See 11.10
+--        BitwiseANDExpression
+--        BitwiseXORExpression ^ BitwiseANDExpression
+BitwiseXOrExpression :: { [AST.JSNode] }
+BitwiseXOrExpression : BitwiseAndExpression { $1 {- BitwiseXOrExpression -} } 
+                     | BitwiseXOrExpression '^' BitwiseAndExpression { [(AST.JSExpressionBinary "^" $1 $3)]}
+
+-- BitwiseXORExpressionNoIn :                                                            See 11.10
+--        BitwiseANDExpressionNoIn
+--        BitwiseXORExpressionNoIn ^ BitwiseANDExpressionNoIn
+BitwiseXOrExpressionNoIn :: { [AST.JSNode] }
+BitwiseXOrExpressionNoIn : BitwiseAndExpressionNoIn { $1 {- BitwiseXOrExpression -} } 
+                         | BitwiseXOrExpressionNoIn '^' BitwiseAndExpressionNoIn { [(AST.JSExpressionBinary "^" $1 $3)]}
+
+-- BitwiseORExpression :                                                                 See 11.10
+--        BitwiseXORExpression
+--        BitwiseORExpression | BitwiseXORExpression
+BitwiseOrExpression :: { [AST.JSNode] }
+BitwiseOrExpression : BitwiseXOrExpression { $1 {- BitwiseOrExpression -} } 
+                    | BitwiseOrExpression '|' BitwiseXOrExpression { [(AST.JSExpressionBinary "|" $1 $3)]}
+
+-- BitwiseORExpressionNoIn :                                                             See 11.10
+--        BitwiseXORExpressionNoIn
+--        BitwiseORExpressionNoIn | BitwiseXORExpressionNoIn
+BitwiseOrExpressionNoIn :: { [AST.JSNode] }
+BitwiseOrExpressionNoIn : BitwiseXOrExpressionNoIn { $1 {- BitwiseOrExpression -} } 
+                        | BitwiseOrExpressionNoIn '|' BitwiseXOrExpressionNoIn { [(AST.JSExpressionBinary "|" $1 $3)]}
+
+-- LogicalANDExpression :                                                                See 11.11
+--        BitwiseORExpression
+--        LogicalANDExpression && BitwiseORExpression
+LogicalAndExpression :: { [AST.JSNode] }
+LogicalAndExpression : BitwiseOrExpression { $1 {- LogicalAndExpression -} } 
+                     | LogicalAndExpression '&&' BitwiseOrExpression { [(AST.JSExpressionBinary "&&" $1 $3)]}
+
+-- LogicalANDExpressionNoIn :                                                            See 11.11
+--        BitwiseORExpressionNoIn
+--        LogicalANDExpressionNoIn && BitwiseORExpressionNoIn
+LogicalAndExpressionNoIn :: { [AST.JSNode] }
+LogicalAndExpressionNoIn : BitwiseOrExpressionNoIn { $1 {- LogicalAndExpression -} } 
+                         | LogicalAndExpressionNoIn '&&' BitwiseOrExpressionNoIn { [(AST.JSExpressionBinary "&&" $1 $3)]}
+
+-- LogicalORExpression :                                                                 See 11.11
+--        LogicalANDExpression
+--        LogicalORExpression || LogicalANDExpression
+LogicalOrExpression :: { [AST.JSNode] }
+LogicalOrExpression : LogicalAndExpression { $1 {- LogicalOrExpression -} } 
+                    | LogicalOrExpression '||' LogicalAndExpression { [(AST.JSExpressionBinary "||" $1 $3)]}
+
+-- LogicalORExpressionNoIn :                                                             See 11.11
+--        LogicalANDExpressionNoIn
+--        LogicalORExpressionNoIn || LogicalANDExpressionNoIn
+LogicalOrExpressionNoIn :: { [AST.JSNode] }
+LogicalOrExpressionNoIn : LogicalAndExpressionNoIn { $1 {- LogicalOrExpression -} } 
+                        | LogicalOrExpressionNoIn '||' LogicalAndExpressionNoIn { [(AST.JSExpressionBinary "||" $1 $3)]}
+
+-- ConditionalExpression :                                                               See 11.12
+--        LogicalORExpression
+--        LogicalORExpression ? AssignmentExpression : AssignmentExpression
+ConditionalExpression :: { [AST.JSNode] }
+ConditionalExpression : LogicalOrExpression { $1 {- ConditionalExpression -} }
+                      | LogicalOrExpression '?' AssignmentExpression ':' AssignmentExpression 
+                        { [AST.JSExpressionTernary $1 $3 $5] } 
+                    
+-- ConditionalExpressionNoIn :                                                           See 11.12
+--        LogicalORExpressionNoIn
+--        LogicalORExpressionNoIn ? AssignmentExpressionNoIn : AssignmentExpressionNoIn
+ConditionalExpressionNoIn :: { [AST.JSNode] }
+ConditionalExpressionNoIn : LogicalOrExpressionNoIn { $1 {- ConditionalExpression -} }
+                          | LogicalOrExpressionNoIn '?' AssignmentExpressionNoIn ':' AssignmentExpressionNoIn
+                            { [AST.JSExpressionTernary $1 $3 $5] } 
+  
+-- AssignmentExpression :                                                                See 11.13
+--        ConditionalExpression
+--        LeftHandSideExpression AssignmentOperator AssignmentExpression
+AssignmentExpression :: { [AST.JSNode] }
+AssignmentExpression : ConditionalExpression { $1 {- AssignmentExpression -}} 
+                     | LeftHandSideExpression AssignmentOperator AssignmentExpression 
+                       { ($1++[$2]++$3) }
+                       
+-- AssignmentExpressionNoIn :                                                            See 11.13
+--        ConditionalExpressionNoIn
+--        LeftHandSideExpression AssignmentOperator AssignmentExpressionNoIn
+AssignmentExpressionNoIn :: { [AST.JSNode] }
+AssignmentExpressionNoIn : ConditionalExpressionNoIn { $1 {- AssignmentExpression -}} 
+                         | LeftHandSideExpression AssignmentOperator AssignmentExpressionNoIn 
+                           { ($1++[$2]++$3) }
+
+-- AssignmentOperator : one of                                                           See 11.13
+--     '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '>>>=' | '&=' | '^=' | '|='
+AssignmentOperator :: { AST.JSNode }
+AssignmentOperator : 'assign' { AST.JSOperator (token_literal $1) }
+                   | '='      { AST.JSOperator "=" }
+
+-- Expression :                                                   See 11.14
+--         AssignmentExpression
+--         Expression , AssignmentExpression
+Expression :: { AST.JSNode }
+Expression : AssignmentExpression { AST.JSExpression $1 {- Expression -} } 
+           | Expression ',' AssignmentExpression  { flattenExpression $1 $3 }
+
+-- ExpressionNoIn :                                               See 11.14
+--         AssignmentExpressionNoIn
+--         ExpressionNoIn , AssignmentExpressionNoIn
+ExpressionNoIn :: { AST.JSNode }
+ExpressionNoIn : AssignmentExpressionNoIn { AST.JSExpression $1 {- Expression -} } 
+               | ExpressionNoIn ',' AssignmentExpressionNoIn  { flattenExpression $1 $3 }
+
+-- TODO: still required?
+ExpressionOpt :: { [AST.JSNode] }
+ExpressionOpt : Expression { [$1] {- ExpressionOpt -}}
+              |            { []   {- ExpressionOpt -}}
+
+ExpressionNoInOpt :: { [AST.JSNode] }
+ExpressionNoInOpt : ExpressionNoIn { [$1] {- ExpressionOpt -}}
+                  |            { []   {- ExpressionOpt -}}
+                               
+
+-- Statement :                                                    See clause 12
+--         Block
+--         VariableStatement
+--         EmptyStatement
+--         ExpressionStatement
+--         IfStatement
+--         IterationStatement
+--         ContinueStatement
+--         BreakStatement
+--         ReturnStatement
+--         WithStatement
+--         LabelledStatement
+--         SwitchStatement
+--         ThrowStatement
+--         TryStatement
+--         DebuggerStatement
+Statement :: { AST.JSNode }
+Statement : StatementNoEmpty   { $1 {- Statement1 -}}
+          | EmptyStatement     { $1 {- Statement3 -}}
+
+StatementNoEmpty :: { AST.JSNode }
+StatementNoEmpty : StatementBlock     { $1 {- StatementNoEmpty1 -}}
+                 | VariableStatement     { $1 {- StatementNoEmpty2 -}}
+                   -- | EmptyStatement     { $1 {- StatementNoEmpty3 -}}
+                 | ExpressionStatement  { $1 {- StatementNoEmpty4 -}}
+                 | IfStatement        { $1 {- StatementNoEmpty5 -}}
+                 | IterationStatement { $1 {- StatementNoEmpty6 -}}
+                 | ContinueStatement  { $1 {- StatementNoEmpty7 -}}
+                 | BreakStatement     { $1 {- StatementNoEmpty8 -}}
+                 | ReturnStatement    { $1 {- StatementNoEmpty9 -}}
+                 | WithStatement      { $1 {- StatementNoEmpty10 -}}
+                 | LabelledStatement  { $1 {- StatementNoEmpty11 -}}
+                 | SwitchStatement    { $1 {- StatementNoEmpty12 -}}
+                 | ThrowStatement     { $1 {- StatementNoEmpty13 -}}
+                 | TryStatement       { $1 {- StatementNoEmpty14 -}}
+                 | DebuggerStatement  { $1 {- StatementNoEmpty15 -}}
+
+StatementBlock :: { AST.JSNode }
+StatementBlock : '{' '}'               { (AST.JSLiteral ";") }
+               | '{' StatementList '}' { (if ($2 == AST.JSStatementList [AST.JSLiteral ";"]) then (AST.JSLiteral ";") else (AST.JSBlock $2)) }
+
+-- Block :                                                        See 12.1
+--         { StatementListopt }
+Block :: { AST.JSNode }
+Block : '{' '}'               { (AST.JSBlock (AST.JSStatementList [])) }
+      | '{' StatementList '}' { (AST.JSBlock $2) }
+
+-- StatementList :                                                See 12.1
+--         Statement
+--         StatementList Statement
+StatementList :: { AST.JSNode }
+StatementList : Statement               { (AST.JSStatementList [$1]) }
+              | StatementList Statement { (combineStatements $1 $2) }
+
+-- VariableStatement :                                            See 12.2
+--         var VariableDeclarationList ;
+VariableStatement :: { AST.JSNode }
+VariableStatement : 'var'   VariableDeclarationList AutoSemi { AST.JSVariables "var" $2 }
+                  | 'const' VariableDeclarationList AutoSemi { AST.JSVariables "const" $2 }
+
+-- VariableDeclarationList :                                      See 12.2
+--         VariableDeclaration
+--         VariableDeclarationList , VariableDeclaration
+VariableDeclarationList :: { [AST.JSNode] }
+VariableDeclarationList : VariableDeclaration { [$1] {- VariableDeclarationList -}}
+                        | VariableDeclarationList ',' VariableDeclaration { ($1 ++ [$3]) {- VariableDeclarationList -}}
+
+-- VariableDeclarationListNoIn :                                  See 12.2
+--         VariableDeclarationNoIn
+--         VariableDeclarationListNoIn , VariableDeclarationNoIn
+VariableDeclarationListNoIn :: { [AST.JSNode] }
+VariableDeclarationListNoIn : VariableDeclarationNoIn { [$1] {- VariableDeclarationList -}}
+                            | VariableDeclarationListNoIn ',' VariableDeclarationNoIn { ($1 ++ [$3]) {- VariableDeclarationList -}}
+
+-- VariableDeclaration :                                          See 12.2
+--         Identifier Initialiseropt
+VariableDeclaration :: { AST.JSNode }
+VariableDeclaration : Identifier              { (AST.JSVarDecl $1 [])}
+                    | Identifier Initializer  { (AST.JSVarDecl $1 $2)}
+
+-- VariableDeclarationNoIn :                                      See 12.2
+--         Identifier InitialiserNoInopt
+VariableDeclarationNoIn :: { AST.JSNode }
+VariableDeclarationNoIn : Identifier InitializerNoIn { (AST.JSVarDecl $1 $2) }
+                        | Identifier                 { (AST.JSVarDecl $1 []) }
+
+-- Initialiser :                                                                            See 12.2
+--         = AssignmentExpression
+Initializer :: { [AST.JSNode] }
+Initializer : '=' AssignmentExpression { $2 {- Initializer -} }
+
+-- InitialiserNoIn :                                                                        See 12.2
+--         = AssignmentExpressionNoIn
+InitializerNoIn :: { [AST.JSNode] }
+InitializerNoIn : '=' AssignmentExpressionNoIn { $2 {- InitializerNoIn -}}
+
+-- EmptyStatement :                                                                         See 12.3
+--         ;
+EmptyStatement :: { AST.JSNode }
+EmptyStatement : ';' { (AST.JSLiteral ";") }
+
+-- ExpressionStatement :                                                                    See 12.4
+--         [lookahead ∉ {{, function}] Expression  ;
+-- TODO: Sort out lookahead issue. Maybe by just putting production lower to set reduce/reduce conflict
+--       According to http://sideshowbarker.github.com/es5-spec/#x12.4, the ambiguity is with
+--       Block or FunctionDeclaration
+ExpressionStatement :: { AST.JSNode }
+ExpressionStatement : Expression { $1 {- ExpressionStatement -} }
+
+
+-- IfStatement :                                                                            See 12.5
+--         if ( Expression ) Statement else Statement
+--         if ( Expression ) Statement
+IfStatement :: { AST.JSNode }
+IfStatement : 'if' '(' Expression ')' StatementSemi  IfElseRest 
+                  { (if ($6 /= []) then  
+                       (if (length $6 == 1) then (AST.JSIfElse $3 $5 (head $6)) 
+                                            else (AST.JSIfElse $3 (AST.JSBlock (AST.JSStatementList [$5])) (last $6))) 
+                     else (AST.JSIf $3 $5)) }
+                  
+IfElseRest :: { [AST.JSNode] }                  
+IfElseRest : 'else' Statement     { [$2] }
+           |                      { [] } 
+
+StatementSemi :: { AST.JSNode }
+StatementSemi : StatementNoEmpty ';' { (AST.JSBlock (AST.JSStatementList [$1])) } 
+              | StatementNoEmpty     { $1 {- StatementSemi -}}
+              | ';'                  { AST.JSLiteral ";" }  
+
+
+-- IterationStatement :                                                                     See 12.6
+--         do Statement while ( Expression );
+--         while ( Expression ) Statement
+--         for (ExpressionNoInopt; Expressionopt ; Expressionopt ) Statement
+--         for ( var VariableDeclarationListNoIn; Expressionopt ; Expressionopt ) Statement
+--         for ( LeftHandSideExpression in Expression ) Statement
+--         for ( var VariableDeclarationNoIn in Expression ) Statement
+IterationStatement :: { AST.JSNode }
+IterationStatement : 'do' Statement 'while' '(' Expression ')' AutoSemi { (AST.JSDoWhile $2 $5 $7) } 
+                   | 'while' '(' Expression ')' Statement { (AST.JSWhile $3 $5) }
+                   | 'for' '(' ExpressionNoInOpt ';' ExpressionOpt ';' ExpressionOpt ')' Statement { (AST.JSFor $3 $5 $7 $9) }
+                   | 'for' '(' 'var' VariableDeclarationListNoIn ';' ExpressionOpt ';' ExpressionOpt ')' Statement 
+                     { (AST.JSForVar $4 $6 $8 $10) }
+                   | 'for' '(' LeftHandSideExpression 'in' Expression ')' Statement 
+                     { (AST.JSForIn $3 $5 $7) }
+                   | 'for' '(' 'var' VariableDeclarationNoIn 'in' Expression ')' Statement
+                     { (AST.JSForVarIn $4 $6 $8) }
+
+-- ContinueStatement :                                                                      See 12.7
+--         continue [no LineTerminator here] Identifieropt ;
+-- TODO: deal with [no LineTerminator here]
+ContinueStatement :: { AST.JSNode }
+ContinueStatement : 'continue' AutoSemi             { (AST.JSContinue [$2]) } 
+                  | 'continue' Identifier AutoSemi  { (AST.JSContinue [$2,$3]) } 
+
+-- BreakStatement :                                                                         See 12.8
+--         break [no LineTerminator here] Identifieropt ;
+-- TODO: deal with [no LineTerminator here]
+BreakStatement :: { AST.JSNode }
+BreakStatement : 'break' AutoSemi             { (AST.JSBreak [] [$2]) } 
+               | 'break' Identifier AutoSemi  { (AST.JSBreak [$2] [$3]) } 
+
+-- ReturnStatement :                                                                        See 12.9
+--         return [no LineTerminator here] Expressionopt ;
+-- TODO: deal with [no LineTerminator here]
+ReturnStatement :: { AST.JSNode }
+ReturnStatement : 'return' AutoSemi             { (AST.JSReturn [$2]) } 
+                | 'return' Expression AutoSemi  { (AST.JSReturn [$2,$3]) } 
+
+-- WithStatement :                                                                          See 12.10
+--         with ( Expression ) Statement
+WithStatement :: { AST.JSNode }
+WithStatement : 'with' '(' Expression ')' Statement AutoSemi  { (AST.JSWith $3 [$5,$6]) }
+
+-- SwitchStatement :                                                                        See 12.11
+--         switch ( Expression ) CaseBlock
+SwitchStatement :: { AST.JSNode }
+SwitchStatement : 'switch' '(' Expression ')' CaseBlock { (AST.JSSwitch $3 $5) } 
+
+-- CaseBlock :                                                                              See 12.11
+--         { CaseClausesopt }
+--         { CaseClausesopt DefaultClause CaseClausesopt }
+CaseBlock :: { [AST.JSNode] }
+CaseBlock : '{' CaseClausesOpt '}'                              { $2            {- CaseBlock1 -}}
+          | '{' CaseClausesOpt DefaultClause CaseClausesOpt '}' { ($2++($3:$4)) {- CaseBlock2 -}}
+
+-- CaseClauses :                                                                            See 12.11
+--         CaseClause
+--         CaseClauses CaseClause
+CaseClausesOpt :: { [AST.JSNode] }
+CaseClausesOpt : CaseClause                { [$1] {- CaseClauses1 -}}
+               | CaseClausesOpt CaseClause { ($1++[$2]) {- CaseClauses2 -}}
+               |                           { [] }  
+
+-- CaseClause :                                                               See 12.11
+--        case Expression : StatementListopt
+CaseClause :: { AST.JSNode }
+CaseClause : 'case' Expression ':' StatementList  { (AST.JSCase $2 $4) }
+           | 'case' Expression ':'                { (AST.JSCase $2 (AST.JSStatementList [])) }
+
+-- DefaultClause :                                                            See 12.11
+--        default : StatementListopt
+DefaultClause :: { AST.JSNode }
+DefaultClause : 'default' ':'                { (AST.JSDefault (AST.JSStatementList [])) }
+              | 'default' ':' StatementList  { (AST.JSDefault $3) }
+
+-- LabelledStatement :                                                        See 12.12
+--        Identifier : Statement
+LabelledStatement :: { AST.JSNode }
+LabelledStatement : Identifier ':' Statement { (AST.JSLabelled $1 $3) }
+
+-- ThrowStatement :                                                           See 12.13
+--        throw [no LineTerminator here] Expression ;
+-- TODO : sort out no LineTerminator here
+--        Does it need a semi at the end?
+ThrowStatement :: { AST.JSNode }
+ThrowStatement : 'throw' Expression { (AST.JSThrow $2) }
+
+-- Note: worked in updated syntax as per https://developer.mozilla.org/en/JavaScript/Reference/Statements/try...catch
+--   i.e., 0 or more catches, then an optional finally
+-- TryStatement :                                                             See 12.14
+--        try Block Catch
+--        try Block Finally
+--        try Block Catch Finally
+TryStatement :: { AST.JSNode }
+TryStatement : 'try' Block Catches         { (AST.JSTry $2 $3)         {- TryStatement1 -} }
+             | 'try' Block Finally         { (AST.JSTry $2 [$3])       {- TryStatement2 -} }
+             | 'try' Block Catches Finally { (AST.JSTry $2 ($3++[$4])) {- TryStatement3 -} }
+
+Catches :: { [AST.JSNode] }
+Catches : Catch         { [$1]       {- Catches 1 -} }
+        | Catches Catch { ($1++[$2]) {- Catches 2 -} }
+
+-- Note: worked in updated syntax as per https://developer.mozilla.org/en/JavaScript/Reference/Statements/try...catch
+-- <Catch> ::= 'catch' '(' Identifier ')' <Block>
+--   becomes
+-- <Catch> ::= 'catch' '(' Identifier ')' <Block>
+--           | 'catch' '(' Identifier 'if' ConditionalExpression ')' <Block>
+Catch :: { AST.JSNode }
+Catch : 'catch' '(' Identifier ')' Block                 { (AST.JSCatch $3 [] $5) }
+      | 'catch' '(' Identifier 'if' ConditionalExpression ')' Block  { (AST.JSCatch $3 $5 $7) }
+
+-- Finally :                                                                  See 12.14
+--        finally Block
+Finally :: { AST.JSNode }
+Finally : 'finally' Block { (AST.JSFinally $2) }
+
+-- DebuggerStatement :                                                        See 12.15
+--        debugger ;
+DebuggerStatement :: { AST.JSNode }
+DebuggerStatement : 'debugger' AutoSemi { (AST.JSLiteral "debugger") }
+
+-- FunctionDeclaration :                                                      See clause 13
+--        function Identifier ( FormalParameterListopt ) { FunctionBody }
+FunctionDeclaration :: { AST.JSNode }
+FunctionDeclaration : 'function' Identifier '(' FormalParameterList ')' '{' FunctionBody '}'
+                      { (AST.JSFunction $2 $4 $7) }
+                    | 'function' Identifier '(' ')' '{' FunctionBody '}'
+                      { (AST.JSFunction $2 [] $6) }
+
+-- FunctionExpression :                                                       See clause 13
+--        function Identifieropt ( FormalParameterListopt ) { FunctionBody }
+FunctionExpression :: { AST.JSNode }
+FunctionExpression : 'function' IdentifierOpt '(' ')' '{' FunctionBody '}'                      { (AST.JSFunctionExpression $2 [] $6) }
+                   | 'function' IdentifierOpt '(' FormalParameterList ')' '{' FunctionBody '}'  { (AST.JSFunctionExpression $2 $4 $7) }
+
+IdentifierOpt :: { [AST.JSNode] }
+IdentifierOpt : Identifier { [$1] {- IdentifierOpt -}}
+              |            { []   {- IdentifierOpt -}}
+
+-- FormalParameterList :                                                      See clause 13
+--        Identifier
+--        FormalParameterList , Identifier
+FormalParameterList :: { [AST.JSNode] }
+FormalParameterList : Identifier                          { [$1] {- FormalParameterList -}}
+                    | FormalParameterList ',' Identifier  { ($1++[$3]) }
+
+-- FunctionBody :                                                             See clause 13
+--        SourceElementsopt
+FunctionBody :: { AST.JSNode }
+FunctionBody : SourceElements { (AST.JSFunctionBody [$1]) }
+             |                { (AST.JSFunctionBody []) } 
+
+-- Program :                                                                  See clause 14
+--        SourceElementsopt
+Program :: { AST.JSNode }
+Program : SourceElementsTop { $1 {- Program -}}
+
+-- SourceElements :                                                           See clause 14
+--        SourceElement
+--        SourceElements SourceElement
+SourceElements :: { AST.JSNode }
+SourceElements : SourceElement                { (AST.JSSourceElements [$1]) }
+               | SourceElements SourceElement { (combineSourceElements $1 $2) }
+
+SourceElementsTop :: { AST.JSNode }
+SourceElementsTop : SourceElement                   { (AST.JSSourceElementsTop [$1]) }
+                  | SourceElementsTop SourceElement { (combineSourceElementsTop $1 $2) }
+
+-- SourceElement :
+--       Statement
+--       FunctionDeclaration
+SourceElement :: { AST.JSNode }
+SourceElement : Statement            { $1 {- SourceElement1 -} }
+              | FunctionDeclaration  { $1 {- SourceElement2 -} } 
+
+{
+
+combineSourceElements :: AST.JSNode -> AST.JSNode -> AST.JSNode
+combineSourceElements (AST.JSSourceElements xs) x = (AST.JSSourceElements (xs++[x]) )
+
+combineSourceElementsTop :: AST.JSNode -> AST.JSNode -> AST.JSNode
+combineSourceElementsTop (AST.JSSourceElementsTop xs) x = (AST.JSSourceElementsTop (xs++[x]) )
+
+combineStatements :: AST.JSNode -> AST.JSNode -> AST.JSNode
+combineStatements (AST.JSStatementList xs) (AST.JSStatementList ys) = (AST.JSStatementList (xs++ys) )
+combineStatements (AST.JSStatementList xs) y = (AST.JSStatementList (xs++[y]) )
+
+parseError :: Token -> P a 
+parseError = throwError . UnexpectedToken 
+
+flattenExpression :: AST.JSNode -> [AST.JSNode] -> AST.JSNode
+flattenExpression (AST.JSExpression xs) e = AST.JSExpression (xs++litComma++e)
+                        where
+                          litComma :: [AST.JSNode]
+                          litComma = [(AST.JSLiteral ",")]
+
+
+}
+
+-- Set emacs mode
+-- Local Variables: 
+-- mode:haskell
+-- End:             
diff --git a/src/Language/JavaScript/Parser/Lexer.x b/src/Language/JavaScript/Parser/Lexer.x
--- a/src/Language/JavaScript/Parser/Lexer.x
+++ b/src/Language/JavaScript/Parser/Lexer.x
@@ -103,7 +103,8 @@
     -- * \u3000 — Ideographic space
 
 --$white_char   = [\ \f\v\t\r\n]
-$white_char = [\x0009\x000a\x000b\x000c\x000d\x0020\x00a0\x1680\x180e\x2000\x2001\x2002\x2003\x2004\x2005\x2006\x2007\x2008\x2009\x200a\x2028\x2029\x202f\x205f\x3000]
+-- Note: from edition 5 the BOM (\xfeff) is also considered whitespace
+$white_char = [\x0009\x000a\x000b\x000c\x000d\x0020\x00a0\x1680\x180e\x2000\x2001\x2002\x2003\x2004\x2005\x2006\x2007\x2008\x2009\x200a\x2028\x2029\x202f\x205f\x3000\xfeff]
 
 -- Identifier characters
 -- UnicodeLetter
@@ -195,7 +196,7 @@
      | $sq ( $StringChars2 | \\ $printable )* $sq { mkString stringToken }
 
 -- HexIntegerLiteral = '0x' {Hex Digit}+
-<reg,divide> "0x" @HexDigit+ { mkString hexIntegerToken }
+<reg,divide> ("0x"|"0X") @HexDigit+ { mkString hexIntegerToken }
 
 -- RegExp         = '/' ({RegExp Chars} | '\' {Non Terminator})+ '/' ( 'g' | 'i' | 'm' )*
 -- <reg> "/" ($RegExpChars | "\" $NonTerminator)+ "/" ("g"|"i"|"m")* { mkString regExToken }
@@ -382,14 +383,14 @@
 keywordOrIdent :: String -> AlexSpan -> P Token
 keywordOrIdent str location
    = return $ case Map.lookup str keywords of
-         Just symbol -> symbol location
+         Just symbol -> symbol location str
          Nothing -> IdentifierToken location str  
 
 -- mapping from strings to keywords
-keywords :: Map.Map String (AlexSpan -> Token) 
+keywords :: Map.Map String (AlexSpan -> String -> Token) 
 keywords = Map.fromList keywordNames 
 
-keywordNames :: [(String, AlexSpan -> Token)]
+keywordNames :: [(String, AlexSpan -> String -> Token)]
 keywordNames =
    [ 
     ("break",BreakToken),("case",CaseToken),("catch",CatchToken),("const",ConstToken),
@@ -401,11 +402,97 @@
     ("return",ReturnToken),("switch",SwitchToken),("this",ThisToken),
     ("throw",ThrowToken),("true",TrueToken),("try",TryToken),
     ("typeof",TypeofToken),("var",VarToken),("void",VoidToken),
-    ("while",WhileToken),("with",WithToken)
+    ("while",WhileToken),("with",WithToken),
+    -- TODO: no idea if these are reserved or not, but they are needed
+    --       handled in parser, in the Identifier rule       
+    ("get",GetToken),("set",SetToken),
+                         
+    -- Future Reserved Words                         
+    ("class", FutureToken),
+    ("code", FutureToken),
+    -- ("const", FutureToken),
+    -- enum
+    ("export", FutureToken),
+    ("extends", FutureToken),
+    ("implements", FutureToken),
+    ("import", FutureToken),
+    -- in 
+    ("interface", FutureToken),
+    ("let", FutureToken),
+    ("mode", FutureToken),
+    ("of", FutureToken),
+    ("one", FutureToken),
+    ("or", FutureToken),
+    ("package", FutureToken),
+    ("private", FutureToken),
+    ("protected", FutureToken),
+    ("public", FutureToken),
+    ("static", FutureToken),
+    ("strict", FutureToken),
+    ("super", FutureToken),
+    ("yield", FutureToken)
    ]
-
 }
 
+
+-- break 
+-- case 
+-- catch 
+-- continue 
+-- debugger 
+-- default 
+-- delete 
+-- do
+-- else
+--  - enum
+--  - false
+-- finally
+-- for
+-- function
+-- if
+-- in
+-- instanceof 
+-- new 
+--  - null
+-- return 
+-- switch 
+-- this 
+-- throw
+--  - true
+-- try
+-- typeof
+-- var
+-- void
+-- while
+-- with
+
+
+
+-- FutureReservedWord :: one of   See 7.6.1.2
+
+-- class 
+-- code 
+-- const 
+-- *enum
+-- export
+-- extends 
+-- implements 
+-- import
+-- *in 
+-- interface 
+-- let 
+-- mode 
+-- of
+-- one 
+-- or 
+-- package 
+-- private 
+-- protected 
+-- public
+-- static
+-- strict 
+-- super
+-- yield
 
 
 -- Set emacs mode
diff --git a/src/Language/JavaScript/Parser/Parser.hs b/src/Language/JavaScript/Parser/Parser.hs
--- a/src/Language/JavaScript/Parser/Parser.hs
+++ b/src/Language/JavaScript/Parser/Parser.hs
@@ -9,10 +9,10 @@
    ) where
 
 import Language.JavaScript.Parser.ParseError
-import Language.JavaScript.Parser.Grammar
+--import Language.JavaScript.Parser.Grammar
+import Language.JavaScript.Parser.Grammar5
 import Language.JavaScript.Parser.Lexer
 import Language.JavaScript.Parser.ParserMonad
---import Language.JavaScript.Parser.SrcLocation
 import qualified Language.JavaScript.Parser.AST as AST
 
 -- | Parse one compound statement, or a sequence of simple statements. 
diff --git a/src/Language/JavaScript/Parser/Token.hs b/src/Language/JavaScript/Parser/Token.hs
--- a/src/Language/JavaScript/Parser/Token.hs
+++ b/src/Language/JavaScript/Parser/Token.hs
@@ -46,38 +46,43 @@
      -- ^ Literal: Regular Expression
 
    -- Keywords
-   | BreakToken { token_span :: !AlexSpan }
-   | CaseToken { token_span :: !AlexSpan }
-   | CatchToken { token_span :: !AlexSpan }
-   | ConstToken { token_span :: !AlexSpan }
-   | ContinueToken { token_span :: !AlexSpan }
-   | DebuggerToken { token_span :: !AlexSpan }
-   | DefaultToken { token_span :: !AlexSpan }
-   | DeleteToken { token_span :: !AlexSpan }
-   | DoToken { token_span :: !AlexSpan }
-   | ElseToken { token_span :: !AlexSpan }
-   | EnumToken { token_span :: !AlexSpan }
-   | FalseToken { token_span :: !AlexSpan }
-   | FinallyToken { token_span :: !AlexSpan }
-   | ForToken { token_span :: !AlexSpan }
-   | FunctionToken { token_span :: !AlexSpan }
-   | IfToken { token_span :: !AlexSpan }
-   | InToken { token_span :: !AlexSpan }
-   | InstanceofToken { token_span :: !AlexSpan }
-   | NewToken { token_span :: !AlexSpan }
-   | NullToken { token_span :: !AlexSpan }
-   | ReturnToken { token_span :: !AlexSpan }
-   | SwitchToken { token_span :: !AlexSpan }
-   | ThisToken { token_span :: !AlexSpan }
-   | ThrowToken { token_span :: !AlexSpan }
-   | TrueToken { token_span :: !AlexSpan }
-   | TryToken { token_span :: !AlexSpan }
-   | TypeofToken { token_span :: !AlexSpan }
-   | VarToken { token_span :: !AlexSpan }
-   | VoidToken { token_span :: !AlexSpan }
-   | WhileToken { token_span :: !AlexSpan }
-   | WithToken { token_span :: !AlexSpan }
-
+   | BreakToken { token_span :: !AlexSpan, token_literal :: !String }
+   | CaseToken { token_span :: !AlexSpan, token_literal :: !String }
+   | CatchToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ConstToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ContinueToken { token_span :: !AlexSpan, token_literal :: !String }
+   | DebuggerToken { token_span :: !AlexSpan, token_literal :: !String }
+   | DefaultToken { token_span :: !AlexSpan, token_literal :: !String }
+   | DeleteToken { token_span :: !AlexSpan, token_literal :: !String }
+   | DoToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ElseToken { token_span :: !AlexSpan, token_literal :: !String }
+   | EnumToken { token_span :: !AlexSpan, token_literal :: !String }
+   | FalseToken { token_span :: !AlexSpan, token_literal :: !String }
+   | FinallyToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ForToken { token_span :: !AlexSpan, token_literal :: !String }
+   | FunctionToken { token_span :: !AlexSpan, token_literal :: !String }
+   | IfToken { token_span :: !AlexSpan, token_literal :: !String }
+   | InToken { token_span :: !AlexSpan, token_literal :: !String }
+   | InstanceofToken { token_span :: !AlexSpan, token_literal :: !String }
+   | NewToken { token_span :: !AlexSpan, token_literal :: !String }
+   | NullToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ReturnToken { token_span :: !AlexSpan, token_literal :: !String }
+   | SwitchToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ThisToken { token_span :: !AlexSpan, token_literal :: !String }
+   | ThrowToken { token_span :: !AlexSpan, token_literal :: !String }
+   | TrueToken { token_span :: !AlexSpan, token_literal :: !String }
+   | TryToken { token_span :: !AlexSpan, token_literal :: !String }
+   | TypeofToken { token_span :: !AlexSpan, token_literal :: !String }
+   | VarToken { token_span :: !AlexSpan, token_literal :: !String }
+   | VoidToken { token_span :: !AlexSpan, token_literal :: !String }
+   | WhileToken { token_span :: !AlexSpan, token_literal :: !String }
+   | WithToken { token_span :: !AlexSpan, token_literal :: !String }
+   -- Future reserved words  
+   | FutureToken { token_span :: !AlexSpan, token_literal :: !String }
+   -- Needed, not sure what they are though.  
+   | GetToken { token_span :: !AlexSpan, token_literal :: !String }
+   | SetToken { token_span :: !AlexSpan, token_literal :: !String }
+   
    -- Delimiters
    -- Operators
    | SemiColonToken { token_span :: !AlexSpan }
