language-fortran 0.4 → 0.5
raw patch · 7 files changed
+294/−8651 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Language.Fortran: UseOnly :: String -> [(Variable, Maybe Variable)] -> Use
+ Language.Fortran: Uses :: p -> Use -> (Uses p) -> p -> Uses p
+ Language.Fortran: data Use
+ Language.Fortran: instance Data.Data.Data Language.Fortran.Use
+ Language.Fortran: instance GHC.Classes.Eq Language.Fortran.Use
+ Language.Fortran: instance GHC.Show.Show Language.Fortran.Use
- Language.Fortran: Use :: p -> (String, Renames) -> (Uses p) -> p -> Uses p
+ Language.Fortran: Use :: String -> Renames -> Use
- Language.Fortran.Lexer: ContLineWithComment :: Token
+ Language.Fortran.Lexer: ContLineWithComment :: Int -> Token
Files
- dist/build/Language/Fortran/Lexer.hs +0/−573
- dist/build/Language/Fortran/Parser.hs +0/−7808
- language-fortran.cabal +1/−1
- src/Language/Fortran.hs +40/−36
- src/Language/Fortran/Lexer.x +15/−13
- src/Language/Fortran/Parser.y +189/−176
- src/Language/Fortran/Pretty.hs +49/−44
− dist/build/Language/Fortran/Lexer.hs
@@ -1,573 +0,0 @@-{-# LANGUAGE CPP,MagicHash #-}-{-# LINE 1 "src/Language/Fortran/Lexer.x" #-}- -module Language.Fortran.Lexer ( - Token(..) - , AlexReturn(..) - , alexScan - , alexScanTokens - , lexer - , lexer' - ) where - -import Data.Char -import Language.Fortran -import Language.Haskell.ParseMonad -import Debug.Trace - --#if __GLASGOW_HASKELL__ >= 603-#include "ghcconfig.h"-#elif defined(__GLASGOW_HASKELL__)-#include "config.h"-#endif-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-import Data.Char (ord)-import Data.Array.Base (unsafeAt)-#else-import Array-import Char (ord)-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif-{-# LINE 1 "templates/wrappers.hs" #-}-{-# LINE 1 "templates/wrappers.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "templates/wrappers.hs" #-}--- -------------------------------------------------------------------------------- Alex wrapper code.------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.--import Data.Word (Word8)--{-# LINE 22 "templates/wrappers.hs" #-}--import qualified Data.Bits---- | Encode a Haskell String to a list of Word8 values, in UTF8 format.-utf8Encode :: Char -> [Word8]-utf8Encode = map fromIntegral . go . ord- where- go oc- | oc <= 0x7f = [oc]-- | oc <= 0x7ff = [ 0xc0 + (oc `Data.Bits.shiftR` 6)- , 0x80 + oc Data.Bits..&. 0x3f- ]-- | oc <= 0xffff = [ 0xe0 + (oc `Data.Bits.shiftR` 12)- , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)- , 0x80 + oc Data.Bits..&. 0x3f- ]- | otherwise = [ 0xf0 + (oc `Data.Bits.shiftR` 18)- , 0x80 + ((oc `Data.Bits.shiftR` 12) Data.Bits..&. 0x3f)- , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)- , 0x80 + oc Data.Bits..&. 0x3f- ]----type Byte = Word8---- -------------------------------------------------------------------------------- The input type---{-# LINE 72 "templates/wrappers.hs" #-}---{-# LINE 92 "templates/wrappers.hs" #-}---{-# LINE 106 "templates/wrappers.hs" #-}---{-# LINE 121 "templates/wrappers.hs" #-}---- -------------------------------------------------------------------------------- Token positions---- `Posn' records the location of a token in the input text. It has three--- fields: the address (number of chacaters preceding the token), line number--- and column of a token within the file. `start_pos' gives the position of the--- start of the file and `eof_pos' a standard encoding for the end of file.--- `move_pos' calculates the new position after traversing a given character,--- assuming the usual eight character tab stops.---{-# LINE 144 "templates/wrappers.hs" #-}---- -------------------------------------------------------------------------------- Default monad---{-# LINE 242 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Monad (with ByteString input)---{-# LINE 333 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Basic wrapper---type AlexInput = (Char,[Byte],String)--alexInputPrevChar :: AlexInput -> Char-alexInputPrevChar (c,_,_) = c---- alexScanTokens :: String -> [token]-alexScanTokens str = go ('\n',[],str)- where go inp@(_,_bs,s) =- case alexScan inp 0 of- AlexEOF -> []- AlexError _ -> error "lexical error"- AlexSkip inp' len -> go inp'- AlexToken inp' len act -> act (take len s) : go inp'--alexGetByte :: AlexInput -> Maybe (Byte,AlexInput)-alexGetByte (c,(b:bs),s) = Just (b,(c,bs,s))-alexGetByte (c,[],[]) = Nothing-alexGetByte (_,[],(c:s)) = case utf8Encode c of- (b:bs) -> Just (b, (c, bs, s))- [] -> Nothing------ -------------------------------------------------------------------------------- Basic wrapper, ByteString version---{-# LINE 378 "templates/wrappers.hs" #-}---{-# LINE 392 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Posn wrapper---- Adds text positions to the basic model.---{-# LINE 409 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Posn wrapper, ByteString version---{-# LINE 424 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- GScan wrapper---- For compatibility with previous versions of Alex, and because we can.---alex_base :: AlexAddr-alex_base = AlexA# "\xf8\xff\xff\xff\x6a\x00\x00\x00\x60\x01\x00\x00\x56\x02\x00\x00\x4c\x03\x00\x00\x42\x04\x00\x00\x38\x05\x00\x00\x2e\x06\x00\x00\xdd\xff\xff\xff\x4f\x00\x00\x00\x81\x00\x00\x00\x98\xff\xff\xff\xb9\xff\xff\xff\xae\x06\x00\x00\xb8\xff\xff\xff\x99\xff\xff\xff\xc6\xff\xff\xff\xa7\xff\xff\xff\x35\x00\x00\x00\x16\x00\x00\x00\x37\x00\x00\x00\x18\x00\x00\x00\xc8\xff\xff\xff\xa9\xff\xff\xff\xca\xff\xff\xff\xab\xff\xff\xff\x2e\x07\x00\x00\x62\x01\x00\x00\xa2\xff\xff\xff\x3d\x02\x00\x00\xae\x07\x00\x00\x68\x01\x00\x00\xbd\xff\xff\xff\x9e\xff\xff\xff\xc1\xff\xff\xff\xa4\xff\xff\xff\x2e\x08\x00\x00\xae\x08\x00\x00\x2e\x09\x00\x00\xae\x09\x00\x00\x2e\x0a\x00\x00\xae\x0a\x00\x00\xce\xff\xff\xff\x2e\x0b\x00\x00\xae\x0b\x00\x00\x2e\x0c\x00\x00\xae\x0c\x00\x00\x2e\x0d\x00\x00\xae\x0d\x00\x00\xc5\xff\xff\xff\x12\x00\x00\x00\xf3\xff\xff\xff\x2e\x0e\x00\x00\xec\xff\xff\xff\xf5\xff\xff\xff\xf1\xff\xff\xff\x07\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x9f\x0e\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x00\x00\x10\x0f\x00\x00\x00\x00\x00\x00\x81\x0f\x00\x00\x00\x00\x00\x00\xf2\x0f\x00\x00\x00\x00\x00\x00\x63\x10\x00\x00\x00\x00\x00\x00\xd4\x10\x00\x00\x0d\x00\x00\x00\x32\x00\x00\x00\x1b\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x45\x11\x00\x00\x45\x12\x00\x00\xa0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x05\x00\x00\x00\x00\x00\x00\x06\x12\x00\x00\x00\x00\x00\x00\x47\x12\x00\x00\x00\x00\x00\x00\x88\x12\x00\x00\x00\x00\x00\x00\xc9\x12\x00\x00\x21\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x3a\x13\x00\x00\x3e\x00\x00\x00\x1f\x00\x00\x00\x33\x03\x00\x00\x8b\x00\x00\x00\xa1\x00\x00\x00\xab\x00\x00\x00\x46\x01\x00\x00\x31\x14\x00\x00\x00\x00\x00\x00\xd8\x13\x00\x00\x92\x01\x00\x00\x58\x14\x00\x00\x58\x15\x00\x00\x18\x15\x00\x00\x00\x00\x00\x00\x18\x16\x00\x00\xd8\x15\x00\x00\x00\x00\x00\x00\xd8\x16\x00\x00\x7d\x03\x00\x00\x98\x16\x00\x00\x00\x00\x00\x00\x98\x17\x00\x00\x58\x17\x00\x00\x00\x00\x00\x00\x58\x18\x00\x00\x18\x18\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x3f\x00\x00\x00\x24\x00\x00\x00\x45\x00\x00\x00\x34\x00\x00\x00\x55\x00\x00\x00\x30\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x59\x18\x00\x00\x22\x14\x00\x00\x96\x02\x00\x00\x83\x03\x00\x00\x29\x19\x00\x00\x92\x03\x00\x00\x31\x02\x00\x00\x15\x14\x00\x00\x80\x19\x00\x00\xcb\x19\x00\x00\x16\x1a\x00\x00\x89\x02\x00\x00\x27\x03\x00\x00\x38\x00\x00\x00\x41\x00\x00\x00\x91\x1a\x00\x00\x51\x1a\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x53\x14\x00\x00\x48\x1b\x00\x00\x4d\x1b\x00\x00\x43\x1c\x00\x00\x39\x1d\x00\x00\x2f\x1e\x00\x00\x25\x1f\x00\x00\x59\x1b\x00\x00\x6b\x1b\x00\x00\x8b\x1b\x00\x00\x94\x1b\x00\x00\x9a\x1b\x00\x00\x46\x1c\x00\x00\x4b\x1c\x00\x00\x50\x1c\x00\x00\x55\x1c\x00\x00\x7b\x1c\x00\x00\x80\x1c\x00\x00\x45\x1d\x00\x00\x3b\x1e\x00\x00\x85\x1c\x00\x00\x8a\x1c\x00\x00\x1c\x20\x00\x00\x54\x1d\x00\x00\x93\x20\x00\x00\x8b\x1f\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x09\x21\x00\x00\x6c\x1d\x00\x00\x3c\x1d\x00\x00\x32\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x81\x01\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x34\x01\x00\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x66\x01\x00\x00\x35\x01\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x78\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x21\x00\x00\x0b\x21\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x04\x00\x00\x00\x00\x00\x00\x3a\x05\x00\x00\x30\x06\x00\x00\xf5\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x22\x00\x00\x00\x00\x00\x00\xd1\x23\x00\x00\x43\x24\x00\x00\x9a\x24\x00\x00\xf1\x24\x00\x00\x48\x25\x00\x00\x9f\x25\x00\x00\xf6\x25\x00\x00\x4d\x26\x00\x00\xa4\x26\x00\x00\xfb\x26\x00\x00\x52\x27\x00\x00\xa9\x27\x00\x00\x00\x28\x00\x00\x59\x28\x00\x00\xb0\x28\x00\x00\x22\x29\x00\x00\x94\x29\x00\x00\xeb\x29\x00\x00\x42\x2a\x00\x00\x99\x2a\x00\x00\xf0\x2a\x00\x00\x47\x2b\x00\x00\x9e\x2b\x00\x00\xf5\x2b\x00\x00\x4c\x2c\x00\x00\xa3\x2c\x00\x00\xfa\x2c\x00\x00\x53\x2d\x00\x00\xac\x2d\x00\x00\x03\x2e\x00\x00\x5a\x2e\x00\x00\xb1\x2e\x00\x00\x08\x2f\x00\x00\x5f\x2f\x00\x00\xb6\x2f\x00\x00\x0d\x30\x00\x00\x64\x30\x00\x00\xbb\x30\x00\x00\x12\x31\x00\x00\x6d\x31\x00\x00\xc4\x31\x00\x00\x1b\x32\x00\x00\x72\x32\x00\x00\xc9\x32\x00\x00\x00\x00\x00\x00\x20\x33\x00\x00\x46\x1e\x00\x00\x00\x1f\x00\x00\x22\x04\x00\x00\x7b\x04\x00\x00\x77\x33\x00\x00\x0d\x1f\x00\x00\xe9\x33\x00\x00\x85\x04\x00\x00\x1f\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_table :: AlexAddr-alex_table = AlexA# "\x00\x00\xb7\x00\xb5\x00\xb7\x00\xb7\x00\xb6\x00\xe7\x00\x32\x01\x33\x01\xae\x00\xad\x00\xa9\x00\xaa\x00\xa3\x00\xa3\x00\xa2\x00\xa2\x00\x91\x00\x16\x00\x17\x00\x18\x00\x82\x00\x81\x00\x19\x00\xb7\x00\xed\x00\x9b\x00\xb8\x00\xe6\x00\xee\x00\xec\x00\xe1\x00\xd3\x00\xd4\x00\xcc\x00\xce\x00\xd0\x00\xcf\x00\xe2\x00\xcd\x00\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\xe4\x00\xe5\x00\xc8\x00\xd5\x00\xca\x00\x1c\x00\x2a\x00\x07\x01\x10\x01\x07\x01\x0c\x01\x0e\x01\x0d\x01\x0b\x01\x07\x01\x0d\x01\x07\x01\x07\x01\x07\x01\x07\x01\x06\x01\x0f\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x01\x01\x49\x00\x48\x00\x31\x00\x36\x00\x07\x01\x35\x00\x07\x01\x07\x01\x07\x01\x00\x01\x1d\x01\x07\x01\x05\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x02\x01\xef\x00\x72\x00\xf0\x00\x2b\x01\x39\x00\x37\x00\x23\x00\xa8\x00\xa8\x00\xa7\x00\xa7\x00\x22\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x9f\x00\x9f\x00\x9e\x00\x9e\x00\x21\x00\x20\x00\x7f\x00\x80\x00\xdd\x00\x0c\x00\x0b\x00\xa0\x00\xa0\x00\xa4\x00\xa4\x00\xa5\x00\xa5\x00\x01\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x04\x00\x04\x00\xa6\x00\xa6\x00\xf3\x00\xf1\x00\x2c\x01\xb3\x00\xbf\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\xc0\x00\xbb\x00\xb9\x00\xd1\x00\xbd\x00\xba\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\xe3\x00\x30\x01\x30\x01\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x76\x00\x25\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x2c\x00\x44\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x1b\x00\x00\x00\x1b\x00\x1b\x00\x1b\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x00\x00\x00\x00\x1b\x00\x2f\x01\x2f\x01\x00\x00\x00\x00\xda\x00\x1f\x00\x96\x00\xeb\x00\x96\x00\x96\x00\x96\x00\x30\x01\x30\x01\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x04\x00\x04\x00\x00\x00\x69\x00\x69\x00\x69\x00\x69\x00\x69\x00\x96\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x2e\x01\x5c\x00\xd2\x00\x00\x00\x00\x00\x0e\x00\x32\x00\x14\x00\xbc\x00\x00\x00\x69\x00\x00\x00\x12\x00\x2f\x01\x10\x00\x7e\x00\x96\x00\x00\x00\x2e\x01\x00\x00\x4b\x00\x00\x00\xbe\x00\x00\x00\x30\x01\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x2f\x01\x00\x00\x5b\x00\x00\x00\x92\x00\x00\x00\x0f\x00\x33\x00\x15\x00\x00\x00\x00\x00\x30\x01\x00\x00\x13\x00\x00\x00\x11\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x76\x00\x25\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x2c\x00\x44\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x00\x00\x00\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x2c\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x00\x00\x00\x00\x00\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x76\x00\x25\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x2c\x00\x44\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x00\x00\x00\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x2b\x01\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x8a\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x76\x00\x25\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x2c\x00\x44\x00\x44\x00\x44\x00\x45\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\x96\x00\xeb\x00\x96\x00\x96\x00\x96\x00\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x8f\x00\x00\x00\xde\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x73\x00\x26\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x56\x00\x2d\x00\x42\x00\x42\x00\x42\x00\x43\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\x96\x00\xeb\x00\x96\x00\x96\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x6f\x00\x27\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x54\x00\x2e\x00\x40\x00\x40\x00\x40\x00\x41\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\x96\x00\xeb\x00\x96\x00\x96\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6c\x00\x28\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x52\x00\x2f\x00\x3e\x00\x3e\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xaf\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\x93\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x0d\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x75\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x71\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x74\x00\x6e\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x6b\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x1a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x24\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x25\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x26\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x27\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x28\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x4e\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x30\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x66\x00\x66\x00\x66\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x01\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x00\x00\x00\x00\x66\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x00\x00\x97\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x89\x00\x89\x00\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x89\x00\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x50\x00\x4f\x00\x30\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3d\x00\x34\x00\x3a\x00\x3a\x00\x3a\x00\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\x00\x00\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x21\x01\x8c\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x25\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x24\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x98\x00\x98\x00\x98\x00\x98\x00\x98\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x9e\x00\x9e\x00\x9e\x00\x9e\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\xe9\x00\xd8\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x9f\x00\x9f\x00\x9f\x00\x9f\x00\x9f\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\xa0\x00\xa0\x00\xa0\x00\xa0\x00\xa0\x00\xc9\x00\x00\x00\x00\x00\x00\x00\xa1\x00\xa1\x00\xa1\x00\xa1\x00\xa1\x00\x00\x00\xa2\x00\xa2\x00\xa2\x00\xa2\x00\xa2\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x79\x00\x24\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x5a\x00\x2b\x00\x46\x00\x46\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xa3\x00\xa3\x00\xa3\x00\xa3\x00\xa3\x00\xa4\x00\xa4\x00\xa4\x00\xa4\x00\xa4\x00\xa5\x00\xa5\x00\xa5\x00\xa5\x00\xa5\x00\xa6\x00\xa6\x00\xa6\x00\xa6\x00\xa6\x00\x00\x00\x00\x00\xd7\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xa6\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x00\xa7\x00\xa7\x00\xa7\x00\xa7\x00\xa7\x00\xa8\x00\xa8\x00\xa8\x00\xa8\x00\xa8\x00\xab\x00\xab\x00\xab\x00\xab\x00\xab\x00\xac\x00\xac\x00\xac\x00\xac\x00\xac\x00\x00\x00\x00\x00\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\xc0\x00\xac\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x79\x00\x24\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x5a\x00\x2b\x00\x46\x00\x46\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xb6\x00\x69\x00\xb6\x00\xb6\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\xab\x00\xab\x00\xab\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x00\xb6\x00\xac\x00\xac\x00\xac\x00\xac\x00\xac\x00\x96\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x9d\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x99\x00\x99\x00\xbe\x00\xac\x00\x98\x00\x98\x00\x98\x00\x98\x00\x98\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x00\x6a\x00\x00\x00\xb4\x00\xe8\x00\x00\x00\xe9\x00\x00\x00\x00\x00\x00\x00\x7c\x00\xe8\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x79\x00\x24\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x5a\x00\x2b\x00\x46\x00\x46\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xb7\x00\x69\x00\xb7\x00\xb7\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\xab\x00\xab\x00\xab\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\xab\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x99\x00\x99\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x22\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x79\x00\x24\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x5a\x00\x2b\x00\x46\x00\x46\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x23\x01\x00\x00\x00\x00\x00\x00\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\x27\x01\xd9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x9d\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x9c\x00\x99\x00\x99\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x79\x00\x24\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x5a\x00\x2b\x00\x46\x00\x46\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xac\x00\xac\x00\xac\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x32\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x10\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x33\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x11\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xaf\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb1\x00\xb0\x00\x0d\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x83\x00\x84\x00\x1e\x00\x5d\x00\x5d\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x04\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\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\x04\x00\x04\x00\x04\x00\x04\x00\x04\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x76\x00\x25\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x2c\x00\x44\x00\x44\x00\x44\x00\x45\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\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x94\x00\x1a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x68\x00\x29\x00\x4c\x00\x4c\x00\x4c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x1b\x00\x00\x00\x1b\x00\x1b\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x1f\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x1e\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\xf5\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xf6\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xf7\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xf8\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xfa\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\xfb\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\xfc\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x1b\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x19\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xff\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x61\x00\x00\x00\x07\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x03\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x08\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x11\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x17\x01\x00\x00\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x04\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x0c\x01\x07\x01\x07\x01\x07\x01\x07\x01\x0c\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x63\x00\x00\x00\x07\x01\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x65\x00\x00\x00\x07\x01\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x18\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x09\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x15\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x16\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x17\x01\x00\x00\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x07\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x1a\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xfe\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x38\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x1c\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xfd\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xf9\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xf4\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\xf2\x00\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x07\x01\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x21\x01\x8c\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x8c\x00\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x00\x00\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x26\x01\x66\x00\x66\x00\x66\x00\x66\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x89\x00\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\x00\x00\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x2a\x01\x66\x00\x66\x00\x66\x00\x66\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_check :: AlexAddr-alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x29\x00\x6f\x00\x4f\x00\x51\x00\x71\x00\x45\x00\x65\x00\x45\x00\x65\x00\x45\x00\x65\x00\x6f\x00\x55\x00\x75\x00\x53\x00\x4f\x00\x6f\x00\x73\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x69\x00\x73\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x41\x00\x61\x00\x69\x00\x65\x00\x5f\x00\x63\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x0a\x00\x7d\x00\x27\x00\x70\x00\x72\x00\x6c\x00\x45\x00\x65\x00\x45\x00\x65\x00\x4c\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x54\x00\x74\x00\x54\x00\x74\x00\x72\x00\x52\x00\x6e\x00\x4e\x00\x27\x00\x54\x00\x74\x00\x76\x00\x56\x00\x72\x00\x52\x00\x64\x00\x44\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x74\x00\x54\x00\x6e\x00\x66\x00\x27\x00\x0a\x00\x3d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3d\x00\x2a\x00\x3e\x00\x2f\x00\x3d\x00\x3e\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3a\x00\x5a\x00\x5a\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x20\x00\x4f\x00\x4f\x00\xff\xff\xff\xff\x27\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5a\x00\x5a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\x42\x00\x41\x00\x29\x00\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x2f\x00\xff\xff\x20\x00\xff\xff\x4c\x00\x4f\x00\x4e\x00\x4f\x00\x26\x00\xff\xff\x42\x00\xff\xff\x54\x00\xff\xff\x3d\x00\xff\xff\x5a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x4f\x00\xff\xff\x61\x00\xff\xff\x69\x00\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x6c\x00\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x22\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\x26\x00\xff\xff\x22\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x45\x00\xff\xff\x27\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x20\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0a\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\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\x64\x00\x65\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\x26\x00\x22\x00\xff\xff\xff\xff\xff\xff\x2b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x22\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x20\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x20\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x26\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2e\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\x24\x00\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\x51\x00\x2b\x00\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\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\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\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\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x5f\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\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\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\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\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\x2e\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\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\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x54\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\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\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\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\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\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\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\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\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\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\x65\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\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\x20\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\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\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\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_deflt :: AlexAddr-alex_deflt = AlexA# "\xff\xff\x03\x00\x03\x00\x03\x00\x03\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3c\x00\x50\x00\x50\x00\x51\x00\x51\x00\x53\x00\x53\x00\x55\x00\x55\x00\x57\x00\x57\x00\x59\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\x67\x00\x6a\x00\x6a\x00\x6a\x00\x6d\x00\x6d\x00\x70\x00\x70\x00\x74\x00\x74\x00\x77\x00\x77\x00\x7a\x00\x7a\x00\xff\xff\xff\xff\x83\x00\x83\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x95\x00\x95\x00\xff\xff\x6a\x00\x07\x00\x07\x00\x07\x00\x06\x00\x06\x00\x06\x00\x05\x00\xff\xff\x05\x00\x05\x00\x03\x00\x03\x00\x03\x00\x9a\x00\x9a\x00\x9a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\xb1\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\xed\x00\xed\x00\xed\x00\xff\xff\xff\xff\xff\xff\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x9a\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\xb4\x00\xb4\x00\xb4\x00\xff\xff\xff\xff\xb4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xed\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_accept = listArray (0::Int,307) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAccPred (alex_action_0) (alexRightContext 178)(AlexAccNone),AlexAcc (alex_action_1),AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_3),AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAcc (alex_action_17),AlexAcc (alex_action_18),AlexAcc (alex_action_19),AlexAcc (alex_action_19),AlexAcc (alex_action_20),AlexAcc (alex_action_20),AlexAcc (alex_action_21),AlexAcc (alex_action_22),AlexAcc (alex_action_23),AlexAcc (alex_action_24),AlexAcc (alex_action_25),AlexAcc (alex_action_26),AlexAcc (alex_action_27),AlexAcc (alex_action_28),AlexAcc (alex_action_29),AlexAcc (alex_action_30),AlexAcc (alex_action_31),AlexAcc (alex_action_31),AlexAcc (alex_action_31),AlexAcc (alex_action_31),AlexAcc (alex_action_32),AlexAcc (alex_action_32),AlexAcc (alex_action_32),AlexAcc (alex_action_32),AlexAcc (alex_action_33),AlexAcc (alex_action_34),AlexAcc (alex_action_35),AlexAcc (alex_action_36),AlexAcc (alex_action_37),AlexAcc (alex_action_38),AlexAcc (alex_action_39),AlexAcc (alex_action_40),AlexAcc (alex_action_41),AlexAcc (alex_action_42),AlexAcc (alex_action_43),AlexAcc (alex_action_43),AlexAcc (alex_action_44),AlexAcc (alex_action_45),AlexAcc (alex_action_46),AlexAccSkipPred (alexRightContext 178)(AlexAccNone),AlexAcc (alex_action_48),AlexAcc (alex_action_49),AlexAcc (alex_action_50),AlexAcc (alex_action_51),AlexAcc (alex_action_51),AlexAcc (alex_action_52),AlexAcc (alex_action_52),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_53),AlexAcc (alex_action_54),AlexAcc (alex_action_54),AlexAcc (alex_action_54),AlexAcc (alex_action_54),AlexAcc (alex_action_54),AlexAcc (alex_action_54),AlexAcc (alex_action_54),AlexAcc (alex_action_55),AlexAcc (alex_action_55),AlexAcc (alex_action_55),AlexAcc (alex_action_55),AlexAcc (alex_action_56),AlexAcc (alex_action_57),AlexAcc (alex_action_58),AlexAcc (alex_action_59),AlexAcc (alex_action_60),AlexAcc (alex_action_61),AlexAcc (alex_action_62),AlexAcc (alex_action_63),AlexAcc (alex_action_64)]-{-# LINE 140 "src/Language/Fortran/Lexer.x" #-}- --- Each action has type :: String -> Token - --- Fixes continuation lines in the middle of strings - removes the continuation line part -cutOutContLine cs = [head cs] ++ (reverse (cutOut cs' (Just []))) ++ [head cs] - where cs' = (take (length cs - 2) (drop 1 cs)) - -cutOut [] Nothing = [] -cutOut [] (Just xs) = xs -cutOut ('&':cs) Nothing = cutOut cs (Just []) -cutOut ('$':cs) Nothing = cutOut cs (Just []) -cutOut ('+':cs) Nothing = cutOut cs (Just []) -cutOut (' ':cs) Nothing = cutOut cs Nothing -cutOut ('\t':cs) Nothing = cutOut cs Nothing -cutOut ('\r':'\n':cs) (Just xs) = (cutOut cs Nothing) ++ xs -cutOut ('\n':cs) (Just xs) = (cutOut cs Nothing) ++ xs -cutOut (c:cs) (Just xs) = cutOut cs (Just (c:xs)) - - --- The token type: -data Token = Key String | LitConst Char String | OpPower | OpMul | OpDiv | OpAdd | OpSub | OpConcat - | OpEQ | OpNE | OpLT | OpLE | OpGT | OpGE | OpLG - | OpNOT | OpAND | OpOR | OpXOR | OpEQV | OpNEQV - | BinConst String | OctConst String | HexConst String - | ID String | Num String | Comma | Bang | Percent - | LParen | RParen | LArrCon | RArrCon | OpEquals | RealConst String | StopParamStart - | SingleQuote | StrConst String | Period | Colon | ColonColon | SemiColon - | DataEditDest String | Arrow | MArrow | TrueConst | FalseConst | Dollar - | Hash | LBrace | RBrace | NewLine | TokEOF | Text String | ContLine | ContLineAlt | ContLineWithComment | ContLineNoNewLine - deriving (Eq,Show) - -keywords :: [String] -keywords = ["allocate", "allocatable","assign", - "assignment","automatic","backspace","block","call", "case", - "character","close","common","complex","contains","continue","cycle", - "data","deallocate","default","dimension","do", - "elemental","else","elseif","elsewhere","end", "enddo", "endif", - "endfile","entry", "equivalence","exit","external", - "forall","format","function","goto","iolength", - "if","implicit","in","include","inout","integer","intent","interface", - "intrinsic","inquire","kind","len","logical","module", - "namelist","none","nullify", - "only","open","operator","optional","out","parameter", - "pause","pointer","print","private","procedure", - "program","public","pure","real","read","recursive","result", - "return","rewind","save","select","sequence","sometype","sqrt","stat", - "stop","subroutine","target","to","then","type", - "unit", "use","volatile","where","while","write"] - - -{- old keywords, many will be removed -keywords :: [String] -keywords = ["access","action","advance","allocate","allocatable","assign", - "assignment","automatic","backspace","blank","block","call","case", - "character","close","common","complex","contains","continue","cycle", - "data","deallocate","default","delim","dimension","direct","do", - "double","elemental","else","elseif","elsewhere","end", "enddo", "endif", "endfile","entry", - "eor","err","equivalence","exist","exit","external","file","fmt", - "forall","form","format","formatted","function","goto","iostat","iolength", - "if","implicit","in","inout","integer","intent","interface", - "intrinsic","inquire","kind","len","logical","module","number", - "named","nml","nextrec","namelist","none","nullify","null()", - "only","open","opened","operator","optional","out","pad","parameter", - "pause","pointer","position","precision","print","private","procedure", - "program","pure","real","read","readwrite","rec","recl","recursive","result", - "return","rewind","save","select","sequence","sequential","sometype","stat", - "status","stop","subroutine","target","to","then","type","unformatted", - "unit","use","volatile","where","while","write"] --} - -lexer :: (Token -> P a) -> P a -lexer = runL lexer' - -lexer' :: Lex a Token -lexer' = do s <- getInput - startToken - case alexScan ('\0',[],s) 0 of - AlexEOF -> return TokEOF - AlexError (c,b,s') -> getInput >>= (\i -> fail ("unrecognizable token: " ++ show c ++ "(" ++ (show $ ord c) ++ "). ")) - AlexSkip (_,b,s') len -> discard len >> lexer' - AlexToken (_,b,s') len act -> do let tok = act (take len s) - -- turn on for useful debugging info on lexing - -- (show (tok, (take 20 s), len) ++ "\n") `trace` return () - case tok of - NewLine -> lexNewline >> (return tok) - ContLine -> (discard (len - 1)) >> lexNewline >> lexer' - ContLineNoNewLine -> (discard len) >> lexer' - ContLineAlt -> lexNewline >> (discard (len - 1)) >> lexer' - ContLineWithComment -> lexNewline >> lexNewline >> (discard (len - 2)) >> lexer' - _ -> (discard len) >> (return tok) --alex_action_0 = \s -> Text s -alex_action_1 = \s -> NewLine -alex_action_3 = \s -> Hash -alex_action_4 = \s -> MArrow -alex_action_5 = \s -> Arrow -alex_action_6 = \s -> OpPower -alex_action_7 = \s -> OpConcat -alex_action_8 = \s -> OpEQ -alex_action_9 = \s -> OpNE -alex_action_10 = \s -> OpLE -alex_action_11 = \s -> OpGE -alex_action_12 = \s -> OpNOT -alex_action_13 = \s -> OpAND -alex_action_14 = \s -> OpOR -alex_action_15 = \s -> TrueConst -alex_action_16 = \s -> FalseConst -alex_action_17 = \s -> OpEQV -alex_action_18 = \s -> OpNEQV -alex_action_19 = \s -> OpLT -alex_action_20 = \s -> OpGT -alex_action_21 = \s -> OpMul -alex_action_22 = \s -> OpDiv -alex_action_23 = \s -> OpAdd -alex_action_24 = \s -> OpSub -alex_action_25 = \s -> Comma -alex_action_26 = \s -> LArrCon -alex_action_27 = \s -> RArrCon -alex_action_28 = \s -> LParen -alex_action_29 = \s -> RParen -alex_action_30 = \s -> OpEquals -alex_action_31 = \s -> StrConst s -alex_action_32 = \s -> StrConst s -alex_action_33 = \s -> StrConst (cutOutContLine s) -alex_action_34 = \s -> LitConst 'z' s -alex_action_35 = \s -> LitConst 'z' s -alex_action_36 = \s -> SingleQuote -alex_action_37 = \s -> Period -alex_action_38 = \s -> ColonColon -alex_action_39 = \s -> Colon -alex_action_40 = \s -> SemiColon -alex_action_41 = \s -> Dollar -alex_action_42 = \s -> Key "null" -alex_action_43 = \s -> ContLineAlt -alex_action_44 = \s -> ContLineWithComment -alex_action_45 = \s -> ContLine -alex_action_46 = \s -> ContLineNoNewLine -alex_action_48 = \s -> Percent -alex_action_49 = \s -> LBrace -alex_action_50 = \s -> RBrace -alex_action_51 = \s -> Key "elseif" -alex_action_52 = \s -> Key "double precision"-alex_action_53 = \s -> if (map toLower s) `elem` keywords - then Key (map toLower s) - else ID s -alex_action_54 = \s -> DataEditDest s -alex_action_55 = \s -> Num s -alex_action_56 = \s -> BinConst s -alex_action_57 = \s -> OctConst s -alex_action_58 = \s -> HexConst s -alex_action_59 = \s -> BinConst s -alex_action_60 = \s -> OctConst s -alex_action_61 = \s -> HexConst s -alex_action_62 = \s -> Num s -alex_action_63 = \s -> Key "goto" -alex_action_64 = \s -> Key "goto" -{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine---{-# LINE 21 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define GTE(n,m) (tagToEnum# (n >=# m))-#define EQ(n,m) (tagToEnum# (n ==# m))-#else-#define GTE(n,m) (n >=# m)-#define EQ(n,m) (n ==# m)-#endif--{-# LINE 51 "templates/GenericTemplate.hs" #-}---data AlexAddr = AlexA# Addr#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow16Int# i- where- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#-#else- indexInt16OffAddr# arr off-#endif------{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr (AlexA# arr) off = -#ifdef WORDS_BIGENDIAN- narrow32Int# i- where- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`- (b2 `uncheckedShiftL#` 16#) `or#`- (b1 `uncheckedShiftL#` 8#) `or#` b0)- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 4#-#else- indexInt32OffAddr# arr off-#endif-------#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif------- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a- = AlexEOF- | AlexError !AlexInput- | AlexSkip !AlexInput !Int- | AlexToken !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input (I# (sc))- = alexScanUser undefined input (I# (sc))--alexScanUser user input (I# (sc))- = case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, input') ->- case alexGetByte input of- Nothing -> ---- AlexEOF- Just _ ->---- AlexError input'-- (AlexLastSkip input'' len, _) ->---- AlexSkip input'' len-- (AlexLastAcc k input''' len, _) ->---- AlexToken input''' len k----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user orig_input len input s last_acc =- input `seq` -- strict in the input- let - new_acc = (check_accs (alex_accept `quickIndex` (I# (s))))- in- new_acc `seq`- case alexGetByte input of- Nothing -> (new_acc, input)- Just (c, new_input) -> ---- case fromIntegral c of { (I# (ord_c)) ->- let- base = alexIndexInt32OffAddr alex_base s- offset = (base +# ord_c)- check = alexIndexInt16OffAddr alex_check offset- - new_s = if GTE(offset,0#) && EQ(check,ord_c)- then alexIndexInt16OffAddr alex_table offset- else alexIndexInt16OffAddr alex_deflt s- in- case new_s of- -1# -> (new_acc, input)- -- on an error, we want to keep the input *before* the- -- character that failed, not after.- _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)- -- note that the length is increased ONLY if this is the 1st byte in a char encoding)- new_input new_s new_acc- }- where- check_accs (AlexAccNone) = last_acc- check_accs (AlexAcc a ) = AlexLastAcc a input (I# (len))- check_accs (AlexAccSkip) = AlexLastSkip input (I# (len))-- check_accs (AlexAccPred a predx rest)- | predx user orig_input (I# (len)) input- = AlexLastAcc a input (I# (len))- | otherwise- = check_accs rest- check_accs (AlexAccSkipPred predx rest)- | predx user orig_input (I# (len)) input- = AlexLastSkip input (I# (len))- | otherwise- = check_accs rest---data AlexLastAcc a- = AlexNone- | AlexLastAcc a !AlexInput !Int- | AlexLastSkip !AlexInput !Int--instance Functor AlexLastAcc where- fmap f AlexNone = AlexNone- fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z- fmap f (AlexLastSkip x y) = AlexLastSkip x y--data AlexAcc a user- = AlexAccNone- | AlexAcc a- | AlexAccSkip-- | AlexAccPred a (AlexAccPred user) (AlexAcc a user)- | AlexAccSkipPred (AlexAccPred user) (AlexAcc a user)--type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool---- -------------------------------------------------------------------------------- Predicates on a rule--alexAndPred p1 p2 user in1 len in2- = p1 user in1 len in2 && p2 user in1 len in2----alexPrevCharIsPred :: Char -> AlexAccPred _ -alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input--alexPrevCharMatches f _ input _ _ = f (alexInputPrevChar input)----alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ -alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input----alexRightContext :: Int -> AlexAccPred _-alexRightContext (I# (sc)) user _ _ input = - case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, _) -> False- _ -> True- -- TODO: there's no need to find the longest- -- match when checking the right context, just- -- the first match will do.----- used by wrappers-iUnbox (I# (i)) = i-
− dist/build/Language/Fortran/Parser.hs
@@ -1,7808 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-module Language.Fortran.Parser ( - parser - , include_parser - -- * Helpers - , fst3 - , snd3 - , trd3 - , fst4 - , snd4 - , trd4 - , frh4 - ) - where - -import Language.Fortran -import Language.Fortran.PreProcess - -import qualified Language.Haskell.Syntax as LH (SrcLoc(..)) -import Language.Haskell.ParseMonad -import Language.Fortran.Lexer -import Data.Char (toLower) -import Debug.Trace-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts-import Control.Applicative(Applicative(..))---- parser produced by Happy Version 1.19.4--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn5 :: (Program A0) -> (HappyAbsSyn )-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn ) -> (Program A0)-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: (Program A0) -> (HappyAbsSyn )-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn ) -> (Program A0)-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (Program A0) -> (HappyAbsSyn )-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (Program A0)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: ([String]) -> (HappyAbsSyn )-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> ([String])-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: () -> (HappyAbsSyn )-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> ()-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: () -> (HappyAbsSyn )-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> ()-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ((SubName A0, Arg A0)) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> ((SubName A0, Arg A0))-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (String) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (String)-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (Implicit A0) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (Implicit A0)-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (String) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (String)-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (String) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (String)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (SubName A0) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (SubName A0)-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (String) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (String)-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (SubName A0) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (SubName A0)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (String) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (String)-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: (Program A0) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> (Program A0)-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Program A0) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Program A0)-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (ProgUnit A0) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (ProgUnit A0)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Uses A0) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (Uses A0)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: ((String, Renames)) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> ((String, Renames))-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: ([(Variable, Variable)]) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> ([(Variable, Variable)])-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (Decl A0) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (Decl A0)-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (Decl A0) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (Decl A0)-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (Decl A0) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (Decl A0)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (Decl A0) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (Decl A0)-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (Decl A0) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (Decl A0)-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (([(Expr A0, Expr A0)],[Attr A0])) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (([(Expr A0, Expr A0)],[Attr A0]))-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ([(Expr A0, Expr A0, Maybe Int)]) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> ([(Expr A0, Expr A0, Maybe Int)])-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ((Expr A0, Expr A0, Maybe Int)) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ((Expr A0, Expr A0, Maybe Int))-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (String) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (String)-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: ((BaseType A0, Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> ((BaseType A0, Expr A0, Expr A0))-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: ((BaseType A0, Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> ((BaseType A0, Expr A0, Expr A0))-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (Expr A0) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (Expr A0)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: ((Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> ((Expr A0, Expr A0))-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (Expr A0) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (Expr A0)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (Expr A0) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (Expr A0)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (Expr A0) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (Expr A0)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: ([(Expr A0, Expr A0)]) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> ([(Expr A0, Expr A0)])-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: ([(Expr A0, Expr A0)]) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> ([(Expr A0, Expr A0)])-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (([(Expr A0, Expr A0)],[Attr A0])) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (([(Expr A0, Expr A0)],[Attr A0]))-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (([(Expr A0, Expr A0)],[Attr A0])) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (([(Expr A0, Expr A0)],[Attr A0]))-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (Attr A0) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (Attr A0)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (Decl A0) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (Decl A0)-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ([(MeasureUnit, MeasureUnitSpec A0)]) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> ([(MeasureUnit, MeasureUnitSpec A0)])-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ((MeasureUnit, MeasureUnitSpec A0)) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ((MeasureUnit, MeasureUnitSpec A0))-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (MeasureUnitSpec A0) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (MeasureUnitSpec A0)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: ([(MeasureUnit, Fraction A0)]) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> ([(MeasureUnit, Fraction A0)])-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([(MeasureUnit, Fraction A0)]) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> ([(MeasureUnit, Fraction A0)])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (Fraction A0) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (Fraction A0)-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (String) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (String)-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ([(Expr A0, Expr A0)]) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> ([(Expr A0, Expr A0)])-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (Expr A0) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (Expr A0)-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (Decl A0) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (Decl A0)-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (Expr A0) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (Expr A0)-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (IntentAttr A0) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (IntentAttr A0)-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (Decl A0) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (Decl A0)-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (Decl A0) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (Decl A0)-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (Decl A0) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (Decl A0)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (Decl A0) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (Decl A0)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (Maybe (GSpec A0)) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (Maybe (GSpec A0))-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: ([InterfaceSpec A0]) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> ([InterfaceSpec A0])-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (InterfaceSpec A0) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (InterfaceSpec A0)-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (Maybe (GSpec A0)) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (Maybe (GSpec A0))-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (InterfaceSpec A0) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (InterfaceSpec A0)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (InterfaceSpec A0) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (InterfaceSpec A0)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: ([SubName A0 ]) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> ([SubName A0 ])-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Decl A0) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Decl A0)-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: ((SubName A0, [Attr A0])) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> ((SubName A0, [Attr A0]))-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (String) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (String)-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (SubName A0) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (SubName A0)-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: ([Attr A0]) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> ([Attr A0])-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: ([Decl A0 ]) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> ([Decl A0 ])-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (Decl A0) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (Decl A0)-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (([(Expr A0, Expr A0)],[Attr A0])) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (([(Expr A0, Expr A0)],[Attr A0]))-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (([(Expr A0, Expr A0)],[Attr A0])) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (([(Expr A0, Expr A0)],[Attr A0]))-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (Decl A0) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (Decl A0)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (Decl A0) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (Decl A0)-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: ([GSpec A0]) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> ([GSpec A0])-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (GSpec A0) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (GSpec A0)-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (GSpec A0) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (GSpec A0)-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (DataForm A0) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (DataForm A0)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: ([(Expr A0, Expr A0)]) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> ([(Expr A0, Expr A0)])-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: ((Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> ((Expr A0, Expr A0))-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Expr A0) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Expr A0)-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Expr A0) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Expr A0)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (Expr A0) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (Expr A0)-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (Expr A0) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (Expr A0)-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (Decl A0) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (Decl A0)-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: ([String]) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> ([String])-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (String) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (String)-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (String) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (String)-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (String) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (String)-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (BinOp A0) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (BinOp A0)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (BinOp A0) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (BinOp A0)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (Decl A0) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (Decl A0)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: ([(Expr A0, [Expr A0])]) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> ([(Expr A0, [Expr A0])])-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: ((SubName A0, Arg A0, Maybe (BaseType A0))) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> ((SubName A0, Arg A0, Maybe (BaseType A0)))-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: ((SubName A0, Arg A0, Maybe (BaseType A0), Maybe (VarName A0))) -> (HappyAbsSyn )-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> ((SubName A0, Arg A0, Maybe (BaseType A0), Maybe (VarName A0)))-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (SubName A0) -> (HappyAbsSyn )-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (SubName A0)-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: ((BaseType A0, Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> ((BaseType A0, Expr A0, Expr A0))-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (Arg A0) -> (HappyAbsSyn )-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (Arg A0)-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (SrcSpan -> Arg A0) -> (HappyAbsSyn )-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (SrcSpan -> Arg A0)-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (ArgName A0) -> (HappyAbsSyn )-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (ArgName A0)-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (ArgName A0) -> (HappyAbsSyn )-happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (ArgName A0)-happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (Fortran A0) -> (HappyAbsSyn )-happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (Expr A0) -> (HappyAbsSyn )-happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (Expr A0)-happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: ([(VarName A0, [Expr A0])]) -> (HappyAbsSyn )-happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> ([(VarName A0, [Expr A0])])-happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: ((VarName A0, [Expr A0])) -> (HappyAbsSyn )-happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> ((VarName A0, [Expr A0]))-happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (Expr A0) -> (HappyAbsSyn )-happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (Expr A0)-happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (Expr A0) -> (HappyAbsSyn )-happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (Expr A0)-happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: (Expr A0) -> (HappyAbsSyn )-happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> (Expr A0)-happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: (Expr A0) -> (HappyAbsSyn )-happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> (Expr A0)-happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: (Expr A0) -> (HappyAbsSyn )-happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> (Expr A0)-happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (Expr A0) -> (HappyAbsSyn )-happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (Expr A0)-happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (Expr A0) -> (HappyAbsSyn )-happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (Expr A0)-happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (Expr A0) -> (HappyAbsSyn )-happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (Expr A0)-happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyIn132 :: (Expr A0) -> (HappyAbsSyn )-happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn132 #-}-happyOut132 :: (HappyAbsSyn ) -> (Expr A0)-happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut132 #-}-happyIn133 :: (Expr A0) -> (HappyAbsSyn )-happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn133 #-}-happyOut133 :: (HappyAbsSyn ) -> (Expr A0)-happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut133 #-}-happyIn134 :: (Expr A0) -> (HappyAbsSyn )-happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn134 #-}-happyOut134 :: (HappyAbsSyn ) -> (Expr A0)-happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut134 #-}-happyIn135 :: (Expr A0) -> (HappyAbsSyn )-happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn135 #-}-happyOut135 :: (HappyAbsSyn ) -> (Expr A0)-happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut135 #-}-happyIn136 :: (Expr A0) -> (HappyAbsSyn )-happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn136 #-}-happyOut136 :: (HappyAbsSyn ) -> (Expr A0)-happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut136 #-}-happyIn137 :: (Expr A0) -> (HappyAbsSyn )-happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn137 #-}-happyOut137 :: (HappyAbsSyn ) -> (Expr A0)-happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut137 #-}-happyIn138 :: (Expr A0) -> (HappyAbsSyn )-happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn138 #-}-happyOut138 :: (HappyAbsSyn ) -> (Expr A0)-happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut138 #-}-happyIn139 :: (Expr A0) -> (HappyAbsSyn )-happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn139 #-}-happyOut139 :: (HappyAbsSyn ) -> (Expr A0)-happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut139 #-}-happyIn140 :: (String) -> (HappyAbsSyn )-happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn140 #-}-happyOut140 :: (HappyAbsSyn ) -> (String)-happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut140 #-}-happyIn141 :: ([String]) -> (HappyAbsSyn )-happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn141 #-}-happyOut141 :: (HappyAbsSyn ) -> ([String])-happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut141 #-}-happyIn142 :: (Expr A0) -> (HappyAbsSyn )-happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn142 #-}-happyOut142 :: (HappyAbsSyn ) -> (Expr A0)-happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut142 #-}-happyIn143 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn143 #-}-happyOut143 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut143 #-}-happyIn144 :: (Expr A0) -> (HappyAbsSyn )-happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn144 #-}-happyOut144 :: (HappyAbsSyn ) -> (Expr A0)-happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut144 #-}-happyIn145 :: (Expr A0) -> (HappyAbsSyn )-happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn145 #-}-happyOut145 :: (HappyAbsSyn ) -> (Expr A0)-happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut145 #-}-happyIn146 :: (Expr A0) -> (HappyAbsSyn )-happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn146 #-}-happyOut146 :: (HappyAbsSyn ) -> (Expr A0)-happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut146 #-}-happyIn147 :: (Expr A0) -> (HappyAbsSyn )-happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn147 #-}-happyOut147 :: (HappyAbsSyn ) -> (Expr A0)-happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut147 #-}-happyIn148 :: (Expr A0) -> (HappyAbsSyn )-happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn148 #-}-happyOut148 :: (HappyAbsSyn ) -> (Expr A0)-happyOut148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut148 #-}-happyIn149 :: (BinOp A0) -> (HappyAbsSyn )-happyIn149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn149 #-}-happyOut149 :: (HappyAbsSyn ) -> (BinOp A0)-happyOut149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut149 #-}-happyIn150 :: (Expr A0) -> (HappyAbsSyn )-happyIn150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn150 #-}-happyOut150 :: (HappyAbsSyn ) -> (Expr A0)-happyOut150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut150 #-}-happyIn151 :: (VarName A0) -> (HappyAbsSyn )-happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn151 #-}-happyOut151 :: (HappyAbsSyn ) -> (VarName A0)-happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut151 #-}-happyIn152 :: (Fortran A0) -> (HappyAbsSyn )-happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn152 #-}-happyOut152 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut152 #-}-happyIn153 :: (Fortran A0) -> (HappyAbsSyn )-happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn153 #-}-happyOut153 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut153 #-}-happyIn154 :: ((VarName A0, Expr A0, Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn154 #-}-happyOut154 :: (HappyAbsSyn ) -> ((VarName A0, Expr A0, Expr A0, Expr A0))-happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut154 #-}-happyIn155 :: ((VarName A0, Expr A0, Expr A0, Expr A0)) -> (HappyAbsSyn )-happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn155 #-}-happyOut155 :: (HappyAbsSyn ) -> ((VarName A0, Expr A0, Expr A0, Expr A0))-happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut155 #-}-happyIn156 :: (Expr A0) -> (HappyAbsSyn )-happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn156 #-}-happyOut156 :: (HappyAbsSyn ) -> (Expr A0)-happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut156 #-}-happyIn157 :: (Fortran A0) -> (HappyAbsSyn )-happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn157 #-}-happyOut157 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut157 #-}-happyIn158 :: ((Fortran A0, String)) -> (HappyAbsSyn )-happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn158 #-}-happyOut158 :: (HappyAbsSyn ) -> ((Fortran A0, String))-happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut158 #-}-happyIn159 :: ((Fortran A0, String)) -> (HappyAbsSyn )-happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn159 #-}-happyOut159 :: (HappyAbsSyn ) -> ((Fortran A0, String))-happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut159 #-}-happyIn160 :: (Fortran A0) -> (HappyAbsSyn )-happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn160 #-}-happyOut160 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut160 #-}-happyIn161 :: () -> (HappyAbsSyn )-happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn161 #-}-happyOut161 :: (HappyAbsSyn ) -> ()-happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut161 #-}-happyIn162 :: (Fortran A0) -> (HappyAbsSyn )-happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn162 #-}-happyOut162 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut162 #-}-happyIn163 :: (Fortran A0) -> (HappyAbsSyn )-happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn163 #-}-happyOut163 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut163 #-}-happyIn164 :: (Fortran A0) -> (HappyAbsSyn )-happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn164 #-}-happyOut164 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut164 #-}-happyIn165 :: (Fortran A0) -> (HappyAbsSyn )-happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn165 #-}-happyOut165 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut165 #-}-happyIn166 :: (Fortran A0) -> (HappyAbsSyn )-happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn166 #-}-happyOut166 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut166 #-}-happyIn167 :: (Decl A0) -> (HappyAbsSyn )-happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn167 #-}-happyOut167 :: (HappyAbsSyn ) -> (Decl A0)-happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut167 #-}-happyIn168 :: (Fortran A0) -> (HappyAbsSyn )-happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn168 #-}-happyOut168 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut168 #-}-happyIn169 :: (Fortran A0) -> (HappyAbsSyn )-happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn169 #-}-happyOut169 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut169 #-}-happyIn170 :: (Fortran A0) -> (HappyAbsSyn )-happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn170 #-}-happyOut170 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut170 #-}-happyIn171 :: (Fortran A0) -> (HappyAbsSyn )-happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn171 #-}-happyOut171 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut171 #-}-happyIn172 :: (Expr A0) -> (HappyAbsSyn )-happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn172 #-}-happyOut172 :: (HappyAbsSyn ) -> (Expr A0)-happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut172 #-}-happyIn173 :: (Expr A0) -> (HappyAbsSyn )-happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn173 #-}-happyOut173 :: (HappyAbsSyn ) -> (Expr A0)-happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut173 #-}-happyIn174 :: (Expr A0) -> (HappyAbsSyn )-happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn174 #-}-happyOut174 :: (HappyAbsSyn ) -> (Expr A0)-happyOut174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut174 #-}-happyIn175 :: (Expr A0) -> (HappyAbsSyn )-happyIn175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn175 #-}-happyOut175 :: (HappyAbsSyn ) -> (Expr A0)-happyOut175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut175 #-}-happyIn176 :: ([(Expr A0, Fortran A0)]) -> (HappyAbsSyn )-happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn176 #-}-happyOut176 :: (HappyAbsSyn ) -> ([(Expr A0, Fortran A0)])-happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut176 #-}-happyIn177 :: (Expr A0) -> (HappyAbsSyn )-happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn177 #-}-happyOut177 :: (HappyAbsSyn ) -> (Expr A0)-happyOut177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut177 #-}-happyIn178 :: (Expr A0) -> (HappyAbsSyn )-happyIn178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn178 #-}-happyOut178 :: (HappyAbsSyn ) -> (Expr A0)-happyOut178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut178 #-}-happyIn179 :: (Expr A0) -> (HappyAbsSyn )-happyIn179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn179 #-}-happyOut179 :: (HappyAbsSyn ) -> (Expr A0)-happyOut179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut179 #-}-happyIn180 :: (Fortran A0) -> (HappyAbsSyn )-happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn180 #-}-happyOut180 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut180 #-}-happyIn181 :: () -> (HappyAbsSyn )-happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn181 #-}-happyOut181 :: (HappyAbsSyn ) -> ()-happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut181 #-}-happyIn182 :: (Expr A0) -> (HappyAbsSyn )-happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn182 #-}-happyOut182 :: (HappyAbsSyn ) -> (Expr A0)-happyOut182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut182 #-}-happyIn183 :: (Fortran A0) -> (HappyAbsSyn )-happyIn183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn183 #-}-happyOut183 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut183 #-}-happyIn184 :: (Expr A0) -> (HappyAbsSyn )-happyIn184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn184 #-}-happyOut184 :: (HappyAbsSyn ) -> (Expr A0)-happyOut184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut184 #-}-happyIn185 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn185 #-}-happyOut185 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut185 #-}-happyIn186 :: (Expr A0) -> (HappyAbsSyn )-happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn186 #-}-happyOut186 :: (HappyAbsSyn ) -> (Expr A0)-happyOut186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut186 #-}-happyIn187 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn187 #-}-happyOut187 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut187 #-}-happyIn188 :: (Expr A0) -> (HappyAbsSyn )-happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn188 #-}-happyOut188 :: (HappyAbsSyn ) -> (Expr A0)-happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut188 #-}-happyIn189 :: (Expr A0) -> (HappyAbsSyn )-happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn189 #-}-happyOut189 :: (HappyAbsSyn ) -> (Expr A0)-happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut189 #-}-happyIn190 :: (Expr A0) -> (HappyAbsSyn )-happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn190 #-}-happyOut190 :: (HappyAbsSyn ) -> (Expr A0)-happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut190 #-}-happyIn191 :: ([(VarName A0,[Expr A0])]) -> (HappyAbsSyn )-happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn191 #-}-happyOut191 :: (HappyAbsSyn ) -> ([(VarName A0,[Expr A0])])-happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut191 #-}-happyIn192 :: ((VarName A0, [Expr A0])) -> (HappyAbsSyn )-happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn192 #-}-happyOut192 :: (HappyAbsSyn ) -> ((VarName A0, [Expr A0]))-happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut192 #-}-happyIn193 :: (Fortran A0) -> (HappyAbsSyn )-happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn193 #-}-happyOut193 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut193 #-}-happyIn194 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn194 #-}-happyOut194 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut194 #-}-happyIn195 :: (Spec A0) -> (HappyAbsSyn )-happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn195 #-}-happyOut195 :: (HappyAbsSyn ) -> (Spec A0)-happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut195 #-}-happyIn196 :: (Fortran A0) -> (HappyAbsSyn )-happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn196 #-}-happyOut196 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut196 #-}-happyIn197 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn197 #-}-happyOut197 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut197 #-}-happyIn198 :: (Spec A0) -> (HappyAbsSyn )-happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn198 #-}-happyOut198 :: (HappyAbsSyn ) -> (Spec A0)-happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut198 #-}-happyIn199 :: (Fortran A0) -> (HappyAbsSyn )-happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn199 #-}-happyOut199 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut199 #-}-happyIn200 :: (Fortran A0) -> (HappyAbsSyn )-happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn200 #-}-happyOut200 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut200 #-}-happyIn201 :: (Fortran A0) -> (HappyAbsSyn )-happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn201 #-}-happyOut201 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut201 #-}-happyIn202 :: (Fortran A0) -> (HappyAbsSyn )-happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn202 #-}-happyOut202 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut202 #-}-happyIn203 :: (Fortran A0) -> (HappyAbsSyn )-happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn203 #-}-happyOut203 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut203 #-}-happyIn204 :: (Fortran A0) -> (HappyAbsSyn )-happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn204 #-}-happyOut204 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut204 #-}-happyIn205 :: () -> (HappyAbsSyn )-happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn205 #-}-happyOut205 :: (HappyAbsSyn ) -> ()-happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut205 #-}-happyIn206 :: (([(String,Expr A0,Expr A0,Expr A0)],Expr A0)) -> (HappyAbsSyn )-happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn206 #-}-happyOut206 :: (HappyAbsSyn ) -> (([(String,Expr A0,Expr A0,Expr A0)],Expr A0))-happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut206 #-}-happyIn207 :: ([(String,Expr A0,Expr A0,Expr A0)]) -> (HappyAbsSyn )-happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn207 #-}-happyOut207 :: (HappyAbsSyn ) -> ([(String,Expr A0,Expr A0,Expr A0)])-happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut207 #-}-happyIn208 :: ((String,Expr A0,Expr A0,Expr A0)) -> (HappyAbsSyn )-happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn208 #-}-happyOut208 :: (HappyAbsSyn ) -> ((String,Expr A0,Expr A0,Expr A0))-happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut208 #-}-happyIn209 :: (Fortran A0) -> (HappyAbsSyn )-happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn209 #-}-happyOut209 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut209 #-}-happyIn210 :: (Fortran A0) -> (HappyAbsSyn )-happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn210 #-}-happyOut210 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut210 #-}-happyIn211 :: (Fortran A0) -> (HappyAbsSyn )-happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn211 #-}-happyOut211 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut211 #-}-happyIn212 :: (Fortran A0) -> (HappyAbsSyn )-happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn212 #-}-happyOut212 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut212 #-}-happyIn213 :: (Fortran A0) -> (HappyAbsSyn )-happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn213 #-}-happyOut213 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut213 #-}-happyIn214 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn214 #-}-happyOut214 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut214 #-}-happyIn215 :: (Spec A0) -> (HappyAbsSyn )-happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn215 #-}-happyOut215 :: (HappyAbsSyn ) -> (Spec A0)-happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut215 #-}-happyIn216 :: (Fortran A0) -> (HappyAbsSyn )-happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn216 #-}-happyOut216 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut216 #-}-happyIn217 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn217 #-}-happyOut217 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut217 #-}-happyIn218 :: (Expr A0) -> (HappyAbsSyn )-happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn218 #-}-happyOut218 :: (HappyAbsSyn ) -> (Expr A0)-happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut218 #-}-happyIn219 :: (Expr A0) -> (HappyAbsSyn )-happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn219 #-}-happyOut219 :: (HappyAbsSyn ) -> (Expr A0)-happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut219 #-}-happyIn220 :: (Fortran A0) -> (HappyAbsSyn )-happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn220 #-}-happyOut220 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut220 #-}-happyIn221 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn221 #-}-happyOut221 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut221 #-}-happyIn222 :: (Spec A0) -> (HappyAbsSyn )-happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn222 #-}-happyOut222 :: (HappyAbsSyn ) -> (Spec A0)-happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut222 #-}-happyIn223 :: (Expr A0) -> (HappyAbsSyn )-happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn223 #-}-happyOut223 :: (HappyAbsSyn ) -> (Expr A0)-happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut223 #-}-happyIn224 :: (Expr A0) -> (HappyAbsSyn )-happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn224 #-}-happyOut224 :: (HappyAbsSyn ) -> (Expr A0)-happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut224 #-}-happyIn225 :: (Expr A0) -> (HappyAbsSyn )-happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn225 #-}-happyOut225 :: (HappyAbsSyn ) -> (Expr A0)-happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut225 #-}-happyIn226 :: (Fortran A0) -> (HappyAbsSyn )-happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn226 #-}-happyOut226 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut226 #-}-happyIn227 :: (Expr A0) -> (HappyAbsSyn )-happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn227 #-}-happyOut227 :: (HappyAbsSyn ) -> (Expr A0)-happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut227 #-}-happyIn228 :: (Fortran A0) -> (HappyAbsSyn )-happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn228 #-}-happyOut228 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut228 #-}-happyIn229 :: (Expr A0) -> (HappyAbsSyn )-happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn229 #-}-happyOut229 :: (HappyAbsSyn ) -> (Expr A0)-happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut229 #-}-happyIn230 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn230 #-}-happyOut230 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut230 #-}-happyIn231 :: (Expr A0) -> (HappyAbsSyn )-happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn231 #-}-happyOut231 :: (HappyAbsSyn ) -> (Expr A0)-happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut231 #-}-happyIn232 :: (Fortran A0) -> (HappyAbsSyn )-happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn232 #-}-happyOut232 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut232 #-}-happyIn233 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn233 #-}-happyOut233 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut233 #-}-happyIn234 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn234 #-}-happyOut234 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut234 #-}-happyIn235 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn235 #-}-happyOut235 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut235 #-}-happyIn236 :: ([Spec A0]) -> (HappyAbsSyn )-happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn236 #-}-happyOut236 :: (HappyAbsSyn ) -> ([Spec A0])-happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut236 #-}-happyIn237 :: (Spec A0) -> (HappyAbsSyn )-happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn237 #-}-happyOut237 :: (HappyAbsSyn ) -> (Spec A0)-happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut237 #-}-happyIn238 :: (Spec A0) -> (HappyAbsSyn )-happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn238 #-}-happyOut238 :: (HappyAbsSyn ) -> (Spec A0)-happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut238 #-}-happyIn239 :: ([Expr A0]) -> (HappyAbsSyn )-happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn239 #-}-happyOut239 :: (HappyAbsSyn ) -> ([Expr A0])-happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut239 #-}-happyIn240 :: (Expr A0) -> (HappyAbsSyn )-happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn240 #-}-happyOut240 :: (HappyAbsSyn ) -> (Expr A0)-happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut240 #-}-happyIn241 :: (Expr A0) -> (HappyAbsSyn )-happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn241 #-}-happyOut241 :: (HappyAbsSyn ) -> (Expr A0)-happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut241 #-}-happyIn242 :: (String) -> (HappyAbsSyn )-happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn242 #-}-happyOut242 :: (HappyAbsSyn ) -> (String)-happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut242 #-}-happyIn243 :: (Expr A0) -> (HappyAbsSyn )-happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn243 #-}-happyOut243 :: (HappyAbsSyn ) -> (Expr A0)-happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut243 #-}-happyIn244 :: (Fortran A0) -> (HappyAbsSyn )-happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn244 #-}-happyOut244 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut244 #-}-happyIn245 :: (Expr A0) -> (HappyAbsSyn )-happyIn245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn245 #-}-happyOut245 :: (HappyAbsSyn ) -> (Expr A0)-happyOut245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut245 #-}-happyIn246 :: (Expr A0) -> (HappyAbsSyn )-happyIn246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn246 #-}-happyOut246 :: (HappyAbsSyn ) -> (Expr A0)-happyOut246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut246 #-}-happyIn247 :: (Fortran A0) -> (HappyAbsSyn )-happyIn247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn247 #-}-happyOut247 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut247 #-}-happyIn248 :: (Fortran A0) -> (HappyAbsSyn )-happyIn248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn248 #-}-happyOut248 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut248 #-}-happyIn249 :: (Expr A0) -> (HappyAbsSyn )-happyIn249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn249 #-}-happyOut249 :: (HappyAbsSyn ) -> (Expr A0)-happyOut249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut249 #-}-happyIn250 :: (Fortran A0) -> (HappyAbsSyn )-happyIn250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn250 #-}-happyOut250 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut250 #-}-happyIn251 :: (Fortran A0) -> (HappyAbsSyn )-happyIn251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn251 #-}-happyOut251 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut251 #-}-happyIn252 :: (Expr A0) -> (HappyAbsSyn )-happyIn252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn252 #-}-happyOut252 :: (HappyAbsSyn ) -> (Expr A0)-happyOut252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut252 #-}-happyIn253 :: (Fortran A0) -> (HappyAbsSyn )-happyIn253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn253 #-}-happyOut253 :: (HappyAbsSyn ) -> (Fortran A0)-happyOut253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut253 #-}-happyIn254 :: (SrcLoc) -> (HappyAbsSyn )-happyIn254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn254 #-}-happyOut254 :: (HappyAbsSyn ) -> (SrcLoc)-happyOut254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut254 #-}-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# "\x00\x00\x00\x00\x00\x00\xd2\x09\x70\x09\x70\x09\x3b\x00\x00\x00\x00\x00\xd0\x09\xcf\x12\x00\x00\x00\x00\x0b\x13\xd0\x09\x00\x00\x00\x00\xde\x09\x4a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x10\x00\x00\x00\x00\x4c\x04\xec\x05\x00\x00\xd8\x09\x69\x02\x00\x00\xdb\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x09\x00\x00\x40\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x14\x00\x00\x6d\x09\x6d\x09\x00\x00\x00\x00\x00\x00\xa5\x01\xb5\x09\x44\x04\x17\x04\xff\x03\x00\x00\xf5\x07\xe4\x03\xda\x03\xf5\x07\xf5\x07\x00\x00\x53\x03\x00\x00\x00\x00\xf5\x07\xd1\x09\x0a\x03\x00\x00\xbf\x09\x00\x00\x00\x00\x59\x09\xbd\x09\xbb\x09\xa1\x02\x5b\x09\xb9\x09\x00\x00\x00\x00\x00\x00\xb0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x09\x00\x00\x00\x00\x00\x00\xa3\x09\x00\x00\xab\x09\xa9\x09\x00\x00\x74\x05\xae\x09\x63\x07\x62\x07\x00\x00\x97\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x11\x8b\x09\x00\x00\x85\x09\x00\x00\xf0\x02\x00\x00\x00\x00\x06\x05\x00\x00\x00\x00\xff\x01\x87\x09\x81\x09\xc2\x02\x55\x14\x6c\x09\x00\x00\x00\x00\x27\x01\x00\x00\x00\x00\x00\x00\x7f\x09\x6a\x09\xe3\x00\x67\x09\x27\x01\x04\x14\x00\x00\x00\x00\x00\x00\x49\x01\x0e\x00\x2f\x09\x00\x00\xcb\x04\xf5\x08\xf5\x08\x00\x00\x00\x00\x00\x00\x5f\x09\xb0\x07\x00\x00\x01\x09\x12\x09\x5b\x03\x00\x00\x52\x09\x00\x00\x57\x09\x56\x09\x00\x00\x00\x00\x54\x09\xc0\x11\x53\x09\x00\x00\x51\x09\x00\x00\x00\x00\x51\x09\x51\x09\x51\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x09\x4e\x09\x4e\x09\x4e\x09\x4e\x09\x4e\x09\x4e\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x09\x4e\x09\x88\x03\x3c\x03\x4b\x09\xb0\x07\x00\x00\x4c\x09\x00\x00\x00\x00\x00\x00\xa3\x0a\x49\x09\x00\x00\x4a\x09\x00\x00\xdd\x08\x46\x09\x00\x00\x40\x09\xdb\x08\x34\x09\x58\x00\x00\x00\x00\x00\x48\x09\x00\x00\x33\x09\x00\x00\x00\x00\x00\x00\xad\x00\x33\x09\x23\x09\x00\x00\x00\x00\x00\x00\x00\x00\x28\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x02\x6b\x07\x6b\x07\x6b\x07\xc9\x08\xc9\x08\xfa\x08\xc7\x08\x26\x07\xf7\x08\xc6\x08\xf6\x08\x70\x13\xca\x08\x5c\x02\x26\x09\x00\x00\x41\x13\xed\x08\xed\x08\x21\x09\x21\x09\x00\x00\x3c\x07\x00\x00\x00\x00\x28\x11\x1b\x09\x1a\x09\x00\x00\xec\xff\x00\x00\x00\x00\x6b\x01\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x09\x08\x09\x15\x09\x13\x09\x00\x00\x03\x09\x03\x09\x4d\x01\x00\x00\x0a\x03\x00\x00\x11\x09\x00\x00\x00\x00\x00\x00\x00\x00\x10\x09\x0e\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\x17\x09\x00\x00\x1c\x09\x57\x07\x56\x07\x56\x07\x00\x00\x00\x00\x00\x00\x0a\x09\x00\x00\x5d\x00\x00\x00\x00\x00\xf8\x11\x00\x00\x0a\x09\x00\x00\x00\x00\x00\x00\xd7\x00\x00\x00\x00\x00\x00\x00\xb8\x11\xb7\x04\x06\x05\x00\x00\xca\x13\x00\x00\x00\x00\x00\x00\xe2\x08\x00\x00\x40\x06\x0b\x09\x00\x00\x05\x09\x00\x00\x02\x09\xfe\x08\xe1\x06\x00\x00\xd0\x08\xcc\x08\x00\x00\xc5\x08\x9a\x08\xd7\x08\x00\x00\x00\x00\xec\xff\xf9\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x08\xaf\x06\xa6\x13\xaf\x06\xa6\x13\xf3\x08\x00\x00\x85\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x08\x00\x00\xec\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x08\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x07\x00\x00\xd4\x08\x00\x00\xd1\x10\x00\x00\xdf\x08\xe9\x08\x00\x00\xe9\x08\xe0\x08\xde\x08\x00\x00\xda\x08\x00\x00\x00\x00\xd9\x08\x00\x00\xd6\x08\x00\x00\x0a\x03\x0a\x03\x00\x00\x00\x00\x00\x00\xec\xff\x4d\x01\x00\x00\x00\x00\xd3\x08\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x08\x00\x00\x00\x00\x00\x00\x00\x00\xce\x08\x00\x00\xcd\x08\xcd\x08\x00\x00\x48\x00\x00\x00\x37\x00\xc0\x08\x00\x00\x00\x00\xb0\x08\xaf\x06\x00\x00\xaf\x06\xba\x08\xa1\x08\x00\x00\x0b\x13\x00\x00\xb2\x08\x00\x00\xed\x01\xd8\x08\xed\x01\x9c\x08\xb7\x08\x0b\x13\x0b\x13\x00\x00\x00\x00\xc2\x08\xbe\x08\xbf\x08\x22\x07\x0e\x07\xaf\x06\x1e\x00\xbd\x08\xb9\x08\xb8\x08\xbc\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x08\x27\x05\x3c\x03\x00\x00\x0a\x03\xa1\x02\xa2\x04\xaf\x06\x94\x02\x00\x00\x00\x00\x4f\x06\x90\x08\x00\x00\x84\x08\x00\x00\x69\x02\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\xb4\x08\x00\x00\xad\x08\xac\x08\x00\x00\xaa\x08\x00\x00\x00\x00\xa9\x08\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x08\x64\x08\x00\x00\x67\x08\x00\x00\x99\x08\x00\x00\x80\x03\x58\x03\x58\x03\x00\x00\x8f\x08\x57\x08\x00\x00\x80\x03\x80\x03\x00\x00\x78\x08\x58\x03\x00\x00\x8d\x08\x00\x00\x00\x00\x79\x08\x00\x00\xf4\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x12\x8c\x08\x80\x03\x00\x00\x8a\x08\x80\x03\x00\x00\x6e\x08\x61\x08\x5f\x08\x83\x08\x82\x08\x80\x08\x73\x08\x6f\x08\x7c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x08\x74\x08\x00\x00\x6d\x08\x6d\x08\x6d\x08\x00\x00\x00\x00\x6d\x08\x69\x14\x00\x00\x00\x00\x7e\x08\x00\x00\x00\x00\x6d\x08\x58\x03\x86\x08\x00\x00\x72\x08\x71\x08\x00\x00\x70\x08\x00\x00\x80\x03\x69\x08\x51\x06\x68\x08\x80\x03\x66\x08\xd4\x02\xec\xff\x65\x08\x63\x08\x62\x08\x5e\x08\xfe\x07\x2c\x02\x65\x06\x22\x04\x59\x08\xe7\x02\x54\x08\x53\x08\x00\x00\x00\x00\xf8\x0c\x35\x09\x21\x08\x51\x08\x00\x00\x41\x08\xff\x07\x00\x00\x00\x00\x38\x04\x4a\x08\x00\x00\x00\x00\x89\x03\x00\x00\x4a\x08\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x39\x08\x00\x00\x00\x00\x7e\x08\x00\x00\x3f\x08\x47\x08\x00\x00\x40\x08\x00\x00\x00\x00\x04\x02\x00\x00\x37\x03\x3d\x08\x00\x00\x00\x00\x94\x04\x3a\x08\x29\x08\x80\x03\x00\x00\x00\x00\x37\x08\x33\x08\x00\x00\x68\x00\x30\x08\x00\x00\x00\x00\x00\x00\x00\x02\x2f\x08\x80\x03\x00\x00\x2e\x08\xc1\x07\x2c\x08\x27\x07\x00\x00\x89\x04\x23\x08\x24\x08\x00\x00\x00\x00\x00\x00\x00\x00\x20\x08\x1f\x08\x00\x00\x00\x00\x7e\x08\xca\x03\x00\x00\x0e\x08\x00\x00\x00\x00\x23\x01\xfd\x07\x00\x00\x32\x05\x00\x00\xe4\x07\x00\x00\x00\x00\x00\x00\xe5\x06\x00\x00\x00\x00\xad\x07\x0b\x08\xc4\x06\x00\x00\xcf\x10\x00\x00\x49\x07\x00\x00\x96\x06\x00\x00\x12\x08\x0d\x08\x8c\x06\x00\x00\x06\x05\x0a\x08\xf4\x07\x96\x07\x00\x08\x88\x06\xfc\x07\x25\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x05\x94\x04\x00\x00\x67\x03\x00\x00\x00\x00\xfb\x07\x00\x00\xf6\x05\x00\x00\xf8\x07\xf6\x07\xf2\x07\xf1\x07\xf0\x07\xce\x05\x00\x00\x00\x00\xc2\x05\x00\x00\xee\x07\xe9\x07\xea\x07\x00\x00\x00\x00\xe8\x07\x00\x00\x00\x00\x7b\x05\x00\x00\xe7\x07\x3a\x05\x80\x03\x00\x00\x00\x00\xe5\x07\xd0\x07\xde\x07\x00\x00\x00\x00\xdd\x07\x00\x00\x6b\x04\x00\x00\x6d\x07\x00\x00\xda\x07\x00\x00\xd8\x07\xd8\x07\xd8\x07\x2c\x01\x00\x00\x00\x00\x00\x00\xd8\x07\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x01\x00\x00\x00\x04\x94\x04\x00\x00\x00\x00\x00\x00\xc5\x07\xac\x07\x42\x04\x00\x00\xcf\x07\x00\x00\xc8\x07\xbb\x07\x58\x03\xba\x07\xb8\x07\x5d\x07\x00\x00\xb9\x07\xb9\x07\x0a\x01\x00\x00\x00\x00\x34\x05\x00\x00\x00\x00\x68\x11\x00\x00\xb5\x07\x5a\x04\x00\x00\xa8\x07\x00\x00\xb3\x07\x51\x07\x00\x00\x00\x00\x58\x03\x00\x00\x75\x01\xaf\x07\x00\x00\x00\x00\x00\x00\x89\x04\xae\x07\x00\x00\xab\x07\x00\x00\xa6\x07\x58\x03\xa5\x07\x00\x00\x00\x00\xa1\x07\xb9\x01\x38\x07\xa2\x07\xa2\x07\x0e\x04\xa2\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x07\x8a\x07\x00\x00\x00\x00\x8a\x07\x66\x02\x58\x03\x97\x07\x91\x07\x93\x07\x00\x00\x00\x00\x65\x07\x6b\x04\x00\x00\x00\x00\x90\x07\x94\x12\x7f\x07\x00\x00\x89\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x07\x01\x04\x00\x00\x83\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x04\x80\x07\x00\x00\x67\x07\x00\x00\x00\x00\x75\x07\x00\x00\x74\x07\xec\xff\x00\x00\x00\x00\x00\x00\x72\x07\x71\x07\x00\x00\x5f\x07\x23\x01\x00\x00\x00\x00\x58\x03\x89\x04\x00\x00\x00\x00\x6a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x64\x07\x92\x03\x00\x00\x00\x00\x68\x07\x0c\x07\x5e\x07\x00\x00\x03\x07\x00\x00\x44\x07\x3f\x07\xb9\x01\x00\x00\x00\x00\x1b\x07\x00\x00\x00\x00\x00\x00\x58\x03\x00\x00\x10\x07\x06\x07\x01\x07\xf6\x06\xfc\x06\xc9\x06\xbb\x06\xbf\x06\xec\xff\xb5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x9d\x06\x00\x00\x9d\x06\x00\x00\x00\x00\x4d\x06\x00\x00\x83\x06\x00\x00\x58\x06\x11\x06\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x37\x07\x01\x00\x93\x05\x7d\x06\x00\x00\x00\x00\x3e\x07\x00\x00\xff\xff\xf9\x06\x34\x01\x00\x00\x00\x00\x9a\x01\x75\x06\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x00\x00\xf0\xff\x38\x02\x7c\x05\x53\x05\x00\x00\xe0\xff\x00\x00\xf5\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x06\x4f\x05\xfe\x06\xd5\x06\x00\x00\x2c\x05\x1f\x05\x00\x00\x00\x00\xc1\x06\x1c\x06\x19\x06\x00\x00\x5b\x05\x02\x06\xf8\x05\x49\x05\x19\x05\x00\x00\xed\x05\x00\x00\x00\x00\xd5\x04\x00\x00\xf7\x06\x13\x00\x00\x00\x60\x01\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x45\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x02\xe4\x05\x00\x00\xb0\x05\x05\x00\x00\x00\xac\x05\x0c\x09\x00\x00\x00\x00\x00\x00\x0a\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\xfa\x05\x00\x00\x00\x00\x00\x00\x49\x03\x15\x03\x00\x00\x00\x00\xb8\x05\x8b\x05\x83\x05\x00\x00\x04\x00\x00\x00\x00\x00\xba\x06\xf2\xff\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\xfb\xff\x17\x00\x00\x00\x3c\x02\x00\x00\x00\x00\xa3\x05\x00\x00\x00\x00\x4d\x05\x2d\x10\xad\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x05\xd7\x04\xa5\x04\xcc\x03\xf2\x02\xc4\x02\x9a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x04\x92\x02\x15\x10\xb4\x01\x00\x00\x90\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x05\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\xf8\xff\xfc\x0f\xcb\xff\xa0\x05\x00\x00\xf7\xff\x00\x00\xf5\xff\x2e\x05\x00\x00\xe9\xff\x00\x00\xe6\xff\x00\x00\x00\x00\xe2\xff\xe8\x01\xd2\x04\xb3\x04\x72\x04\xab\x06\x56\x06\xab\x05\x4e\x06\x85\x06\xa7\x05\x48\x06\x8c\x05\x04\x01\x00\x00\x6b\x05\x00\x00\x00\x00\xe9\x00\x5e\x05\x51\x05\xf0\x04\xea\x04\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x00\x00\x00\x00\x00\x00\x65\x04\x00\x00\x00\x00\x31\x05\x4a\x06\x00\x00\x00\x00\x00\x00\x29\x05\x07\x05\x00\x00\x00\x00\x00\x00\xfb\x04\xee\x04\xf9\xff\x00\x00\xfd\x05\x00\x00\x00\x00\xf6\xff\x45\x01\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x00\x00\xc5\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x2a\x09\xa9\x01\x00\x00\xbc\x04\xfc\xff\x00\x00\x00\x00\xea\xff\x00\x00\x9b\x05\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x03\x00\x00\xe4\x04\x00\x00\x00\x00\xda\x04\x00\x00\x87\x04\x00\x00\x00\x00\xd6\x03\xad\x0f\xf4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x06\x7f\x01\x41\x06\x4f\x01\x00\x00\x00\x00\x6e\x04\x00\x00\x00\x00\x00\x00\xfe\xff\x55\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\xf3\x00\x00\x00\x00\x00\x40\x05\x00\x00\x61\x02\x00\x00\x95\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x06\x7b\x04\x00\x00\x00\x00\x00\x00\xae\x03\xef\xff\x00\x00\x00\x00\x7c\x0f\x00\x00\x00\x00\x00\x00\x9d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x01\x5c\x0f\x00\x00\x45\x0f\x00\x00\x8b\x04\x80\x04\x8a\x03\x87\x03\x62\x04\xc8\x02\x00\x00\xc3\x02\x70\x04\x34\x04\x3a\x03\x8c\x00\x00\x00\x00\x00\x00\x00\x2a\x04\x00\x00\x06\x04\xec\x03\xcb\x03\x63\x00\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x06\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x04\x00\x00\x47\x09\x00\x00\x20\x06\x99\x03\x0b\x02\xf0\x05\x00\x00\x00\x00\x00\x00\xd5\x02\xaf\x03\x00\x00\xa3\x03\x00\x00\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x0f\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x0f\x00\x00\xda\x05\x1e\x06\xbb\x05\x82\x03\xdf\x05\x00\x00\x00\x00\x39\x00\xc0\x05\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x00\x00\x00\x00\x77\x03\x00\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x01\x00\x00\xaf\x05\x00\x00\x00\x00\x91\x05\x00\x00\x09\x00\x74\x03\x3f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x0e\x88\x01\x00\x00\x05\x03\xa4\x05\x9a\x05\x00\x00\x00\x00\x13\x05\xb2\x01\x00\x00\x00\x00\xeb\x03\x00\x00\x00\x00\xeb\x02\xf5\x04\x00\x00\x00\x00\x00\x00\xdc\x0e\x9d\xff\x00\x00\x00\x00\x8d\x05\x00\x00\xd3\xff\xc5\x0e\x4c\x05\x08\x02\xfc\x01\xd2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x0d\x00\x01\x73\x0d\xad\x0e\x8f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x07\xed\x06\xa0\x02\x95\x0e\x00\x00\xd4\x04\x00\x00\x00\x00\x00\x00\x0d\x09\x3c\x0b\x00\x00\x00\x00\x96\x01\x00\x00\x19\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0b\xa6\x01\xe3\x0a\x5c\x0d\x00\x00\x00\x00\x45\x03\x00\x00\x07\x00\xe0\x03\x00\x00\x00\x00\xb0\x0a\x00\x00\x00\x00\x6c\x04\x00\x00\x00\x00\x9a\xff\x00\x00\x92\x0a\x00\x00\x28\x05\x00\x00\x7a\x0a\x16\x03\x3c\x0d\xe7\x01\x00\x00\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x63\x0a\x00\x00\x6a\x02\x00\x00\x00\x00\xbc\x07\x00\x00\x00\x00\x8c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\xf3\x00\x00\x00\xb6\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x02\x24\x0d\x57\x02\xcd\x03\x05\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x56\x02\x00\x00\x00\x00\x00\x00\x52\x00\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x0a\x00\x00\xbc\xff\x00\x00\x00\x00\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x04\x00\x00\x00\x00\x00\x00\x0b\x00\xd3\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x09\x7c\x0e\x5c\x0e\xbc\x0c\x00\x00\x29\x01\x00\x00\x45\x0e\x1d\x00\x1c\x00\x15\x00\xe4\xff\x9f\x0c\x00\x00\x45\x08\xc1\x02\x00\x00\x00\x00\x00\x00\x50\x02\x77\x01\x79\x02\x00\x00\x82\x0c\x00\x00\x00\x00\x26\x02\x4d\x04\x00\x00\x00\x00\x83\x00\x00\x00\x2d\x0e\x15\x0e\x6a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\x00\x00\xea\x03\x00\x00\xee\x01\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x03\x00\x00\x00\x00\x48\x0c\x00\x00\x30\x0c\x42\x03\x00\x00\x00\x00\x00\x00\x00\x00\x60\x09\xe6\x00\xfc\x0d\xdc\x0d\x00\x00\x12\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x01\x00\x00\x00\x00\x81\x01\x77\x07\xa8\x06\x11\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x73\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\xc9\xff\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x31\x02\xc5\x0d\x00\x00\x44\x01\x00\x00\x00\x00\xf2\x09\x00\x00\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\xf8\x0b\x98\x00\x00\x00\x1a\x01\x77\x07\x00\x00\x00\x00\xfd\x02\x9a\x02\xdd\xff\x00\x00\xd6\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xbe\x0b\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x06\x00\x00\x9d\x0b\x00\x00\x00\x00\x86\x0b\x00\x00\x00\x00\xce\x00\x00\x00\x19\xff\x65\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x80\x00\x00\x00\x00\x00\x89\x08\x19\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfa\xff\xb9\xfd\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xf0\xff\xb9\xfd\xef\xff\xb9\xfd\xfd\xff\xc4\xff\xc1\xff\x00\x00\xbf\xff\x23\xff\x24\xff\x89\xff\x52\xff\xb8\xff\xbe\xff\x4c\xff\x51\xff\xb9\xff\x00\x00\xbd\xff\x53\xff\x54\xff\x50\xff\x4e\xff\x4d\xff\x4f\xff\x00\x00\x88\xff\xb9\xfd\xb9\xfd\x87\xff\xb9\xfd\x00\x00\x46\xff\x85\xff\x00\x00\x84\xff\x8a\xff\x83\xff\x70\xff\x71\xff\x82\xff\x81\xff\x00\x00\x7f\xff\xbc\xff\xf1\xff\xfb\xff\xf9\xff\xf8\xff\xe5\xff\xe6\xff\xf6\xff\xf7\xff\x00\x00\xb9\xfd\xca\xff\xca\xff\xed\xfe\xb9\xfd\xb9\xfd\x00\x00\x00\x00\x9f\xff\xa2\xff\xa5\xff\xea\xfe\x00\x00\xac\xff\x9c\xff\x00\x00\x00\x00\xeb\xfe\xa9\xff\xec\xfe\xa8\xff\x00\x00\x00\x00\x69\xff\xb9\xfd\xfb\xfe\xb9\xfd\x47\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\xff\x0c\xff\x0a\xff\x07\xff\x00\x00\x08\xff\x09\xff\x06\xff\x04\xff\x05\xff\x0b\xff\x8b\xff\x5e\xff\x5c\xff\xb5\xfe\x5a\xff\x5b\xff\xcf\xfe\xce\xfe\xcc\xfe\xca\xfe\xc9\xfe\xc7\xfe\xc5\xfe\xc2\xfe\xbf\xfe\xbd\xfe\xba\xfe\xb3\xfe\xb6\xfe\xa4\xfe\xa0\xfe\x00\x00\xb9\xfd\xd6\xfe\x19\xff\x17\xff\x00\x00\x14\xff\x13\xff\x00\x00\xb6\xff\xaf\xff\x2d\xff\xb9\xfd\x00\x00\x00\x00\x00\x00\x21\xff\x1e\xff\x1d\xff\xb9\xfd\xb9\xfd\xc0\xff\xc2\xff\x00\x00\xb4\xff\xb2\xff\x22\xff\xb9\xfd\x00\x00\x44\xff\x43\xff\x42\xff\xca\xff\xca\xff\x00\x00\x35\xff\x00\x00\x00\x00\x00\x00\x32\xff\xb9\xfd\x49\xff\xf2\xff\x00\x00\xb9\xfd\x2f\xff\x2e\xff\xb9\xfd\xda\xfe\xe0\xfe\xde\xfe\xdb\xfe\xb9\xfd\xb9\xfd\xb9\xfd\x00\x00\x00\x00\x00\x00\xa3\xfe\xb9\xfd\x9f\xfe\x9e\xfe\xb9\xfd\xb9\xfd\xb9\xfd\xad\xfe\xac\xfe\xaf\xfe\xae\xfe\xb0\xfe\x00\x00\xa1\xfe\xa2\xfe\xcb\xfd\xcc\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\x9d\xfe\x9c\xfe\x9a\xfe\x98\xfe\x9b\xfe\x99\xfe\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\x0f\xff\x00\x00\x59\xff\x00\x00\x57\xff\x55\xff\x56\xff\x00\x00\x00\x00\x1c\xff\x00\x00\xa6\xfe\x00\x00\x00\x00\x6f\xff\x6d\xff\x00\x00\x00\x00\x6a\xff\x67\xff\x64\xff\x65\xff\xee\xfe\xb9\xfd\xef\xfe\xab\xff\xb9\xfd\xb9\xfd\xb9\xfd\x00\x00\x9e\xff\xb9\xfd\xae\xff\xb9\xfd\x00\x00\xa7\xff\xb9\xfd\xa4\xff\xb9\xfd\xa1\xff\x98\xff\xb9\xfd\xb9\xfd\xda\xff\x00\x00\x00\x00\xca\xff\xca\xff\xe7\xff\xca\xff\x00\x00\xe7\xff\xca\xff\xe7\xff\xb9\xfd\x00\x00\x00\x00\x09\xff\xcb\xff\xb9\xfd\xe7\xff\xe7\xff\x00\x00\x00\x00\xdb\xff\x00\x00\x90\xff\x58\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x00\x00\xa3\xff\xa6\xff\x00\x00\xe7\xfe\xad\xff\x9d\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaa\xff\x00\x00\x00\x00\x00\x00\x68\xff\x00\x00\x80\xff\x00\x00\xb9\xfd\xb9\xfd\xa5\xfe\xb9\xfd\x00\x00\x00\x00\x03\xff\xfe\xfe\x02\xff\xff\xfe\xfd\xfe\xfc\xfe\x01\xff\x00\xff\x86\xff\x0d\xff\x5d\xff\xd7\xfe\xcd\xfe\xcb\xfe\xc8\xfe\xc6\xfe\xc3\xfe\xc4\xfe\xc0\xfe\xc1\xfe\xbe\xfe\xb9\xfd\xa7\xfe\x00\x00\xd4\xfe\xbc\xfe\x00\x00\xbb\xfe\xb9\xfd\xb2\xfe\x18\xff\x15\xff\x00\x00\x11\xff\x10\xff\xb7\xfe\x00\x00\xb9\xfd\x00\x00\xba\xff\x00\x00\xb9\xfd\x30\xff\x31\xff\xb9\xfd\x2b\xff\x00\x00\x00\x00\xb9\xfd\x00\x00\x36\xff\x00\x00\x00\x00\x00\x00\x3e\xff\xe7\xff\xde\xff\x3c\xff\xe7\xff\xe1\xff\x00\x00\x45\xff\x1f\xff\x00\x00\xb9\xfd\xb9\xfd\x25\xff\xb5\xff\xb3\xff\xb1\xff\x48\xff\x00\x00\xe2\xff\xb9\xfd\xdf\xff\xb9\xfd\x3b\xff\x39\xff\x00\x00\x9b\xff\x74\xfe\xf3\xff\xb9\xfd\x28\xff\x38\xff\x2c\xff\x00\x00\xbb\xff\x7e\xff\xb7\xff\x7c\xff\x7b\xff\x00\x00\x7a\xff\x00\x00\x78\xff\x77\xff\x7d\xff\x76\xff\x75\xff\x74\xff\x00\x00\x72\xff\xdf\xfe\xd1\xfe\xd8\xfe\x00\x00\xd2\xfe\x97\xfe\xd9\xfe\x00\x00\xdc\xfe\xa3\xfe\xb9\xfd\x16\xff\xb9\xfd\x00\x00\xb9\xfd\xa9\xfe\x00\x00\x1b\xff\x1a\xff\xf9\xfe\xf7\xfe\x00\x00\x6e\xff\x69\xff\x6b\xff\x66\xff\x62\xff\x5f\xff\x00\x00\x00\x00\xf5\xfe\xf6\xfe\xb9\xfd\x99\xff\xec\xff\xed\xff\xb9\xfd\xe8\xfe\xe5\xfe\xe3\xfe\xe4\xfe\xf0\xfe\x00\x00\x8e\xff\xb9\xfd\xb9\xfd\x8f\xff\xb9\xfd\x91\xff\x00\x00\x00\x00\xb9\xfd\xb9\xfd\xd0\xff\x00\x00\xc9\xff\x00\x00\x00\x00\x00\x00\xb9\xfd\xc3\xff\xdc\xff\xd7\xff\xe8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xff\xc3\xff\xf4\xfe\xf2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\xff\x60\xff\x6c\xff\xb9\xfd\xb9\xfd\xb1\xfe\xa8\xfe\xb4\xfe\x12\xff\xb8\xfe\xb9\xfd\xdb\xfe\xb9\xfd\xdd\xfe\x69\xff\x00\x00\xb9\xfd\x34\xff\x00\x00\x4a\xff\x37\xff\x00\x00\x00\x00\xe0\xff\x00\x00\xe3\xff\x40\xff\x41\xff\x3d\xff\x3f\xff\x3a\xff\x00\x00\xb9\xfd\x33\xff\x00\x00\x8c\xff\x00\x00\x00\x00\xd3\xfe\xb9\xfd\xb9\xfe\xf8\xfe\xfa\xfe\x00\x00\x61\xff\x9a\xff\xe9\xfe\xe6\xfe\x00\x00\x00\x00\x92\xff\x00\x00\x93\xff\xb9\xfd\x95\xff\x00\x00\xb9\xfd\xb9\xfd\xce\xff\xef\xff\xd2\xff\xc8\xff\x00\x00\x00\x00\xc7\xff\x00\x00\xb9\xfd\x72\xfe\x00\x00\x77\xfe\x95\xfe\xd0\xff\x7e\xfe\x00\x00\x78\xfe\x75\xfe\x5d\xfe\x68\xfe\x70\xfe\x76\xfe\x73\xfe\x71\xfe\x6f\xfe\x6e\xfe\x6d\xfe\x6b\xfe\x6a\xfe\x69\xfe\x67\xfe\x66\xfe\x65\xfe\x64\xfe\x63\xfe\x62\xfe\x61\xfe\x60\xfe\x5f\xfe\xb9\xfd\x5e\xfe\x5c\xfe\x5b\xfe\x5a\xfe\x59\xfe\x00\x00\x00\x00\xd8\xff\xc6\xff\xc5\xff\xd3\xff\xd6\xff\xb9\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xfe\x73\xff\x79\xff\x8d\xff\x2a\xff\x26\xff\x29\xff\x27\xff\x63\xff\xf1\xfe\xb9\xfd\xb9\xfd\x96\xff\x00\x00\xef\xff\xef\xff\xcd\xff\xcc\xff\xef\xff\x00\x00\xd4\xff\xd9\xff\xb9\xfd\x6c\xfe\xfa\xfd\x00\x00\xb9\xfd\x00\x00\xfb\xfd\x00\x00\xb9\xfd\xb9\xfd\x00\x00\x20\xfe\x1e\xfe\x00\x00\x8e\xfe\xb9\xfd\x18\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\x00\x00\xdb\xfe\x58\xfe\x79\xfe\xb9\xfd\xb9\xfd\x00\x00\xb9\xfd\xe2\xfe\xef\xff\xe9\xff\x7c\xfe\x7d\xfe\xb9\xfd\xb9\xfd\xc1\xfd\xc3\xfd\x00\x00\xc5\xfd\xb9\xfd\x97\xfe\xc8\xfd\xd1\xfd\x00\x00\xd4\xfd\xd6\xfd\xd5\xfd\xda\xfd\xdb\xfd\xb9\xfd\xd3\xfd\x00\x00\xd9\xfd\xec\xfd\xed\xfd\xeb\xfd\x57\xfe\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\x09\xfe\x56\xfe\xb9\xfd\x00\x00\xb9\xfd\x00\x00\x19\xfe\x1b\xfe\xb9\xfd\x00\x00\x8f\xfe\x00\x00\x00\x00\x96\xfe\xb9\xfd\x1f\xfe\xb9\xfd\x53\xfe\x00\x00\x2d\xfe\xb9\xfd\x3b\xfe\xb9\xfd\x4b\xfe\x7f\xfe\xb9\xfd\x00\x00\xdc\xfd\xcf\xff\xe4\xff\xdd\xff\xf3\xfe\x00\x00\x00\x00\x97\xff\x94\xff\xb9\xfd\xb9\xfd\x94\xfe\x00\x00\x88\xfe\x82\xfe\xb9\xfd\x00\x00\x80\xfe\x00\x00\x45\xfe\x00\x00\x41\xfe\xef\xfd\xf0\xfd\x00\x00\x3c\xfe\x33\xfe\x00\x00\x29\xfe\x00\x00\x2a\xfe\x00\x00\x52\xfe\xb9\xfd\x23\xfe\x00\x00\x24\xfe\x00\x00\x00\x00\x00\x00\x39\xfe\x00\x00\xb9\xfd\x00\x00\x00\x00\xb9\xfd\x00\x00\x00\x00\x00\x00\x10\xfe\xb9\xfd\x0d\xfe\x17\xfe\x0c\xfe\x00\x00\xb9\xfd\xe2\xfd\x00\x00\xe0\xfd\x40\xfe\x00\x00\x03\xfe\x00\x00\x04\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xfd\xf6\xfd\x00\x00\xf7\xfd\x00\x00\x00\x00\xb9\xfd\xd8\xfd\xb9\xfd\x00\x00\xd2\xfd\xb9\xfd\x00\x00\xbc\xfd\x00\x00\x00\x00\xea\xff\xee\xff\xeb\xff\xdd\xfe\xb9\xfd\xb9\xfd\xc4\xfd\xce\xfd\xe5\xfd\xcf\xfd\xe4\xfd\xd7\xfd\x00\x00\xe8\xfd\xee\xfd\xe9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xf9\xfd\xb9\xfd\xfe\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\xb9\xfd\x07\xfe\xb9\xfd\xb9\xfd\xdf\xfd\xde\xfd\xe3\xfd\x00\x00\x14\xfe\xb9\xfd\x12\xfe\xb9\xfd\x1a\xfe\x00\x00\x00\x00\xb9\xfd\x00\x00\x38\xfe\xb9\xfd\x1c\xfe\xb9\xfd\xb9\xfd\xb9\xfd\x26\xfe\x4d\xfe\x00\x00\x50\xfe\x4e\xfe\x00\x00\x54\xfe\x00\x00\xdb\xfe\x2c\xfe\x32\xfe\x30\xfe\x2e\xfe\xb9\xfd\x3e\xfe\x42\xfe\xb9\xfd\x44\xfe\x00\x00\x00\x00\x81\xfe\x89\xfe\x83\xfe\xb9\xfd\xbb\xfd\xdd\xfd\xb9\xfd\x8a\xfe\xb9\xfd\xb9\xfd\x00\x00\x4c\xfe\x3d\xfe\x00\x00\xb9\xfd\x00\x00\xb9\xfd\xb9\xfd\xdb\xfe\xb9\xfd\x55\xfe\x25\xfe\x22\xfe\x21\xfe\x3a\xfe\x00\x00\x00\x00\x91\xfe\x90\xfe\x00\x00\xb9\xfd\xb9\xfd\xb9\xfd\x00\x00\x00\x00\x11\xfe\x16\xfe\x00\x00\x0a\xfe\xe1\xfd\x08\xfe\x00\x00\x00\x00\x00\x00\x05\xfe\x00\x00\x01\xfe\x02\xfe\x00\xfe\xff\xfd\xfd\xfd\xf8\xfd\xf5\xfd\xf4\xfd\x4d\xfe\x00\x00\xcd\xfd\xe6\xfd\xb9\xfd\x29\xfe\x2b\xfe\xb9\xfd\xbd\xfd\xc0\xfd\x00\x00\xb9\xfd\xe1\xfe\xbf\xfd\xd0\xfd\xe7\xfd\xb9\xfd\x49\xfe\x00\x00\x00\x00\x0b\xfe\x15\xfe\x13\xfe\xb9\xfd\x8b\xfe\x92\xfe\x00\x00\xb9\xfd\x86\xfe\x85\xfe\xb9\xfd\xb9\xfd\xb9\xfd\x51\xfe\xb9\xfd\x28\xfe\x27\xfe\x31\xfe\x34\xfe\x35\xfe\x00\x00\x36\xfe\xb9\xfd\xb9\xfd\x00\x00\x00\x00\xea\xfd\x00\x00\x43\xfe\x00\x00\x00\x00\xb9\xfd\x2f\xfe\x4f\xfe\x00\x00\x93\xfe\x87\xfe\x84\xfe\xb9\xfd\x8d\xfe\xb9\xfd\x0e\xfe\x00\x00\xb9\xfd\x06\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xfd\x8c\xfe\x1d\xfe\x37\xfe\x3f\xfe\x00\x00\x00\x00\x48\xfe\x00\x00\x0f\xfe\x46\xfe\xb9\xfd\xb9\xfd\x00\x00\x47\xfe\x00\x00\x00\x00\xbe\xfd"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x00\x00\x03\x00\x05\x00\x23\x00\x24\x00\xed\x00\x08\x00\x05\x00\x05\x00\x05\x00\x0c\x00\x0d\x00\x06\x00\x2c\x00\x10\x00\x11\x00\x06\x00\x2c\x00\x14\x00\x39\x00\x2c\x00\x0d\x00\x23\x00\x24\x00\x10\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x23\x00\x24\x00\x2c\x00\x19\x00\x2c\x00\x2c\x00\x23\x00\x24\x00\x38\x00\x39\x00\x33\x00\x34\x00\x2e\x00\x2f\x00\x0f\x00\x31\x00\x32\x00\x58\x00\x38\x00\x39\x00\x57\x00\x58\x00\x23\x00\x24\x00\x4d\x00\x58\x00\x6e\x00\x3d\x00\x51\x00\x73\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x50\x00\x51\x00\xa7\x00\x73\x00\x33\x00\x34\x00\x4b\x00\x3b\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xb4\x00\xb5\x00\x73\x00\x54\x00\x55\x00\x6e\x00\x73\x00\x1c\x00\x59\x00\x73\x00\x5d\x00\x2d\x00\x23\x00\x34\x00\x14\x00\x60\x00\x23\x00\x06\x00\x56\x00\x57\x00\x58\x00\x73\x00\x67\x00\x92\x00\x7a\x00\x73\x00\x10\x00\x96\x00\x56\x00\x57\x00\x58\x00\x81\x00\x73\x00\x73\x00\x13\x00\x73\x00\x5b\x00\x5c\x00\x5d\x00\x73\x00\x73\x00\x73\x00\x73\x00\x72\x00\x73\x00\x13\x00\x1f\x00\x72\x00\x73\x00\x53\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x73\x00\x06\x00\x60\x00\x73\x00\x7b\x00\x73\x00\x72\x00\x73\x00\x69\x00\x06\x00\x73\x00\x73\x00\x2e\x00\x2f\x00\xf9\x00\x31\x00\x32\x00\xf9\x00\x59\x00\x72\x00\x73\x00\x52\x00\x62\x00\x63\x00\x64\x00\x80\x00\xa2\x00\x3d\x00\x6a\x00\x64\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\xec\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x4b\x00\x8b\x00\x8c\x00\x73\x00\x74\x00\x75\x00\xeb\x00\xf9\x00\x64\x00\x54\x00\x55\x00\x73\x00\x2e\x00\x2f\x00\x59\x00\x31\x00\x32\x00\x84\x00\xed\x00\x14\x00\xf9\x00\x60\x00\xf9\x00\x73\x00\x74\x00\x75\x00\xed\x00\x3d\x00\x67\x00\xf9\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\xf9\x00\x7a\x00\xcc\x00\x06\x00\xf9\x00\xf9\x00\x4b\x00\x80\x00\xf9\x00\xf9\x00\xf9\x00\xed\x00\xf9\x00\xf9\x00\xf9\x00\x54\x00\x55\x00\xf9\x00\xf9\x00\xdd\x00\x59\x00\xed\x00\x10\x00\x80\x00\xf9\x00\x13\x00\xf9\x00\x60\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x0f\x00\x67\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x16\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x52\x00\xf9\x00\xf6\x00\xf9\x00\xf9\x00\xf9\x00\xa2\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\xf6\x00\xf9\x00\xb0\x00\xf9\x00\xd5\x00\xd6\x00\xf9\x00\xf9\x00\x2e\x00\x2f\x00\x69\x00\x31\x00\x32\x00\xf6\x00\xf9\x00\x14\x00\xf9\x00\x06\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x3d\x00\xd5\x00\xd6\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\xa2\x00\x97\x00\xea\x00\xeb\x00\x2e\x00\x2f\x00\x4b\x00\x31\x00\x32\x00\xf9\x00\xb5\x00\x8b\x00\x8c\x00\x8b\x00\x8c\x00\x54\x00\x55\x00\xf9\x00\x14\x00\x3d\x00\x59\x00\x12\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x60\x00\x06\x00\xf9\x00\x26\x00\x27\x00\x27\x00\x4b\x00\x67\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xed\x00\x64\x00\x54\x00\x55\x00\x72\x00\x73\x00\xf9\x00\x59\x00\x3b\x00\x12\x00\x3d\x00\x14\x00\x2e\x00\x2f\x00\x60\x00\x31\x00\x32\x00\x74\x00\x75\x00\xb8\x00\xb9\x00\x67\x00\x73\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x3d\x00\x4c\x00\x73\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x06\x00\x87\x00\x59\x00\xf9\x00\x2e\x00\x2f\x00\x4b\x00\x31\x00\x32\x00\x5b\x00\x79\x00\x3b\x00\xf9\x00\x64\x00\x06\x00\x54\x00\x55\x00\x80\x00\xa2\x00\x3d\x00\x59\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x60\x00\x73\x00\x74\x00\x75\x00\x23\x00\x06\x00\x4b\x00\x67\x00\x73\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xbb\x00\x7f\x00\x54\x00\x55\x00\x79\x00\xa2\x00\xf9\x00\x59\x00\xf9\x00\xf9\x00\x7a\x00\x80\x00\x2e\x00\x2f\x00\x60\x00\x31\x00\x32\x00\x81\x00\x2b\x00\xcc\x00\xcd\x00\x67\x00\x95\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x3d\x00\x48\x00\x14\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x7b\x00\xdd\x00\x3e\x00\x7a\x00\x2e\x00\x2f\x00\x4b\x00\x31\x00\x32\x00\x14\x00\x81\x00\xad\x00\x8b\x00\x8c\x00\x19\x00\x54\x00\x55\x00\x6a\x00\xa2\x00\x3d\x00\x59\x00\x27\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x60\x00\xed\x00\xf9\x00\xf9\x00\xea\x00\xeb\x00\x4b\x00\x67\x00\xe7\x00\xe8\x00\xe9\x00\x45\x00\x8b\x00\x8c\x00\xed\x00\x54\x00\x55\x00\x3c\x00\xa2\x00\xf9\x00\x59\x00\x06\x00\x65\x00\x66\x00\xd5\x00\xd6\x00\xf9\x00\x60\x00\x73\x00\x2b\x00\xf9\x00\xd5\x00\xd6\x00\x13\x00\x67\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x64\x00\x86\x00\x3e\x00\x23\x00\x89\x00\x68\x00\x2b\x00\x14\x00\x8d\x00\x8e\x00\x8f\x00\x14\x00\x73\x00\x75\x00\xf9\x00\x6a\x00\x6b\x00\x75\x00\x6d\x00\x90\x00\xa2\x00\xf9\x00\x79\x00\xba\x00\xbb\x00\x3e\x00\x73\x00\x73\x00\x7f\x00\x80\x00\x77\x00\x06\x00\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x64\x00\x86\x00\x0f\x00\xa2\x00\x89\x00\xf9\x00\xc8\x00\x14\x00\x8d\x00\x8e\x00\x8f\x00\x73\x00\x3a\x00\x3b\x00\x3c\x00\xf9\x00\x74\x00\x75\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x06\x00\x86\x00\x73\x00\xf9\x00\x89\x00\x73\x00\x87\x00\x06\x00\x8d\x00\x8e\x00\x8f\x00\x62\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x6e\x00\x86\x00\x13\x00\x06\x00\x89\x00\x3a\x00\x3b\x00\x3c\x00\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x79\x00\xd4\x00\xd5\x00\xd6\x00\x79\x00\x73\x00\x23\x00\x80\x00\xf9\x00\x77\x00\xed\x00\x80\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x27\x00\x86\x00\xab\x00\xf9\x00\x89\x00\x64\x00\x30\x00\xb0\x00\x8d\x00\x8e\x00\x8f\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xf9\x00\x64\x00\x3b\x00\xed\x00\x3d\x00\x14\x00\x74\x00\x75\x00\x13\x00\x5e\x00\x5f\x00\x0a\x00\x73\x00\x18\x00\xf9\x00\xf9\x00\x77\x00\x74\x00\x75\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x73\x00\x86\x00\xed\x00\x5f\x00\x89\x00\xed\x00\x87\x00\x5b\x00\x8d\x00\x8e\x00\x8f\x00\x72\x00\x73\x00\xf9\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x85\x00\x86\x00\xc9\x00\xed\x00\x89\x00\x73\x00\x13\x00\x14\x00\x8d\x00\x8e\x00\x8f\x00\x18\x00\x62\x00\x63\x00\x64\x00\xf9\x00\x1c\x00\xe4\x00\xf9\x00\x52\x00\x53\x00\x1c\x00\x7f\x00\x85\x00\x86\x00\x14\x00\x80\x00\x89\x00\x4a\x00\x73\x00\x4c\x00\x8d\x00\x8e\x00\x8f\x00\x06\x00\x1e\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x5d\x00\x86\x00\x10\x00\x1a\x00\x89\x00\x13\x00\xf9\x00\x73\x00\x8d\x00\x8e\x00\x8f\x00\x64\x00\x23\x00\x06\x00\x72\x00\x73\x00\x1a\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x23\x00\x86\x00\x74\x00\x75\x00\x89\x00\x8d\x00\x8e\x00\x8f\x00\x8d\x00\x8e\x00\x8f\x00\xcc\x00\xcd\x00\x0f\x00\x62\x00\x63\x00\x64\x00\x06\x00\xed\x00\x62\x00\x63\x00\x64\x00\x93\x00\x94\x00\x1a\x00\x1b\x00\xf9\x00\x98\x00\xdd\x00\x73\x00\x9b\x00\x9c\x00\x73\x00\x63\x00\x64\x00\xae\x00\xa1\x00\xb0\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x6c\x00\x80\x00\xf9\x00\xcb\x00\x81\x00\x82\x00\x83\x00\x84\x00\xaf\x00\x86\x00\x14\x00\xb2\x00\x89\x00\x0f\x00\xf9\x00\x14\x00\x8d\x00\x8e\x00\x8f\x00\x14\x00\x19\x00\xbc\x00\x0e\x00\x18\x00\xbf\x00\xf9\x00\x64\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x0f\x00\x1a\x00\x1b\x00\x73\x00\x06\x00\x14\x00\xce\x00\xcf\x00\xd0\x00\x74\x00\x75\x00\xd3\x00\x13\x00\x72\x00\x73\x00\xd7\x00\xf9\x00\x18\x00\x82\x00\x83\x00\x84\x00\xdd\x00\x86\x00\xdf\x00\x13\x00\x89\x00\x15\x00\xe3\x00\x47\x00\x8d\x00\x8e\x00\x8f\x00\x0e\x00\xf4\x00\x7a\x00\x73\x00\x1f\x00\xed\x00\xf9\x00\xef\x00\x80\x00\xf9\x00\xf2\x00\xf3\x00\x17\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\x0b\x00\x0c\x00\x99\x00\x9a\x00\x9b\x00\x4a\x00\x18\x00\x13\x00\x14\x00\x15\x00\xa1\x00\x68\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x24\x00\x13\x00\xe5\x00\x15\x00\xe7\x00\xe8\x00\xe9\x00\x23\x00\xaf\x00\x2d\x00\xed\x00\xb2\x00\x79\x00\x0e\x00\x63\x00\x64\x00\x72\x00\x73\x00\x7f\x00\x80\x00\x73\x00\xbc\x00\xf9\x00\x6c\x00\xbf\x00\xf9\x00\x0f\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x61\x00\x62\x00\x63\x00\x64\x00\xb3\x00\x4a\x00\xce\x00\xcf\x00\xd0\x00\xb8\x00\xb9\x00\xd3\x00\x06\x00\x7a\x00\x53\x00\xd7\x00\x93\x00\x94\x00\x7f\x00\x3f\x00\x81\x00\xdd\x00\x71\x00\xdf\x00\x5d\x00\x14\x00\x9d\x00\xe3\x00\x9f\x00\xa0\x00\xa1\x00\x1a\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x0f\x00\xed\x00\xf9\x00\xef\x00\x23\x00\x14\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x0f\x00\xb2\x00\xf8\x00\xf9\x00\xe5\x00\x14\x00\xe7\x00\xe8\x00\xe9\x00\x73\x00\x74\x00\xbc\x00\xed\x00\x80\x00\xbf\x00\x16\x00\x7a\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x81\x00\xf9\x00\x06\x00\x73\x00\x0f\x00\xf9\x00\xce\x00\xcf\x00\xd0\x00\x14\x00\x13\x00\xd3\x00\x15\x00\x72\x00\x73\x00\xd7\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xdd\x00\x86\x00\xdf\x00\x14\x00\x89\x00\x16\x00\xe3\x00\x0f\x00\x8d\x00\x8e\x00\x8f\x00\xe5\x00\x14\x00\xe7\x00\xe8\x00\xe9\x00\xed\x00\x06\x00\xef\x00\xed\x00\xf9\x00\xf2\x00\xf3\x00\x14\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\x1a\x00\x98\x00\xf9\x00\x73\x00\x9b\x00\x9c\x00\x62\x00\x63\x00\x64\x00\x23\x00\xa1\x00\x13\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x14\x00\x15\x00\x82\x00\x83\x00\x84\x00\x19\x00\x86\x00\x0f\x00\xaf\x00\x89\x00\x14\x00\xb2\x00\x14\x00\x8d\x00\x8e\x00\x8f\x00\x72\x00\x73\x00\x73\x00\x92\x00\x14\x00\xbc\x00\x18\x00\x96\x00\xbf\x00\x19\x00\x24\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x23\x00\x14\x00\x2d\x00\x16\x00\x27\x00\x4a\x00\xce\x00\xcf\x00\xd0\x00\x06\x00\x77\x00\xd3\x00\x17\x00\x7a\x00\x53\x00\xd7\x00\x93\x00\x94\x00\x7f\x00\xf9\x00\x81\x00\xdd\x00\xf9\x00\xdf\x00\x5d\x00\x06\x00\x9d\x00\xe3\x00\x9f\x00\xa0\x00\xa1\x00\x4a\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x06\x00\xed\x00\xf9\x00\xef\x00\x53\x00\xf9\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\xed\x00\xb2\x00\xf8\x00\xf9\x00\x5d\x00\x62\x00\x63\x00\x64\x00\x0f\x00\x10\x00\x5b\x00\xbc\x00\x52\x00\x80\x00\xbf\x00\xca\x00\xcb\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x37\x00\x1f\x00\x20\x00\x4a\x00\x14\x00\x15\x00\xce\x00\xcf\x00\xd0\x00\x19\x00\x4e\x00\xd3\x00\x53\x00\x72\x00\x73\x00\xd7\x00\x80\x00\xed\x00\x3b\x00\xf9\x00\x3d\x00\xdd\x00\x5d\x00\xdf\x00\x80\x00\x14\x00\x15\x00\xe3\x00\x47\x00\x3b\x00\x19\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x63\x00\x64\x00\xed\x00\xed\x00\xef\x00\x06\x00\x07\x00\xf2\x00\xf3\x00\x6c\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\xf9\x00\x0b\x00\x99\x00\x9a\x00\x9b\x00\x2d\x00\x73\x00\x80\x00\x30\x00\x31\x00\xa1\x00\x0b\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x06\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xaf\x00\x86\x00\x92\x00\xb2\x00\x89\x00\x06\x00\x96\x00\x7a\x00\x8d\x00\x8e\x00\x8f\x00\x73\x00\x7f\x00\xbc\x00\x81\x00\x73\x00\xbf\x00\x06\x00\x7a\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x81\x00\x63\x00\x64\x00\x73\x00\x06\x00\x07\x00\xce\x00\xcf\x00\xd0\x00\x86\x00\x6c\x00\xd3\x00\x89\x00\x72\x00\x73\x00\xd7\x00\x8d\x00\x8e\x00\x8f\x00\x83\x00\x84\x00\xdd\x00\x86\x00\xdf\x00\x62\x00\x89\x00\x06\x00\xe3\x00\x66\x00\x8d\x00\x8e\x00\x8f\x00\x63\x00\x64\x00\x06\x00\x63\x00\x64\x00\xed\x00\x14\x00\xef\x00\x16\x00\x6c\x00\xf2\x00\xf3\x00\x6c\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\x13\x00\x98\x00\x15\x00\x73\x00\x9b\x00\x9c\x00\x13\x00\x4a\x00\x15\x00\x4a\x00\xa1\x00\xed\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x53\x00\x6e\x00\x53\x00\x83\x00\x84\x00\x0b\x00\x86\x00\x6e\x00\xaf\x00\x89\x00\x5d\x00\xb2\x00\x5d\x00\x8d\x00\x8e\x00\x8f\x00\x72\x00\x73\x00\x0b\x00\x38\x00\x39\x00\xbc\x00\x3b\x00\x3c\x00\xbf\x00\xf9\x00\x06\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x04\x00\x05\x00\x06\x00\x07\x00\x63\x00\x64\x00\xce\x00\xcf\x00\xd0\x00\x0d\x00\x0e\x00\xd3\x00\x80\x00\x6c\x00\x80\x00\xd7\x00\x93\x00\x94\x00\x62\x00\x63\x00\x64\x00\xdd\x00\x13\x00\xdf\x00\x15\x00\xf9\x00\x9d\x00\xe3\x00\x9f\x00\xa0\x00\xa1\x00\x0b\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x6e\x00\xed\x00\xf9\x00\xef\x00\x06\x00\x07\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x06\x00\xb2\x00\xf8\x00\xf9\x00\x06\x00\x07\x00\x63\x00\x64\x00\x62\x00\x63\x00\x64\x00\xbc\x00\x0b\x00\x73\x00\xbf\x00\x6c\x00\x0b\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x37\x00\x63\x00\x64\x00\x73\x00\x26\x00\x27\x00\xce\x00\xcf\x00\xd0\x00\x86\x00\x6c\x00\xd3\x00\x89\x00\x72\x00\x73\x00\xd7\x00\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x4e\x00\xdd\x00\x86\x00\xdf\x00\x13\x00\x89\x00\x15\x00\xe3\x00\x4e\x00\x8d\x00\x8e\x00\x8f\x00\x61\x00\x62\x00\x63\x00\x64\x00\x13\x00\xed\x00\x15\x00\xef\x00\x06\x00\x07\x00\xf2\x00\xf3\x00\x31\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\x62\x00\x63\x00\x64\x00\x73\x00\x62\x00\x63\x00\x64\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\x4e\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x4f\x00\x06\x00\x90\x00\x83\x00\x84\x00\x18\x00\x86\x00\x22\x00\xaf\x00\x89\x00\x13\x00\xb2\x00\x15\x00\x8d\x00\x8e\x00\x8f\x00\x3f\x00\x24\x00\x62\x00\x63\x00\x64\x00\xbc\x00\x28\x00\x73\x00\xbf\x00\xf9\x00\x2d\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x28\x00\x27\x00\x62\x00\x63\x00\x64\x00\xf9\x00\xce\x00\xcf\x00\xd0\x00\x86\x00\x28\x00\xd3\x00\x89\x00\x72\x00\x73\x00\xd7\x00\x8d\x00\x8e\x00\x8f\x00\x36\x00\x37\x00\xdd\x00\x4a\x00\xdf\x00\x13\x00\xf9\x00\x15\x00\xe3\x00\x62\x00\x63\x00\x64\x00\x53\x00\x46\x00\x28\x00\x48\x00\x49\x00\x28\x00\xed\x00\xf9\x00\xef\x00\xf9\x00\x5d\x00\xf2\x00\xf3\x00\xf9\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\x62\x00\x63\x00\x64\x00\x35\x00\x36\x00\x37\x00\x06\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\x68\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x1a\x00\x1b\x00\x6a\x00\x6b\x00\x09\x00\x6d\x00\x1a\x00\x1b\x00\xaf\x00\x2b\x00\x80\x00\xb2\x00\x2e\x00\x12\x00\x1a\x00\x1b\x00\x15\x00\x24\x00\x0f\x00\x10\x00\x36\x00\xbc\x00\xf9\x00\x14\x00\xbf\x00\x06\x00\x2d\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x06\x00\x27\x00\x20\x00\x62\x00\x63\x00\x64\x00\xce\x00\xcf\x00\xd0\x00\xf9\x00\x4d\x00\xd3\x00\x7e\x00\x72\x00\x73\x00\xd7\x00\x3b\x00\x54\x00\x35\x00\x36\x00\x37\x00\xdd\x00\x4a\x00\xdf\x00\x13\x00\xf9\x00\x15\x00\xe3\x00\x13\x00\x3b\x00\x15\x00\x53\x00\x62\x00\x63\x00\x64\x00\x23\x00\x67\x00\xed\x00\x13\x00\xef\x00\x15\x00\x5d\x00\xf2\x00\xf3\x00\x6f\x00\xf5\x00\x93\x00\x94\x00\xf8\x00\xf9\x00\x62\x00\x63\x00\x64\x00\x78\x00\x6f\x00\x70\x00\x71\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\x23\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x1a\x00\x1b\x00\x6a\x00\x6b\x00\x14\x00\x6d\x00\x7a\x00\x7f\x00\xaf\x00\x7d\x00\x80\x00\xb2\x00\x80\x00\x81\x00\x24\x00\x15\x00\x72\x00\x73\x00\x13\x00\x73\x00\x15\x00\xbc\x00\x77\x00\x2d\x00\xbf\x00\x23\x00\x7a\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x81\x00\x62\x00\x63\x00\x64\x00\x29\x00\x2a\x00\xce\x00\xcf\x00\xd0\x00\x1a\x00\x1b\x00\xd3\x00\x62\x00\x63\x00\x64\x00\xd7\x00\x93\x00\x94\x00\x13\x00\x4a\x00\x15\x00\xdd\x00\x99\x00\xdf\x00\x9b\x00\x06\x00\x07\x00\xe3\x00\x53\x00\x3a\x00\xa1\x00\x24\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x14\x00\xed\x00\x5d\x00\xef\x00\x2d\x00\x13\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x13\x00\xb2\x00\xf8\x00\xf9\x00\x1a\x00\x1b\x00\x72\x00\x73\x00\x62\x00\x63\x00\x64\x00\xbc\x00\x1a\x00\x13\x00\xbf\x00\x15\x00\x14\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x4a\x00\x35\x00\x36\x00\x37\x00\x80\x00\x15\x00\xce\x00\xcf\x00\xd0\x00\x53\x00\x13\x00\xd3\x00\x15\x00\x01\x00\x02\x00\xd7\x00\x93\x00\x94\x00\x13\x00\x5d\x00\x15\x00\xdd\x00\x99\x00\xdf\x00\x9b\x00\x06\x00\x07\x00\xe3\x00\x3b\x00\x3c\x00\xa1\x00\x24\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x13\x00\xed\x00\x15\x00\xef\x00\x2d\x00\x15\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x15\x00\xb2\x00\xf8\x00\xf9\x00\x14\x00\x15\x00\x72\x00\x73\x00\x80\x00\x3b\x00\x3c\x00\xbc\x00\x0f\x00\x10\x00\xbf\x00\x11\x00\x12\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x4a\x00\x0f\x00\x10\x00\x15\x00\x11\x00\x12\x00\xce\x00\xcf\x00\xd0\x00\x53\x00\x77\x00\xd3\x00\x14\x00\x19\x00\x14\x00\xd7\x00\x93\x00\x94\x00\x23\x00\x5d\x00\x13\x00\xdd\x00\x14\x00\xdf\x00\x14\x00\x14\x00\x23\x00\xe3\x00\x9f\x00\xa0\x00\xa1\x00\x24\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x14\x00\xed\x00\x13\x00\xef\x00\x2d\x00\x15\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x15\x00\xb2\x00\xf8\x00\xf9\x00\x23\x00\x13\x00\x72\x00\x73\x00\x80\x00\x42\x00\x15\x00\xbc\x00\x19\x00\x14\x00\xbf\x00\x23\x00\x16\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x4a\x00\x14\x00\x16\x00\x80\x00\x14\x00\x14\x00\xce\x00\xcf\x00\xd0\x00\x53\x00\x14\x00\xd3\x00\x13\x00\x71\x00\x14\x00\xd7\x00\x93\x00\x94\x00\x14\x00\x5d\x00\x21\x00\xdd\x00\x16\x00\xdf\x00\x14\x00\x71\x00\x15\x00\xe3\x00\x9f\x00\xa0\x00\xa1\x00\x24\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x21\x00\xed\x00\x13\x00\xef\x00\x2d\x00\x23\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x14\x00\xb2\x00\xf8\x00\xf9\x00\x3b\x00\x23\x00\x72\x00\x73\x00\x80\x00\x14\x00\x13\x00\xbc\x00\x82\x00\x13\x00\xbf\x00\x14\x00\x23\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x4a\x00\x16\x00\x15\x00\x15\x00\x14\x00\x16\x00\xce\x00\xcf\x00\xd0\x00\x53\x00\x16\x00\xd3\x00\x16\x00\x16\x00\x16\x00\xd7\x00\x93\x00\x94\x00\x16\x00\x5d\x00\x16\x00\xdd\x00\x15\x00\xdf\x00\x16\x00\x9c\x00\x14\x00\xe3\x00\x80\x00\x23\x00\xa1\x00\x24\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x14\x00\xed\x00\x15\x00\xef\x00\x2d\x00\x16\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x16\x00\xb2\x00\xf8\x00\xf9\x00\x48\x00\x80\x00\x72\x00\x73\x00\x80\x00\x23\x00\x35\x00\xbc\x00\x15\x00\x15\x00\xbf\x00\x13\x00\x15\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x4a\x00\x14\x00\x80\x00\x14\x00\x14\x00\x14\x00\xce\x00\xcf\x00\xd0\x00\x53\x00\x16\x00\xd3\x00\x14\x00\x23\x00\x13\x00\xd7\x00\x93\x00\x94\x00\x14\x00\x5d\x00\x13\x00\xdd\x00\x16\x00\xdf\x00\x10\x00\x9c\x00\x20\x00\xe3\x00\x13\x00\x3b\x00\xa1\x00\x14\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x64\x00\x23\x00\x14\x00\xef\x00\x14\x00\x14\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x14\x00\xb2\x00\xf8\x00\xf9\x00\x73\x00\x14\x00\x72\x00\x73\x00\x80\x00\x14\x00\x14\x00\xbc\x00\x14\x00\x14\x00\xbf\x00\x14\x00\x14\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x14\x00\x14\x00\x14\x00\x01\x00\x14\x00\x16\x00\xce\x00\xcf\x00\xd0\x00\x0f\x00\x10\x00\xd3\x00\x23\x00\x15\x00\x23\x00\xd7\x00\x93\x00\x94\x00\x16\x00\x15\x00\x15\x00\xdd\x00\x3b\x00\xdf\x00\x3b\x00\x13\x00\x20\x00\xe3\x00\x14\x00\x7f\x00\xa1\x00\x16\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x2f\x00\x3b\x00\x32\x00\xef\x00\x55\x00\x14\x00\xf2\x00\xf3\x00\xaf\x00\xf5\x00\x23\x00\xb2\x00\xf8\x00\xf9\x00\x52\x00\x72\x00\x73\x00\x3b\x00\x53\x00\x15\x00\x13\x00\xbc\x00\x14\x00\x3b\x00\xbf\x00\x15\x00\x15\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x15\x00\x14\x00\x3b\x00\x10\x00\x15\x00\x15\x00\xce\x00\xcf\x00\xd0\x00\x15\x00\x15\x00\xd3\x00\x16\x00\x14\x00\x3b\x00\xd7\x00\x01\x00\x23\x00\x29\x00\x3b\x00\x23\x00\xdd\x00\x2f\x00\xdf\x00\x14\x00\x14\x00\x23\x00\xe3\x00\x13\x00\x10\x00\x14\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x13\x00\x19\x00\x0f\x00\x15\x00\xef\x00\x73\x00\x14\x00\xf2\x00\xf3\x00\x15\x00\xf5\x00\xb2\x00\x7a\x00\xf8\x00\xf9\x00\x72\x00\x73\x00\x14\x00\x14\x00\x81\x00\x14\x00\xbc\x00\x14\x00\x78\x00\xbf\x00\x80\x00\x13\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x14\x00\x49\x00\x75\x00\x4f\x00\x45\x00\x3b\x00\xce\x00\xcf\x00\xd0\x00\x18\x00\x15\x00\xd3\x00\x49\x00\x15\x00\x10\x00\xd7\x00\x3b\x00\x14\x00\x03\x00\x09\x00\x57\x00\xdd\x00\x15\x00\xdf\x00\x15\x00\x23\x00\x16\x00\xe3\x00\x16\x00\x15\x00\x23\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x16\x00\x16\x00\xed\x00\x27\x00\xef\x00\x14\x00\x49\x00\xf2\x00\xf3\x00\x13\x00\xf5\x00\xb2\x00\x14\x00\xf8\x00\xf9\x00\x49\x00\x49\x00\x7b\x00\x7b\x00\x49\x00\x7b\x00\xbc\x00\x23\x00\x14\x00\xbf\x00\x15\x00\x02\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\x45\x00\x46\x00\x13\x00\x48\x00\x49\x00\x10\x00\xce\x00\xcf\x00\xd0\x00\x10\x00\x80\x00\xd3\x00\x80\x00\x13\x00\x16\x00\xd7\x00\x15\x00\x14\x00\x14\x00\x2f\x00\x14\x00\xdd\x00\x14\x00\xdf\x00\x15\x00\x14\x00\x14\x00\xe3\x00\x38\x00\x39\x00\x6e\x00\x3b\x00\x3c\x00\x13\x00\x21\x00\x62\x00\x80\x00\x6a\x00\x6b\x00\xef\x00\x6d\x00\x13\x00\xf2\x00\xf3\x00\x13\x00\xf5\x00\x13\x00\x73\x00\xf8\x00\xf9\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\x63\x00\x86\x00\x15\x00\x14\x00\x89\x00\x10\x00\x13\x00\x02\x00\x8d\x00\x8e\x00\x8f\x00\x73\x00\x91\x00\x14\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\x7a\x00\x86\x00\x03\x00\x09\x00\x89\x00\x7f\x00\x0a\x00\x81\x00\x8d\x00\x8e\x00\x8f\x00\x73\x00\x91\x00\x19\x00\x76\x00\x77\x00\x13\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\x13\x00\x86\x00\x73\x00\x14\x00\x89\x00\x14\x00\x13\x00\x73\x00\x8d\x00\x8e\x00\x8f\x00\x77\x00\x91\x00\x80\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x14\x00\x86\x00\x32\x00\x7b\x00\x89\x00\x23\x00\x10\x00\x14\x00\x8d\x00\x8e\x00\x8f\x00\x23\x00\x73\x00\x14\x00\x23\x00\x84\x00\x23\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xf9\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xf9\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\x77\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xf9\x00\x86\x00\xff\xff\xff\xff\x89\x00\xa8\x00\xa9\x00\xaa\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xf9\x00\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb7\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\xff\xff\xf9\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\x11\x00\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xaa\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xf9\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xe1\x00\xe2\x00\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xf9\x00\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x73\x00\xe1\x00\xe2\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xbd\x00\xbe\x00\x89\x00\xff\xff\xff\xff\xf9\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe1\x00\xe2\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\xc0\x00\xc1\x00\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xbd\x00\xbe\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xf9\x00\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd1\x00\xd2\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbd\x00\xbe\x00\x73\x00\xd8\x00\xd9\x00\xff\xff\xf9\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xb1\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\x73\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xf9\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\x73\x00\xff\xff\xf7\x00\xff\xff\xf9\x00\xff\xff\xb1\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xf9\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xb1\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xf9\x00\xaa\x00\x89\x00\xff\xff\xff\xff\x73\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\x91\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xf9\x00\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x91\x00\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xf9\x00\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xf9\x00\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xb1\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xf9\x00\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xf9\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\x73\x00\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\x2f\x00\x89\x00\xf9\x00\xe2\x00\xc1\x00\x8d\x00\x8e\x00\x8f\x00\x73\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xf9\x00\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\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\xd2\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x73\x00\x81\x00\xff\xff\xf9\x00\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xbe\x00\x8d\x00\x8e\x00\x8f\x00\xd9\x00\x91\x00\x73\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xf9\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xde\x00\x86\x00\xff\xff\xf9\x00\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xf9\x00\x89\x00\x8a\x00\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\x73\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\x73\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\x73\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\x73\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x73\x00\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\x73\x00\x8d\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\x73\x00\xff\xff\x8d\x00\x8e\x00\x8f\x00\xff\xff\xf9\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x8f\x00\xf9\x00\xff\xff\x08\x00\xff\xff\x08\x00\x0b\x00\x0c\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\x12\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\x1e\x00\x2b\x00\x1e\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xf9\x00\xff\xff\xff\xff\xff\xff\x36\x00\x2b\x00\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\x36\x00\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\x00\xff\xff\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\x4a\x00\xff\xff\x4a\x00\x4d\x00\xff\xff\x4d\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x53\x00\x54\x00\xf9\x00\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x5d\x00\xff\xff\x5d\x00\xff\xff\x08\x00\xff\xff\x6f\x00\x0b\x00\x0c\x00\xff\xff\x67\x00\x0f\x00\x67\x00\xff\xff\x12\x00\x78\x00\xff\xff\xff\xff\xf9\x00\x70\x00\xff\xff\x70\x00\x73\x00\x74\x00\x73\x00\x74\x00\x1e\x00\xff\xff\x79\x00\x7a\x00\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x80\x00\x81\x00\x2b\x00\xff\xff\x08\x00\xff\xff\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x08\x00\xff\xff\x4a\x00\x0b\x00\x0c\x00\x4d\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x12\x00\x53\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x70\x00\xff\xff\x4d\x00\x73\x00\x74\x00\xff\xff\x36\x00\xff\xff\x53\x00\x54\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\xff\xff\x67\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x0b\x00\x0c\x00\x5d\x00\xff\xff\x7a\x00\x08\x00\xff\xff\x12\x00\x0b\x00\x0c\x00\x80\x00\x81\x00\x67\x00\xff\xff\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x7a\x00\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\xff\xff\x2b\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x0b\x00\x0c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x53\x00\x54\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x5d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\xff\xff\x67\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\x67\x00\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x36\x00\xff\xff\x70\x00\xff\xff\x7a\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x4a\x00\xff\xff\xff\xff\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x7a\x00\x28\x00\xff\xff\x2a\x00\xff\xff\x2c\x00\x80\x00\x81\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\xff\xff\x40\x00\xff\xff\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\xff\xff\x6b\x00\x6c\x00\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\x72\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\x7e\x00\xff\xff\x80\x00\xff\xff\xff\xff\x83\x00\xff\xff\xff\xff\xff\xff\x3e\x00\xff\xff\x40\x00\xff\xff\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x5d\x00\xff\xff\x5f\x00\x25\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\xff\xff\x6b\x00\x6c\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x7e\x00\xff\xff\x80\x00\xff\xff\xff\xff\x83\x00\xff\xff\xff\xff\x4b\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x60\x00\x25\x00\x62\x00\xff\xff\xff\xff\xff\xff\x66\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\xff\xff\x6d\x00\x32\x00\xff\xff\x34\x00\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\x3f\x00\x7c\x00\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x83\x00\x84\x00\xff\xff\xff\xff\x4b\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x5c\x00\xff\xff\x5e\x00\xff\xff\x60\x00\xff\xff\x62\x00\xff\xff\xff\xff\x2f\x00\x66\x00\x67\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x6d\x00\xff\xff\x6f\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\x41\x00\x78\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\xff\xff\x83\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x60\x00\x32\x00\x62\x00\x34\x00\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\x6d\x00\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x4b\x00\xff\xff\x7c\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x83\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x5c\x00\xff\xff\x5e\x00\xff\xff\x60\x00\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\x41\x00\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x25\x00\xff\xff\x4b\x00\xff\xff\x83\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x60\x00\xff\xff\x62\x00\xff\xff\xff\xff\x41\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x23\x00\x5e\x00\x83\x00\x60\x00\xff\xff\x62\x00\xff\xff\xff\xff\x2b\x00\x66\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\xff\xff\xff\xff\x36\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x29\x00\xff\xff\x2b\x00\xff\xff\xff\xff\x2e\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\x67\x00\xff\xff\x69\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\x4d\x00\xff\xff\xff\xff\x75\x00\xff\xff\xff\xff\x78\x00\x54\x00\x55\x00\xff\xff\x2b\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\x64\x00\x65\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x2b\x00\xff\xff\xff\xff\x2e\x00\x6f\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x75\x00\x36\x00\x37\x00\x78\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\x67\x00\x54\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\xff\xff\xff\xff\x78\x00\x65\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x04\x00\x36\x00\x0a\x02\x72\x02\x97\x00\x08\x04\x37\x00\x8e\x01\x6e\x01\xa8\x00\x38\x00\x39\x00\x18\x03\x22\x01\x3a\x00\x3b\x00\xc0\x03\x24\x01\x3c\x00\x6d\x02\x25\x01\x7e\x02\x80\x01\x97\x00\x7f\x02\x2f\x02\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x94\x01\x97\x00\x28\x01\x80\x02\x29\x01\x2f\x01\x64\x01\x97\x00\xf6\x01\xf7\x01\xba\x01\xea\x00\x10\x00\x11\x00\xcc\x01\x12\x00\x13\x00\x12\x02\xbd\x01\xbe\x01\x7b\x01\x91\x00\x96\x00\x97\x00\x91\x01\x59\x00\x2b\x01\x14\x00\x92\x01\x43\x03\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x69\x01\x6a\x01\xdc\x02\xeb\x03\xe9\x00\xea\x00\x1a\x00\x76\x01\x82\x00\x83\x00\x84\x00\x85\x00\x0d\x03\x0e\x03\xef\x03\x1b\x00\x1c\x00\x30\x01\x98\x00\x62\x02\x1d\x00\xb0\x03\x5c\x01\x73\x02\x0a\x00\x9a\x01\x81\x00\x1e\x00\x0a\x00\x0d\x04\x99\x00\x90\x00\x91\x00\x86\x00\x1f\x00\xd4\x02\xc9\x00\x98\x00\x35\x01\xd5\x02\x8f\x00\x90\x00\x91\x00\xca\x00\x86\x00\x98\x00\xb3\x01\xa9\x00\x5b\x01\x84\x00\x85\x00\x98\x00\xa9\x00\xa9\x00\xa9\x00\x19\x03\x3b\x02\x13\x03\xb4\x01\xc1\x03\x3b\x02\x74\x02\x30\x02\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x98\x00\x0c\x04\x76\x02\xb1\x03\x0e\x01\x86\x00\xc1\x03\x3b\x02\x21\x02\x05\x04\xb2\x03\xb3\x03\x10\x00\x11\x00\x0f\x03\x12\x00\x13\x00\xdd\x02\x85\x02\xc1\x03\x3b\x02\xf0\x01\xe5\x01\x61\x00\x62\x00\xcd\x01\x20\x00\x14\x00\xee\x01\xaf\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x47\x03\x39\x02\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x1a\x00\xb8\x01\xe6\x00\x86\x02\xb0\x00\xb1\x00\xc7\x03\x48\x03\xaf\x00\x1b\x00\x1c\x00\x43\x03\x10\x00\x11\x00\x1d\x00\x12\x00\x13\x00\xfc\xff\xd6\x02\x81\x00\x87\x00\x1e\x00\x2c\x01\x86\x02\xb0\x00\xb1\x00\xbf\x01\x14\x00\x1f\x00\x87\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x5a\x00\xf0\x00\x1a\x03\x0a\x04\x5a\x00\x87\x00\x1a\x00\xf1\x00\x5a\x00\x87\x00\x23\x01\xbf\x01\x87\x00\x31\x01\x23\x01\x1b\x00\x1c\x00\x23\x01\x6b\x01\x1b\x03\x1d\x00\xbf\x01\xb0\x01\xd9\x02\x87\x00\xb1\x01\x6b\x01\x1e\x00\x87\x00\x23\x01\xeb\x00\x23\x01\x23\x01\x7d\x01\x1f\x00\x87\x00\x87\x00\x21\x00\x87\x00\x3d\x00\x7e\x01\x03\x00\x87\x00\x87\x00\x87\x00\x87\x00\x2f\x01\x1c\x03\xc2\x03\x81\x02\x5a\x00\xc3\x03\x20\x00\xd9\x01\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x87\x00\xeb\x00\x5a\x00\x87\x00\x0b\x04\x87\x00\xe9\x03\xc3\x03\x89\x02\x8a\x02\x87\x00\x87\x00\x10\x00\x11\x00\xb7\x01\x12\x00\x13\x00\xc6\x03\xe7\x00\x81\x00\xc3\x03\xf3\x03\xde\x01\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x14\x00\x89\x02\x8a\x02\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x20\x00\xf4\x03\xbc\x03\x45\x03\x10\x00\x11\x00\x1a\x00\x12\x00\x13\x00\x87\x00\x9b\x03\x20\x02\xe6\x00\xb8\x01\xe6\x00\x1b\x00\x1c\x00\x87\x00\x81\x00\x14\x00\x1d\x00\xc1\x01\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1e\x00\xfa\x03\x87\x00\x88\x00\x89\x00\x5c\x00\x1a\x00\x1f\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xf7\x03\xaf\x00\x1b\x00\x1c\x00\x19\x03\x3b\x02\x21\x00\x1d\x00\xf7\x02\xc1\x01\xf8\x02\xc2\x01\x10\x00\x11\x00\x1e\x00\x12\x00\x13\x00\xb0\x00\xb1\x00\x8f\x03\x00\x03\x1f\x00\x43\x03\x0d\x02\x0d\x00\x0e\x00\x0f\x00\x14\x00\x8a\x00\xb8\x02\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xca\x03\xb8\x00\x85\x02\x0f\x03\x10\x00\x11\x00\x1a\x00\x12\x00\x13\x00\x5d\x00\x0c\x03\x79\x01\x21\x00\xaf\x00\xd7\x03\x1b\x00\x1c\x00\x0d\x03\x20\x00\x14\x00\x1d\x00\x0a\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1e\x00\x86\x02\xb0\x00\xb1\x00\x0a\x00\xd8\x03\x1a\x00\x1f\x00\x86\x02\x0f\x02\x0d\x00\x0e\x00\x0f\x00\xde\x03\x60\x02\x1b\x00\x1c\x00\x31\x03\x20\x00\xe7\x00\x1d\x00\xe7\x00\x01\x03\xc9\x00\x32\x03\x10\x00\x11\x00\x1e\x00\x12\x00\x13\x00\xca\x00\xeb\x02\x5f\x03\xcd\x03\x1f\x00\x87\x02\x95\x00\x0d\x00\x0e\x00\x0f\x00\x14\x00\x8e\x03\x81\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0e\x01\x1b\x03\x1d\x01\xc9\x00\x10\x00\x11\x00\x1a\x00\x12\x00\x13\x00\x81\x00\xca\x00\x88\x02\xb9\x01\xe6\x00\x82\x00\x1b\x00\x1c\x00\xcf\x01\x20\x00\x14\x00\x1d\x00\x41\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1e\x00\xb9\x00\x1c\x03\x21\x00\x44\x03\x45\x03\x1a\x00\x1f\x00\xb9\x02\xba\x02\xbb\x02\x08\x01\xe5\x00\xe6\x00\xbc\x02\x1b\x00\x1c\x00\x47\x01\x20\x00\x87\x00\x1d\x00\x8c\x03\x3c\x01\x3d\x01\x89\x02\x8a\x02\x87\x00\x1e\x00\x6d\x00\xf1\x01\x21\x00\xb5\x03\x8a\x02\x36\x02\x1f\x00\x1e\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xaf\x00\x7a\x00\x1d\x01\x0a\x00\x7b\x00\x28\x03\x1c\x01\x81\x00\x7c\x00\x7d\x00\x7e\x00\x81\x00\x86\x02\x09\x01\x87\x00\x42\x00\x43\x00\xa4\x01\x44\x00\x3e\x01\x20\x00\x87\x00\x29\x03\x79\x03\x7a\x03\x1d\x01\x6d\x00\xb8\x02\x2a\x03\x2b\x03\x6e\x00\xa2\x03\x21\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xaf\x00\x7a\x00\xc6\x02\x20\x00\x7b\x00\xe7\x00\xa7\x03\x81\x00\x7c\x00\x7d\x00\x7e\x00\x6d\x00\x19\x02\x6b\x00\x6c\x00\x21\x00\xb0\x00\xb1\x00\x1e\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xa9\x03\x7a\x00\xb8\x02\xe7\x00\x7b\x00\x6d\x00\xb8\x00\x67\x03\x7c\x00\x7d\x00\x7e\x00\xad\x00\x1e\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xae\x00\x7a\x00\xdd\x01\x86\x03\x7b\x00\x6a\x00\x6b\x00\x6c\x00\x7c\x00\x7d\x00\x7e\x00\x21\x00\x0c\x03\x2b\x03\x2c\x03\x8a\x02\x31\x03\x6d\x00\x0a\x00\x0d\x03\x1f\x01\x6e\x00\xb9\x00\x32\x03\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x5c\x00\x7a\x00\xf8\x02\x21\x00\x7b\x00\xaf\x00\xd7\x03\xf9\x02\x7c\x00\x7d\x00\x7e\x00\x88\x03\xe6\x02\xba\x02\xbb\x02\x87\x00\xaf\x00\xf7\x02\xbc\x02\xf8\x02\x81\x00\xb0\x00\xb1\x00\x17\x02\x5d\x01\x5e\x01\xab\x02\x6d\x00\x18\x02\x7f\x00\x87\x00\x6e\x00\xb0\x00\xb1\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x6d\x00\x7a\x00\xcb\x02\xff\x01\x7b\x00\xad\x01\xb8\x00\x5d\x00\x7c\x00\x7d\x00\x7e\x00\x19\x03\x3b\x02\x1f\x01\x35\x03\xe6\x02\xba\x02\xbb\x02\x5f\x01\x60\x01\xcf\x02\xbc\x02\x7b\x00\x6d\x00\xa4\x00\xa5\x00\x7c\x00\x7d\x00\x7e\x00\xa6\x00\x15\x03\x61\x00\x62\x00\x87\x00\xe4\x01\xcc\x02\x1f\x01\x21\x01\x22\x01\xe6\x01\x60\x02\x5f\x01\x60\x01\xce\x02\xb9\xfd\x7b\x00\xe0\x00\x6d\x00\xe1\x00\x7c\x00\x7d\x00\x7e\x00\xe4\x02\xcf\x02\xa5\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xe2\x00\x7a\x00\xb4\x00\xc2\xfd\x7b\x00\xb5\x00\x7f\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\xaf\x00\xc2\xfd\xea\x02\x3a\x02\x3b\x02\xa8\x02\x49\x01\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x0a\x00\x7a\x00\x69\x03\xb1\x00\x7b\x00\xb1\x02\x7d\x00\x7e\x00\x7c\x00\x7d\x00\x7e\x00\x5f\x03\x60\x03\x73\x01\xe5\x01\x61\x00\x62\x00\x77\x02\xb9\x00\xe5\x01\x61\x00\x62\x00\x3c\x02\x3d\x02\x74\x01\x0c\x01\x7f\x00\xf0\x03\x1b\x03\xb8\x02\xf2\x02\xf3\x02\x6d\x00\xf1\x00\x62\x00\x7f\x03\xf4\x02\x80\x03\x42\x02\x43\x02\x44\x02\x45\x02\x15\x02\xa7\x00\x61\x01\xa6\x03\x4c\x01\x77\x00\x78\x00\x79\x00\x46\x02\x7a\x00\x81\x00\x47\x02\x7b\x00\x7c\x02\x1c\x03\x81\x00\x7c\x00\x7d\x00\x7e\x00\x56\x00\x82\x00\x48\x02\x76\x01\x57\x00\x49\x02\x61\x01\xaf\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xf6\x00\x77\x01\x0c\x01\x6d\x00\xa6\x02\xf7\x00\x50\x02\x51\x02\x52\x02\xb0\x00\xb1\x00\x53\x02\x66\x01\x3a\x02\x3b\x02\x54\x02\xb7\x00\x67\x01\x4d\x01\x78\x00\x79\x00\x55\x02\x7a\x00\x56\x02\x5c\x03\x7b\x00\x5d\x03\x57\x02\x27\x03\x7c\x00\x7d\x00\x7e\x00\x7d\x02\xb2\x02\xf0\x00\xb8\x02\x5e\x03\xf5\x02\xb3\x02\x59\x02\xf1\x00\xb7\x00\x5a\x02\x5b\x02\xa8\x02\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\xbc\x00\xbd\x00\xf1\x03\xf2\x03\xa0\x03\x89\x01\x65\x02\xd5\xfe\x81\x00\xd5\xfe\xf4\x02\x28\x03\x42\x02\x43\x02\x44\x02\x45\x02\x65\x00\xed\x03\xaa\x03\xee\x03\x1f\x03\xba\x02\xbb\x02\xd5\xfe\x46\x02\x66\x00\xbc\x02\x47\x02\x29\x03\x13\x02\xf1\x00\x62\x00\x3a\x02\x3b\x02\x2a\x03\x2b\x03\xb8\x02\x48\x02\x87\x00\x8a\x01\x49\x02\xb7\x00\x14\x02\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xdb\x00\x60\x00\x61\x00\x62\x00\xfe\x02\x67\x00\x50\x02\x51\x02\x52\x02\xff\x02\x00\x03\x53\x02\x31\x02\xc9\x00\x68\x00\x54\x02\x3c\x02\x3d\x02\x60\x02\x1b\x02\xca\x00\x55\x02\x26\x02\x56\x02\x69\x00\x4d\x03\xe5\x03\x57\x02\xe3\x02\x40\x02\x41\x02\xba\xfd\x42\x02\x43\x02\x44\x02\x45\x02\xfb\x00\xa1\x03\xb7\x00\x59\x02\xba\xfd\xf7\x00\x5a\x02\x5b\x02\x46\x02\x5c\x02\xfd\x00\x47\x02\x5d\x02\x5e\x02\x5e\x03\xf7\x00\x1f\x03\xba\x02\xbb\x02\xc7\x00\xc8\x00\x48\x02\xbc\x02\x6a\x00\x49\x02\x32\x02\xc9\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xca\x00\x87\x00\x34\x02\x6d\x00\x00\x01\x01\x03\x50\x02\x51\x02\x52\x02\xf7\x00\x97\x03\x53\x02\xc9\x03\x3a\x02\x3b\x02\x54\x02\x4b\x01\x76\x00\x77\x00\x78\x00\x79\x00\x55\x02\x7a\x00\x56\x02\x63\x01\x7b\x00\xdc\x03\x57\x02\x02\x01\x7c\x00\x7d\x00\x7e\x00\x1e\x03\xf7\x00\x1f\x03\xba\x02\xbb\x02\x58\x02\x37\x02\x59\x02\xbc\x02\xe0\x01\x5a\x02\x5b\x02\x81\x00\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\xc9\xfd\x8a\x03\x87\x00\x6d\x00\xf2\x02\xf3\x02\x15\x03\x61\x00\x62\x00\xc9\xfd\xf4\x02\xe1\x01\x42\x02\x43\x02\x44\x02\x45\x02\x81\x00\xad\x01\x4e\x01\x78\x00\x79\x00\x82\x00\x7a\x00\x05\x01\x46\x02\x7b\x00\x81\x00\x47\x02\x06\x01\x7c\x00\x7d\x00\x7e\x00\x3a\x02\x3b\x02\xb8\x02\xd4\x02\x81\x00\x48\x02\x93\x00\x66\x03\x49\x02\x82\x00\x65\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x20\xff\x63\x01\x66\x00\x94\x03\x5c\x00\x67\x00\x50\x02\x51\x02\x52\x02\xe3\x01\xaf\x03\x53\x02\xe7\x01\xc9\x00\x68\x00\x54\x02\x3c\x02\x3d\x02\x60\x02\xe9\x01\xca\x00\x55\x02\xea\x01\x56\x02\x69\x00\xeb\x01\x8e\x03\x57\x02\xe3\x02\x40\x02\x41\x02\x67\x00\x42\x02\x43\x02\x44\x02\x45\x02\xec\x01\xf5\x02\xb7\x00\x59\x02\x68\x00\xf4\x01\x5a\x02\x5b\x02\x46\x02\x5c\x02\xf8\x01\x47\x02\x5d\x02\x5e\x02\x69\x00\x3e\x03\x61\x00\x62\x00\xbe\x02\xbf\x02\x5d\x00\x48\x02\x09\x02\xa4\x02\x49\x02\x16\x03\x17\x03\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x33\x01\x21\x03\xc1\x02\xb9\xfd\x81\x00\x1b\x02\x50\x02\x51\x02\x52\x02\x82\x00\x0b\x02\x53\x02\xb9\xfd\x3a\x02\x3b\x02\x54\x02\x6a\x00\x82\x01\xf7\x02\xb7\x00\xf8\x02\x55\x02\xb9\xfd\x56\x02\xb9\xfd\x81\x00\xad\x01\x57\x02\x83\x01\xc2\x02\x82\x00\xe5\x02\xe6\x02\xba\x02\xbb\x02\xf1\x00\x62\x00\x58\x02\xbc\x02\x59\x02\x07\x00\x3d\x03\x5a\x02\x5b\x02\x19\x01\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\x87\x00\x86\x01\x9e\x03\x9f\x03\xa0\x03\x95\x01\x6d\x00\xb9\xfd\x96\x01\x97\x01\xf4\x02\x88\x01\x42\x02\x43\x02\x44\x02\x45\x02\xc2\x01\x4a\x01\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x46\x02\x7a\x00\xd4\x02\x47\x02\x7b\x00\xc3\x01\x11\x03\xc9\x00\x7c\x00\x7d\x00\x7e\x00\xc3\x02\x60\x02\x48\x02\xca\x00\x6d\x00\x49\x02\xc6\x01\xc9\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xca\x00\xf1\x00\x62\x00\x6d\x00\x07\x00\xe7\x02\x50\x02\x51\x02\x52\x02\x1f\x02\x1a\x01\x53\x02\x7b\x00\x3a\x02\x3b\x02\x54\x02\x7c\x00\x7d\x00\x7e\x00\x4f\x01\x79\x00\x55\x02\x7a\x00\x56\x02\x2f\x00\x7b\x00\xc7\x01\x57\x02\x30\x00\x7c\x00\x7d\x00\x7e\x00\xf1\x00\x62\x00\xcd\x01\xf1\x00\x62\x00\xa1\x03\x63\x01\x59\x02\x1f\x02\x1b\x01\x5a\x02\x5b\x02\xf2\x00\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\x97\x03\xf1\x02\x98\x03\x6d\x00\xf2\x02\xf3\x02\x04\x02\x67\x00\x40\x03\x67\x00\xf4\x02\xcf\x01\x42\x02\x43\x02\x44\x02\x45\x02\x68\x00\xd5\x01\x68\x00\x50\x01\x79\x00\xd7\x01\x7a\x00\xd6\x01\x46\x02\x7b\x00\x69\x00\x47\x02\x69\x00\x7c\x00\x7d\x00\x7e\x00\x3a\x02\x3b\x02\xd8\x01\x82\x03\x83\x03\x48\x02\xfb\x02\xfc\x02\x49\x02\xb7\x00\xdb\x01\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xf1\x00\x62\x00\x50\x02\x51\x02\x52\x02\xd6\x00\xd7\x00\x53\x02\xa4\x02\xf7\x00\xb3\x00\x54\x02\x3c\x02\x3d\x02\x06\x03\x61\x00\x62\x00\x55\x02\x42\x03\x56\x02\x43\x03\x57\x01\xe2\x02\x57\x02\xe3\x02\x40\x02\x41\x02\xdf\x01\x42\x02\x43\x02\x44\x02\x45\x02\x26\x01\xf5\x02\xb7\x00\x59\x02\x07\x00\xe8\x02\x5a\x02\x5b\x02\x46\x02\x5c\x02\x2a\x01\x47\x02\x5d\x02\x5e\x02\x07\x00\xe9\x02\xf1\x00\x62\x00\xd1\x02\x61\x00\x62\x00\x48\x02\x11\x01\x6d\x00\x49\x02\xf8\x00\x16\x01\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x33\x01\xf1\x00\x62\x00\x6d\x00\x90\x01\x89\x00\x50\x02\x51\x02\x52\x02\x00\x02\xfd\x00\x53\x02\x7b\x00\x3a\x02\x3b\x02\x54\x02\x7c\x00\x7d\x00\x7e\x00\xb7\x00\x6f\x01\x55\x02\x56\x01\x56\x02\x50\x03\x7b\x00\x51\x03\x57\x02\x70\x01\x7c\x00\x7d\x00\x7e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x52\x03\x58\x02\x53\x03\x59\x02\x07\x00\x64\x02\x5a\x02\x5b\x02\x71\x01\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\xda\x02\x61\x00\x62\x00\x6d\x00\x82\x02\x61\x00\x62\x00\x3e\x02\x3f\x02\x40\x02\x41\x02\xa2\x00\x42\x02\x43\x02\x44\x02\x45\x02\xab\x00\x79\x01\xd0\x00\x51\x01\x79\x00\x64\x00\x7a\x00\xae\x00\x46\x02\x7b\x00\x59\x03\x47\x02\x5a\x03\x7c\x00\x7d\x00\x7e\x00\xde\x00\x65\x00\x83\x02\x61\x00\x62\x00\x48\x02\xf4\x00\x6d\x00\x49\x02\x09\x01\x66\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xf9\x00\x41\x00\x61\x02\x61\x00\x62\x00\x0a\x01\x50\x02\x51\x02\x52\x02\x58\x01\xfb\x00\x53\x02\x7b\x00\x3a\x02\x3b\x02\x54\x02\x7c\x00\x7d\x00\x7e\x00\xbc\x01\xee\x00\x55\x02\x67\x00\x56\x02\x62\x03\x57\x01\x63\x03\x57\x02\x68\x02\x61\x00\x62\x00\x68\x00\x7a\x01\xfe\x00\x9d\x00\x9e\x00\x00\x01\x58\x02\x57\x01\x59\x02\x0f\x01\x69\x00\x5a\x02\x5b\x02\x5e\x00\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\x18\x02\x61\x00\x62\x00\x1c\x02\xed\x00\xee\x00\x8e\x00\x66\x02\x3f\x02\x40\x02\x41\x02\x57\x00\x42\x02\x43\x02\x44\x02\x45\x02\x10\x01\x0c\x01\x9f\x00\xa0\x00\x3e\x00\x44\x00\x15\x01\x0c\x01\x46\x02\x47\x00\x6a\x00\x47\x02\x48\x00\x3f\x00\x17\x01\x0c\x01\x40\x00\x65\x00\xbe\x02\xbf\x02\x49\x00\x48\x02\xb7\x00\xc0\x02\x49\x02\x94\x00\x66\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x0a\x00\x41\x00\xc1\x02\x27\x02\x61\x00\x62\x00\x50\x02\x51\x02\x52\x02\x03\x00\x4c\x00\x53\x02\x10\x04\x3a\x02\x3b\x02\x54\x02\x0f\x04\x4d\x00\xf9\x01\xed\x00\xee\x00\x55\x02\x67\x00\x56\x02\x42\x03\x57\x01\x65\x03\x57\x02\x6b\x03\xc2\x02\x6c\x03\x68\x00\x0e\x02\x61\x00\x62\x00\x0a\x00\x51\x00\x58\x02\x6f\x03\x59\x02\x70\x03\x69\x00\x5a\x02\x5b\x02\x53\x00\x5c\x02\x3c\x02\x3d\x02\x5d\x02\x5e\x02\x10\x02\x61\x00\x62\x00\x55\x00\xc8\x01\xc9\x01\xca\x01\x67\x02\x3f\x02\x40\x02\x41\x02\x0a\x00\x42\x02\x43\x02\x44\x02\x45\x02\x18\x01\x0c\x01\x42\x00\x43\x00\x81\x00\x44\x00\xc9\x00\x60\x02\x46\x02\xd8\x02\xf4\x00\x47\x02\xd9\x02\xca\x00\x65\x00\x0a\x04\x3a\x02\x3b\x02\x42\x03\xc3\x02\x79\x03\x48\x02\x07\x04\x66\x00\x49\x02\x0a\x00\xc9\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xca\x00\x13\x01\x61\x00\x62\x00\x02\x01\x03\x01\x50\x02\x51\x02\x52\x02\x0b\x01\x0c\x01\x53\x02\x46\x01\x61\x00\x62\x00\x54\x02\x3c\x02\x3d\x02\x7d\x03\x67\x00\x7e\x03\x55\x02\xf1\x03\x56\x02\xd3\x03\x07\x00\x35\x00\x57\x02\x68\x00\xfc\x03\xf4\x02\x65\x00\x42\x02\x43\x02\x44\x02\x45\x02\x81\x00\x58\x02\x69\x00\x59\x02\x66\x00\x8a\x03\x5a\x02\x5b\x02\x46\x02\x5c\x02\xfe\x03\x47\x02\x5d\x02\x5e\x02\x0e\x01\x0c\x01\x3a\x02\x3b\x02\x6c\x01\x61\x00\x62\x00\x48\x02\xff\x03\x29\x02\x49\x02\x2a\x02\x81\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x67\x00\xec\x00\xed\x00\xee\x00\x6a\x00\x01\x04\x50\x02\x51\x02\x52\x02\x68\x00\x2b\x02\x53\x02\x2c\x02\x05\x00\x06\x00\x54\x02\x3c\x02\x3d\x02\x04\x02\x69\x00\x05\x02\x55\x02\xd2\x03\x56\x02\xd3\x03\x07\x00\x08\x00\x57\x02\xfb\x02\xfc\x02\xf4\x02\x65\x00\x42\x02\x43\x02\x44\x02\x45\x02\xd4\x01\xd4\x03\xd5\x01\x59\x02\x15\x01\x03\x04\x5a\x02\x5b\x02\x46\x02\x5c\x02\x04\x04\x47\x02\x5d\x02\x5e\x02\x81\x00\x76\x03\x3a\x02\x3b\x02\xf4\x00\xfb\x02\xfc\x02\x48\x02\xcc\x00\xcd\x00\x49\x02\xce\x00\xcf\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x67\x00\xcc\x00\xcd\x00\xe9\x03\xce\x00\xcf\x00\x50\x02\x51\x02\x52\x02\x68\x00\x05\x04\x53\x02\x81\x00\xda\x00\x81\x00\x54\x02\x3c\x02\x3d\x02\x0a\x00\x69\x00\xf6\x03\x55\x02\x81\x00\x56\x02\xf9\x03\x4d\x03\x0a\x00\x57\x02\xad\x02\x40\x02\x41\x02\x65\x00\x42\x02\x43\x02\x44\x02\x45\x02\x81\x00\xd4\x03\xbe\x03\x59\x02\x66\x00\x5b\x01\x5a\x02\x5b\x02\x46\x02\x5c\x02\xca\x03\x47\x02\x5d\x02\x5e\x02\x0a\x00\xcd\x03\x3a\x02\x3b\x02\x6a\x00\xcf\x03\xd0\x03\x48\x02\xd1\x03\x81\x00\x49\x02\x0a\x00\xda\x03\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x67\x00\x81\x00\xe4\x03\x7c\x03\xe5\x03\x81\x00\x50\x02\x51\x02\x52\x02\x68\x00\x4d\x03\x53\x02\x8a\x03\x91\x03\x8c\x03\x54\x02\x3c\x02\x3d\x02\x92\x03\x69\x00\x93\x03\x55\x02\x95\x03\x56\x02\x81\x00\x9d\x03\x9e\x03\x57\x02\xae\x02\x40\x02\x41\x02\x65\x00\x42\x02\x43\x02\x44\x02\x45\x02\x64\x01\x58\x02\xa4\x03\x59\x02\x66\x00\x0a\x00\x5a\x02\x5b\x02\x46\x02\x5c\x02\x81\x00\x47\x02\x5d\x02\x5e\x02\xa9\x03\x0a\x00\x3a\x02\x3b\x02\xf4\x00\x81\x00\x8a\x03\x48\x02\xbc\x03\xbe\x03\x49\x02\x81\x00\x0a\x00\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x67\x00\xc5\x03\x41\x03\x47\x03\x4d\x03\x4e\x03\x50\x02\x51\x02\x52\x02\x68\x00\x4f\x03\x53\x02\x54\x03\x55\x03\x56\x03\x54\x02\x3c\x02\x3d\x02\x57\x03\x69\x00\x58\x03\x55\x02\x5b\x03\x56\x02\x64\x03\xd5\x03\x81\x00\x57\x02\xd9\x02\x0a\x00\x85\x03\x65\x00\x42\x02\x43\x02\x44\x02\x45\x02\x81\x00\x58\x02\x5b\x01\x59\x02\x66\x00\x6d\x03\x5a\x02\x5b\x02\x46\x02\x5c\x02\x6e\x03\x47\x02\x5d\x02\x5e\x02\x7f\x03\x7c\x03\x3a\x02\x3b\x02\x6a\x00\x0a\x00\x84\x03\x48\x02\xee\x02\xef\x02\x49\x02\xf0\x02\xf1\x02\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x67\x00\x81\x00\xb9\xfd\x81\x00\x08\x03\x11\x03\x50\x02\x51\x02\x52\x02\x68\x00\x14\x03\x53\x02\x81\x00\x0a\x00\x1e\x03\x54\x02\x3c\x02\x3d\x02\x81\x00\x69\x00\x33\x03\x55\x02\x35\x03\x56\x02\x34\x03\x84\x03\x37\x03\x57\x02\x38\x03\xad\x02\x85\x03\x81\x00\x42\x02\x43\x02\x44\x02\x45\x02\x3d\x03\x0a\x00\x81\x00\x59\x02\xb0\x02\xb1\x02\x5a\x02\x5b\x02\x46\x02\x5c\x02\xb6\x02\x47\x02\x5d\x02\x5e\x02\xc7\x02\xc8\x02\x3a\x02\x3b\x02\xf4\x00\xc9\x02\xca\x02\x48\x02\xcb\x02\xd1\x02\x49\x02\xd4\x02\xda\x02\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\xdc\x02\xe0\x02\xe1\x02\xe2\x02\x81\x00\x79\x02\x50\x02\x51\x02\x52\x02\xbe\x02\xbf\x02\x53\x02\x0a\x00\x77\x02\x0a\x00\x54\x02\x3c\x02\x3d\x02\x7a\x02\x7b\x02\x7c\x02\x55\x02\x76\x01\x56\x02\x79\x01\x36\x02\xc1\x02\x57\x02\x85\x02\x60\x02\xa5\x02\xaa\x02\x42\x02\x43\x02\x44\x02\x45\x02\xe9\x01\xd1\xff\x61\x02\x59\x02\x64\x02\x81\x00\x5a\x02\x5b\x02\x46\x02\x5c\x02\x0a\x00\x47\x02\x5d\x02\x5e\x02\x6c\x02\x3a\x02\x3b\x02\xc2\x02\x6b\x02\x6d\x02\xfc\x01\x48\x02\x81\x00\x79\x01\x49\x02\x70\x02\x71\x02\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x72\x02\x81\x00\x76\x01\x23\x02\x24\x02\x25\x02\x50\x02\x51\x02\x52\x02\x26\x02\x2e\x02\x53\x02\x2d\x02\x2f\x02\x34\x02\x54\x02\x37\x02\x0a\x00\x39\x02\xe3\x01\x0a\x00\x55\x02\xe9\x01\x56\x02\x81\x00\xf3\x01\x0a\x00\x57\x02\xf4\x01\xfb\x01\x81\x00\xab\x03\x43\x02\x44\x02\x45\x02\xfc\x01\xda\x00\x02\x02\xfd\x01\x59\x02\xc3\x02\x81\x00\x5a\x02\x5b\x02\xff\x01\x5c\x02\x47\x02\xc9\x00\x5d\x02\x5e\x02\x3a\x02\x3b\x02\x81\x00\x06\x02\xca\x00\x07\x02\x48\x02\x08\x02\x09\x02\x49\x02\xa7\x00\x0d\x02\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x81\x00\x13\x01\x86\x01\x12\x02\x88\x01\x85\x01\x50\x02\x51\x02\x52\x02\x8c\x01\x8d\x01\x53\x02\x13\x01\x8e\x01\x90\x01\x54\x02\x94\x01\x81\x00\xd0\x00\xd8\x00\xde\x01\x55\x02\xb6\x01\x56\x02\xb7\x01\x0a\x00\xbc\x01\x57\x02\xc5\x01\xc6\x01\x0a\x00\xab\x03\x43\x02\x44\x02\x45\x02\xd1\x01\xd2\x01\xac\x03\x41\x00\x59\x02\x28\x01\x13\x01\x5a\x02\x5b\x02\xdb\x01\x5c\x02\x47\x02\x28\x01\x5d\x02\xad\x03\x13\x01\x13\x01\x0e\x01\x0e\x01\x13\x01\x0e\x01\x48\x02\x0a\x00\x28\x01\x49\x02\x36\x01\x33\x01\x4a\x02\x4b\x02\x4c\x02\x4d\x02\x4e\x02\x4f\x02\x9b\x00\x9c\x00\x38\x01\x9d\x00\x9e\x00\x39\x01\x50\x02\x51\x02\x52\x02\x3b\x01\x37\x01\x53\x02\x3a\x01\xdd\x00\x3c\x01\x54\x02\x46\x01\x81\x00\x53\x01\x7a\xfe\x81\x00\x55\x02\x5a\x01\x56\x02\x5b\x01\x81\x00\x63\x01\x57\x02\x7a\xfe\x7a\xfe\x69\x01\x7a\xfe\x7a\xfe\x6e\x01\x64\x01\x68\x01\xa7\x00\x9f\x00\xa0\x00\x59\x02\x44\x00\x9b\x00\x5a\x02\x5b\x02\x7f\x01\x5c\x02\x9b\x00\x6d\x00\x5d\x02\xad\x03\xa5\x01\xa6\x01\x3b\x03\xa8\x01\xa9\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x73\x01\x7a\x00\x80\x01\xa8\x00\x7b\x00\xab\x00\xb6\x00\xcb\x00\x7c\x00\x7d\x00\x7e\x00\x6d\x00\xaa\x01\x81\x00\xa5\x01\xa6\x01\xa7\x01\xa8\x01\xa9\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xc9\x00\x7a\x00\xd0\x00\xd8\x00\x7b\x00\x60\x02\xd9\x00\xca\x00\x7c\x00\x7d\x00\x7e\x00\x6d\x00\xaa\x01\xda\x00\xa5\x01\xa6\x01\xdb\x00\x1d\x02\xa9\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xdd\x00\x7a\x00\xde\x00\xe3\x00\x7b\x00\xe4\x00\xe9\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\xdf\x03\xaa\x01\xe5\x00\xe0\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xa5\x00\x7a\x00\x07\x01\x0e\x01\x7b\x00\x4b\xff\x59\x00\x5e\x00\x7c\x00\x7d\x00\x7e\x00\x0a\x00\x6d\x00\x94\x00\x0a\x00\xff\xff\x0a\x00\x00\x00\x00\x00\xb9\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\xab\x01\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x03\xe2\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\xba\x03\x72\x03\x73\x03\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\xab\x01\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xdf\x03\x00\x00\x00\x00\xe0\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7f\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x71\x03\x72\x03\x73\x03\x7c\x00\x7d\x00\x7e\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x74\x03\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x04\x70\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x40\x01\x41\x01\xd2\x00\xd3\x00\xd4\x00\xd5\x00\x00\x00\x42\x01\x43\x01\x00\x00\x74\x03\xd6\x00\xd7\x00\x44\x01\x00\x00\x45\x01\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x03\x73\x03\x49\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x7f\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xf9\x03\x4b\x03\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\xb7\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x02\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x74\x03\x08\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x6d\x00\x4a\x03\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x03\x03\x04\x03\x7b\x00\x00\x00\x00\x00\xb7\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x03\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x03\x0a\x03\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x23\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x14\x03\x04\x03\x00\x00\x7c\x00\x7d\x00\x7e\x00\x05\x03\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\xb7\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x02\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x25\x03\x21\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x03\x04\x03\x6d\x00\x2e\x03\x2f\x03\x00\x00\xb7\x00\x00\x00\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x39\x03\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x07\x04\x00\x00\x00\x00\x6d\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x05\x03\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xff\x03\x00\x00\x00\x00\x6d\x00\x00\x00\x3a\x03\x00\x00\xb7\x00\x00\x00\xfc\x03\x21\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x70\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\xb7\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xea\x03\x00\x00\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\xb7\x00\xee\x03\x7b\x00\x00\x00\x00\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xf6\x03\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xb7\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xd1\x03\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\xb7\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x49\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\xb7\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xe6\x03\x00\x00\x00\x00\x08\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\xb7\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\xb7\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x6d\x00\xa4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x7b\xfe\x7b\x00\xb7\x00\xe7\x03\x98\x03\x7c\x00\x7d\x00\x7e\x00\x6d\x00\x7b\xfe\x7b\xfe\x00\x00\x7b\xfe\x7b\xfe\x00\x00\x2d\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xb7\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xbe\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x03\xc9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x02\x6d\x00\xca\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\xbf\x03\x7c\x00\x7d\x00\x7e\x00\xb6\x03\x65\x03\x6d\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xfc\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x05\x03\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x03\x21\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb6\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\xb7\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\xc3\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\xfd\x02\x7a\x00\x00\x00\xb7\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x53\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\xb7\x00\x7b\x00\x54\x01\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xc5\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\xdc\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\xdd\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xb7\x00\x99\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\x9a\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xb4\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\xb7\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\xb8\x03\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xb7\x00\xaa\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xb4\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xd2\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\xde\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\xec\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xb7\x00\x69\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\x6e\x02\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xee\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\xf0\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\xf5\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xb7\x00\xfd\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\x81\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xb1\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x6d\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\xb4\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x2d\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x6d\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\x00\x00\xb7\x00\x48\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\x55\x01\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6d\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\x00\x00\xb7\x00\xb6\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7d\x00\x7e\x00\xb7\x00\x00\x00\xbb\x00\x00\x00\xbb\x00\xbc\x00\xbd\x00\xbc\x00\xbd\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x00\x00\x00\x00\xc0\x00\x47\x00\xc0\x00\x8c\x00\x48\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x49\x00\xc1\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\xc2\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x67\x00\x00\x00\x67\x00\xc3\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc4\x00\x68\x00\xc4\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x69\x00\x00\x00\x69\x00\x00\x00\xbb\x00\x00\x00\x53\x00\xbc\x00\xbd\x00\x00\x00\xc5\x00\xd3\x01\xc5\x00\x00\x00\xbe\x00\x8e\x00\x00\x00\x00\x00\xb7\x00\xc6\x00\x00\x00\xc6\x00\xc7\x00\xc8\x00\xc7\x00\xc8\x00\xc0\x00\x00\x00\x77\x03\xc9\x00\x00\x00\xc9\x00\x00\x00\x00\x00\x00\x00\x78\x03\xca\x00\x03\x02\xca\x00\xc1\x00\x00\x00\xbb\x00\x00\x00\x00\x00\xbc\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x00\x00\x67\x00\xbc\x00\xbd\x00\xc3\x00\x00\x00\x00\x00\xc1\x00\x00\x00\xbe\x00\x68\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x69\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x67\x00\xc6\x00\x00\x00\xc3\x00\xc7\x00\xc8\x00\x00\x00\xc2\x00\x00\x00\x68\x00\xc4\x00\xc9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xca\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\xc5\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc4\x00\xc6\x00\x00\x00\x00\x00\xc7\x00\xc8\x00\x00\x00\xbc\x00\xbd\x00\x69\x00\x00\x00\xc9\x00\xbb\x00\x00\x00\xaf\x01\xbc\x00\xbd\x00\xb3\x00\xca\x00\xc5\x00\x00\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\xc6\x00\x00\x00\x00\x00\xc7\x00\xc8\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\xc9\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x03\xca\x00\x00\x00\xc1\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\xbc\x00\xbd\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x68\x00\xc4\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc4\x00\x69\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\xc5\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\xc5\x00\xc6\x00\x00\x00\x00\x00\xc7\x00\xc8\x00\x00\x00\xc2\x00\x00\x00\xc6\x00\x00\x00\xc9\x00\xc7\x00\xc8\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xca\x00\xc9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xca\x00\x67\x00\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x00\x00\x00\x00\xc7\x00\xc8\x00\x00\x00\x00\x00\x8c\x02\x00\x00\x00\x00\xc9\x00\x8d\x02\x00\x00\x8e\x02\x00\x00\x8f\x02\xb3\x00\xca\x00\x00\x00\x90\x02\x91\x02\x24\x00\x92\x02\x00\x00\x93\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x02\x00\x00\x95\x02\x00\x00\x96\x02\x00\x00\x97\x02\x00\x00\x98\x02\x00\x00\x99\x02\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x02\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x00\x00\x9c\x02\x00\x00\x00\x00\x69\x00\x00\x00\x9d\x02\x00\x00\x9e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x02\x00\x00\x00\x00\xa0\x02\xa1\x02\x8c\x02\x00\x00\x00\x00\x00\x00\x8d\x02\xa2\x02\x8e\x02\x00\x00\x8f\x02\x00\x00\x00\x00\x00\x00\x90\x02\x91\x02\x24\x00\x92\x02\x00\x00\xa3\x02\x00\x00\xa4\x02\x00\x00\x00\x00\xa5\x02\x00\x00\x00\x00\x00\x00\x94\x02\x00\x00\x95\x02\x00\x00\x96\x02\x00\x00\x97\x02\x00\x00\x98\x02\x00\x00\xcc\x03\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x02\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x00\x00\x9c\x02\x00\x00\x00\x00\x69\x00\x00\x00\x9d\x02\x23\x00\x9e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x02\x00\x00\x00\x00\xa0\x02\xa1\x02\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\xa2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\xa3\x02\x00\x00\xa4\x02\x00\x00\x00\x00\xa5\x02\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x23\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x30\x00\xb9\xfd\x00\x00\xb9\xfd\xb9\xfd\x00\x00\x00\x00\x31\x00\x24\x00\x00\x00\x25\x00\x00\x00\xb9\xfd\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\xb9\xfd\x34\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\xc3\xff\x00\x00\x00\x00\x27\x00\x00\x00\xb9\xfd\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xb9\xfd\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\xc3\xff\x30\x00\xb9\xfd\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x31\x00\x00\x00\xb9\xfd\x00\x00\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x26\x00\xb9\xfd\x33\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x35\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x24\x00\x2f\x00\x25\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\xc3\xff\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x27\x00\x00\x00\x34\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x26\x00\x00\x00\x33\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x99\x01\x00\x00\x27\x00\x00\x00\x35\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x9a\x01\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x9b\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x01\x00\x00\x9d\x01\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x9e\x01\x0a\x00\x9f\x01\x35\x00\xa0\x01\x00\x00\x2f\x00\x00\x00\x00\x00\x47\x00\x30\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x00\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x01\x00\x00\x00\x00\xa3\x01\x00\x00\x00\x00\xa4\x01\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x4d\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x4d\x00\x4e\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x4a\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x53\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x54\x00\x49\x00\x4a\x00\x55\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x51\x00\x4d\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (2, 582) [- (2 , happyReduce_2),- (3 , happyReduce_3),- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249),- (250 , happyReduce_250),- (251 , happyReduce_251),- (252 , happyReduce_252),- (253 , happyReduce_253),- (254 , happyReduce_254),- (255 , happyReduce_255),- (256 , happyReduce_256),- (257 , happyReduce_257),- (258 , happyReduce_258),- (259 , happyReduce_259),- (260 , happyReduce_260),- (261 , happyReduce_261),- (262 , happyReduce_262),- (263 , happyReduce_263),- (264 , happyReduce_264),- (265 , happyReduce_265),- (266 , happyReduce_266),- (267 , happyReduce_267),- (268 , happyReduce_268),- (269 , happyReduce_269),- (270 , happyReduce_270),- (271 , happyReduce_271),- (272 , happyReduce_272),- (273 , happyReduce_273),- (274 , happyReduce_274),- (275 , happyReduce_275),- (276 , happyReduce_276),- (277 , happyReduce_277),- (278 , happyReduce_278),- (279 , happyReduce_279),- (280 , happyReduce_280),- (281 , happyReduce_281),- (282 , happyReduce_282),- (283 , happyReduce_283),- (284 , happyReduce_284),- (285 , happyReduce_285),- (286 , happyReduce_286),- (287 , happyReduce_287),- (288 , happyReduce_288),- (289 , happyReduce_289),- (290 , happyReduce_290),- (291 , happyReduce_291),- (292 , happyReduce_292),- (293 , happyReduce_293),- (294 , happyReduce_294),- (295 , happyReduce_295),- (296 , happyReduce_296),- (297 , happyReduce_297),- (298 , happyReduce_298),- (299 , happyReduce_299),- (300 , happyReduce_300),- (301 , happyReduce_301),- (302 , happyReduce_302),- (303 , happyReduce_303),- (304 , happyReduce_304),- (305 , happyReduce_305),- (306 , happyReduce_306),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451),- (452 , happyReduce_452),- (453 , happyReduce_453),- (454 , happyReduce_454),- (455 , happyReduce_455),- (456 , happyReduce_456),- (457 , happyReduce_457),- (458 , happyReduce_458),- (459 , happyReduce_459),- (460 , happyReduce_460),- (461 , happyReduce_461),- (462 , happyReduce_462),- (463 , happyReduce_463),- (464 , happyReduce_464),- (465 , happyReduce_465),- (466 , happyReduce_466),- (467 , happyReduce_467),- (468 , happyReduce_468),- (469 , happyReduce_469),- (470 , happyReduce_470),- (471 , happyReduce_471),- (472 , happyReduce_472),- (473 , happyReduce_473),- (474 , happyReduce_474),- (475 , happyReduce_475),- (476 , happyReduce_476),- (477 , happyReduce_477),- (478 , happyReduce_478),- (479 , happyReduce_479),- (480 , happyReduce_480),- (481 , happyReduce_481),- (482 , happyReduce_482),- (483 , happyReduce_483),- (484 , happyReduce_484),- (485 , happyReduce_485),- (486 , happyReduce_486),- (487 , happyReduce_487),- (488 , happyReduce_488),- (489 , happyReduce_489),- (490 , happyReduce_490),- (491 , happyReduce_491),- (492 , happyReduce_492),- (493 , happyReduce_493),- (494 , happyReduce_494),- (495 , happyReduce_495),- (496 , happyReduce_496),- (497 , happyReduce_497),- (498 , happyReduce_498),- (499 , happyReduce_499),- (500 , happyReduce_500),- (501 , happyReduce_501),- (502 , happyReduce_502),- (503 , happyReduce_503),- (504 , happyReduce_504),- (505 , happyReduce_505),- (506 , happyReduce_506),- (507 , happyReduce_507),- (508 , happyReduce_508),- (509 , happyReduce_509),- (510 , happyReduce_510),- (511 , happyReduce_511),- (512 , happyReduce_512),- (513 , happyReduce_513),- (514 , happyReduce_514),- (515 , happyReduce_515),- (516 , happyReduce_516),- (517 , happyReduce_517),- (518 , happyReduce_518),- (519 , happyReduce_519),- (520 , happyReduce_520),- (521 , happyReduce_521),- (522 , happyReduce_522),- (523 , happyReduce_523),- (524 , happyReduce_524),- (525 , happyReduce_525),- (526 , happyReduce_526),- (527 , happyReduce_527),- (528 , happyReduce_528),- (529 , happyReduce_529),- (530 , happyReduce_530),- (531 , happyReduce_531),- (532 , happyReduce_532),- (533 , happyReduce_533),- (534 , happyReduce_534),- (535 , happyReduce_535),- (536 , happyReduce_536),- (537 , happyReduce_537),- (538 , happyReduce_538),- (539 , happyReduce_539),- (540 , happyReduce_540),- (541 , happyReduce_541),- (542 , happyReduce_542),- (543 , happyReduce_543),- (544 , happyReduce_544),- (545 , happyReduce_545),- (546 , happyReduce_546),- (547 , happyReduce_547),- (548 , happyReduce_548),- (549 , happyReduce_549),- (550 , happyReduce_550),- (551 , happyReduce_551),- (552 , happyReduce_552),- (553 , happyReduce_553),- (554 , happyReduce_554),- (555 , happyReduce_555),- (556 , happyReduce_556),- (557 , happyReduce_557),- (558 , happyReduce_558),- (559 , happyReduce_559),- (560 , happyReduce_560),- (561 , happyReduce_561),- (562 , happyReduce_562),- (563 , happyReduce_563),- (564 , happyReduce_564),- (565 , happyReduce_565),- (566 , happyReduce_566),- (567 , happyReduce_567),- (568 , happyReduce_568),- (569 , happyReduce_569),- (570 , happyReduce_570),- (571 , happyReduce_571),- (572 , happyReduce_572),- (573 , happyReduce_573),- (574 , happyReduce_574),- (575 , happyReduce_575),- (576 , happyReduce_576),- (577 , happyReduce_577),- (578 , happyReduce_578),- (579 , happyReduce_579),- (580 , happyReduce_580),- (581 , happyReduce_581),- (582 , happyReduce_582)- ]--happy_n_terms = 133 :: Int-happy_n_nonterms = 250 :: Int--happyReduce_2 = happyMonadReduce 3# 0# happyReduction_2-happyReduction_2 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_3 of { happy_var_3 -> - ( do { s <- getSrcSpan happy_var_1; - return [IncludeProg () s happy_var_3 Nothing] })}}- ) (\r -> happyReturn (happyIn5 r))--happyReduce_3 = happySpecReduce_1 1# happyReduction_3-happyReduction_3 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn6- (happy_var_1- )}--happyReduce_4 = happySpecReduce_3 2# happyReduction_4-happyReduction_4 happy_x_3- happy_x_2- happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - case happyOut8 happy_x_3 of { happy_var_3 -> - happyIn7- (happy_var_1++[happy_var_3]- )}}--happyReduce_5 = happySpecReduce_0 2# happyReduction_5-happyReduction_5 = happyIn7- ([]- )--happyReduce_6 = happySpecReduce_1 3# happyReduction_6-happyReduction_6 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 -> - happyIn8- (happy_var_1- )}--happyReduce_7 = happySpecReduce_1 3# happyReduction_7-happyReduction_7 happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn8- (happy_var_1- )}--happyReduce_8 = happySpecReduce_1 3# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn8- (happy_var_1- )}--happyReduce_9 = happySpecReduce_1 3# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn8- (happy_var_1- )}--happyReduce_10 = happySpecReduce_3 4# happyReduction_10-happyReduction_10 happy_x_3- happy_x_2- happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn9- (happy_var_1++[happy_var_3]- )}}--happyReduce_11 = happySpecReduce_1 4# happyReduction_11-happyReduction_11 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn9- ([happy_var_1]- )}--happyReduce_12 = happySpecReduce_3 5# happyReduction_12-happyReduction_12 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_3 of { happy_var_3 -> - happyIn10- (happy_var_1:happy_var_3- )}}--happyReduce_13 = happySpecReduce_1 5# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn10- ([happy_var_1]- )}--happyReduce_14 = happySpecReduce_2 6# happyReduction_14-happyReduction_14 happy_x_2- happy_x_1- = happyIn11- (- )--happyReduce_15 = happySpecReduce_1 7# happyReduction_15-happyReduction_15 happy_x_1- = happyIn12- (- )--happyReduce_16 = happySpecReduce_0 7# happyReduction_16-happyReduction_16 = happyIn12- (- )--happyReduce_17 = happyMonadReduce 11# 8# happyReduction_17-happyReduction_17 (happy_x_11 `HappyStk`- 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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - case happyOut254 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut16 happy_x_5 of { happy_var_5 -> - case happyOut254 happy_x_6 of { happy_var_6 -> - case happyOut34 happy_x_7 of { happy_var_7 -> - case happyOut163 happy_x_8 of { happy_var_8 -> - case happyOut28 happy_x_9 of { happy_var_9 -> - case happyOut15 happy_x_10 of { happy_var_10 -> - ( do { s <- getSrcSpan happy_var_1; - s' <- getSrcSpan happy_var_6; - name <- cmpNames (fst happy_var_2) happy_var_10 "program"; - return (Main () s name (snd happy_var_2) (Block () (UseBlock happy_var_4 happy_var_3) happy_var_5 s' happy_var_7 happy_var_8) happy_var_9); })}}}}}}}}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_18 = happyReduce 4# 9# happyReduction_18-happyReduction_18 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut113 happy_x_2 of { happy_var_2 -> - case happyOut115 happy_x_3 of { happy_var_3 -> - happyIn14- ((happy_var_2, happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_19 = happyReduce 4# 9# happyReduction_19-happyReduction_19 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut113 happy_x_2 of { happy_var_2 -> - case happyOut254 happy_x_3 of { happy_var_3 -> - happyIn14- ((happy_var_2, (Arg () (NullArg ())) (happy_var_3, happy_var_3))- ) `HappyStk` happyRest}}--happyReduce_20 = happySpecReduce_3 10# happyReduction_20-happyReduction_20 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn15- (happy_var_3- )}--happyReduce_21 = happySpecReduce_2 10# happyReduction_21-happyReduction_21 happy_x_2- happy_x_1- = happyIn15- (""- )--happyReduce_22 = happySpecReduce_1 10# happyReduction_22-happyReduction_22 happy_x_1- = happyIn15- (""- )--happyReduce_23 = happySpecReduce_3 11# happyReduction_23-happyReduction_23 happy_x_3- happy_x_2- happy_x_1- = happyIn16- (ImplicitNone ()- )--happyReduce_24 = happySpecReduce_0 11# happyReduction_24-happyReduction_24 = happyIn16- (ImplicitNull ()- )--happyReduce_25 = happySpecReduce_1 12# happyReduction_25-happyReduction_25 happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - happyIn17- (happy_var_1- )}--happyReduce_26 = happySpecReduce_1 12# happyReduction_26-happyReduction_26 happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - happyIn17- (happy_var_1- )}--happyReduce_27 = happyMonadReduce 10# 13# happyReduction_27-happyReduction_27 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut111 happy_x_2 of { happy_var_2 -> - case happyOut254 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut16 happy_x_5 of { happy_var_5 -> - case happyOut254 happy_x_6 of { happy_var_6 -> - case happyOut34 happy_x_7 of { happy_var_7 -> - case happyOut163 happy_x_8 of { happy_var_8 -> - case happyOut19 happy_x_9 of { happy_var_9 -> - ( do { s <- getSrcSpan happy_var_1; - s' <- getSrcSpan happy_var_6; - name <- cmpNames (fst3 happy_var_2) happy_var_9 "subroutine"; - return (Sub () s (trd3 happy_var_2) name (snd3 happy_var_2) (Block () (UseBlock happy_var_4 happy_var_3) happy_var_5 s' happy_var_7 happy_var_8)); })}}}}}}}}}- ) (\r -> happyReturn (happyIn18 r))--happyReduce_28 = happySpecReduce_3 14# happyReduction_28-happyReduction_28 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn19- (happy_var_3- )}--happyReduce_29 = happySpecReduce_2 14# happyReduction_29-happyReduction_29 happy_x_2- happy_x_1- = happyIn19- (""- )--happyReduce_30 = happySpecReduce_1 14# happyReduction_30-happyReduction_30 happy_x_1- = happyIn19- (""- )--happyReduce_31 = happySpecReduce_3 15# happyReduction_31-happyReduction_31 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn20- (happy_var_3- )}--happyReduce_32 = happySpecReduce_2 15# happyReduction_32-happyReduction_32 happy_x_2- happy_x_1- = happyIn20- (""- )--happyReduce_33 = happySpecReduce_1 15# happyReduction_33-happyReduction_33 happy_x_1- = happyIn20- (""- )--happyReduce_34 = happyMonadReduce 10# 16# happyReduction_34-happyReduction_34 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut112 happy_x_2 of { happy_var_2 -> - case happyOut254 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut16 happy_x_5 of { happy_var_5 -> - case happyOut254 happy_x_6 of { happy_var_6 -> - case happyOut34 happy_x_7 of { happy_var_7 -> - case happyOut163 happy_x_8 of { happy_var_8 -> - case happyOut20 happy_x_9 of { happy_var_9 -> - ( do { s <- getSrcSpan happy_var_1; - s' <- getSrcSpan happy_var_6; - name <- cmpNames (fst4 happy_var_2) happy_var_9 "function"; - return (Function () s (trd4 happy_var_2) name (snd4 happy_var_2) (frh4 happy_var_2) (Block () (UseBlock happy_var_4 happy_var_3) happy_var_5 s' happy_var_7 happy_var_8)); })}}}}}}}}}- ) (\r -> happyReturn (happyIn21 r))--happyReduce_35 = happyMonadReduce 6# 17# happyReduction_35-happyReduction_35 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOut16 happy_x_4 of { happy_var_4 -> - case happyOut34 happy_x_5 of { happy_var_5 -> - case happyOut24 happy_x_6 of { happy_var_6 -> - ( do { s <- getSrcSpan happy_var_1; - name <- cmpNames happy_var_2 happy_var_6 "block data"; - return (BlockData () s name happy_var_3 happy_var_4 happy_var_5); })}}}}}}- ) (\r -> happyReturn (happyIn22 r))--happyReduce_36 = happySpecReduce_3 18# happyReduction_36-happyReduction_36 happy_x_3- happy_x_2- happy_x_1- = case happyOut113 happy_x_3 of { happy_var_3 -> - happyIn23- (happy_var_3- )}--happyReduce_37 = happySpecReduce_2 18# happyReduction_37-happyReduction_37 happy_x_2- happy_x_1- = happyIn23- ("foobar" `trace` NullSubName ()- )--happyReduce_38 = happyReduce 4# 19# happyReduction_38-happyReduction_38 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut103 happy_x_4 of { happy_var_4 -> - happyIn24- (happy_var_4- ) `HappyStk` happyRest}--happyReduce_39 = happySpecReduce_3 19# happyReduction_39-happyReduction_39 happy_x_3- happy_x_2- happy_x_1- = happyIn24- (""- )--happyReduce_40 = happySpecReduce_1 19# happyReduction_40-happyReduction_40 happy_x_1- = happyIn24- (""- )--happyReduce_41 = happyMonadReduce 8# 20# happyReduction_41-happyReduction_41 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOut16 happy_x_4 of { happy_var_4 -> - case happyOut34 happy_x_5 of { happy_var_5 -> - case happyOut28 happy_x_6 of { happy_var_6 -> - case happyOut27 happy_x_7 of { happy_var_7 -> - ( do { s <- getSrcSpan happy_var_1; - name <- cmpNames happy_var_2 happy_var_7 "module"; - return (Module () s name happy_var_3 happy_var_4 happy_var_5 happy_var_6); })}}}}}}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_42 = happySpecReduce_3 21# happyReduction_42-happyReduction_42 happy_x_3- happy_x_2- happy_x_1- = case happyOut113 happy_x_2 of { happy_var_2 -> - happyIn26- (happy_var_2- )}--happyReduce_43 = happySpecReduce_3 22# happyReduction_43-happyReduction_43 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn27- (happy_var_3- )}--happyReduce_44 = happySpecReduce_2 22# happyReduction_44-happyReduction_44 happy_x_2- happy_x_1- = happyIn27- (""- )--happyReduce_45 = happySpecReduce_1 22# happyReduction_45-happyReduction_45 happy_x_1- = happyIn27- (""- )--happyReduce_46 = happySpecReduce_3 23# happyReduction_46-happyReduction_46 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_3 of { happy_var_3 -> - happyIn28- (happy_var_3- )}--happyReduce_47 = happySpecReduce_0 23# happyReduction_47-happyReduction_47 = happyIn28- ([]- )--happyReduce_48 = happySpecReduce_3 24# happyReduction_48-happyReduction_48 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 -> - case happyOut30 happy_x_2 of { happy_var_2 -> - happyIn29- (happy_var_1++[happy_var_2]- )}}--happyReduce_49 = happySpecReduce_0 24# happyReduction_49-happyReduction_49 = happyIn29- ([]- )--happyReduce_50 = happySpecReduce_1 25# happyReduction_50-happyReduction_50 happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - happyIn30- (happy_var_1- )}--happyReduce_51 = happySpecReduce_1 25# happyReduction_51-happyReduction_51 happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - happyIn30- (happy_var_1- )}--happyReduce_52 = happySpecReduce_2 26# happyReduction_52-happyReduction_52 happy_x_2- happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn31- (Use () happy_var_1 happy_var_2 ()- )}}--happyReduce_53 = happySpecReduce_0 26# happyReduction_53-happyReduction_53 = happyIn31- (UseNil ()- )--happyReduce_54 = happySpecReduce_3 27# happyReduction_54-happyReduction_54 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_2 of { happy_var_2 -> - happyIn32- ((happy_var_2, [])- )}--happyReduce_55 = happyReduce 5# 27# happyReduction_55-happyReduction_55 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn32- (("common", happy_var_4)- ) `HappyStk` happyRest}--happyReduce_56 = happyReduce 5# 27# happyReduction_56-happyReduction_56 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut103 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn32- ((happy_var_2, happy_var_4)- ) `HappyStk` happyRest}}--happyReduce_57 = happySpecReduce_3 28# happyReduction_57-happyReduction_57 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn33- ([(happy_var_1, happy_var_3)]- )}}--happyReduce_58 = happySpecReduce_3 28# happyReduction_58-happyReduction_58 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn33- (happy_var_1 ++ happy_var_3- )}}--happyReduce_59 = happySpecReduce_1 29# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn34- (happy_var_1- )}--happyReduce_60 = happyMonadReduce 0# 29# happyReduction_60-happyReduction_60 (happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ NullDecl () s))- ) (\r -> happyReturn (happyIn34 r))--happyReduce_61 = happySpecReduce_2 30# happyReduction_61-happyReduction_61 happy_x_2- happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_2 of { happy_var_2 -> - happyIn35- (DSeq () happy_var_1 happy_var_2- )}}--happyReduce_62 = happySpecReduce_1 30# happyReduction_62-happyReduction_62 happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn35- (happy_var_1- )}--happyReduce_63 = happySpecReduce_2 31# happyReduction_63-happyReduction_63 happy_x_2- happy_x_1- = case happyOut37 happy_x_1 of { happy_var_1 -> - happyIn36- (happy_var_1- )}--happyReduce_64 = happySpecReduce_1 32# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn37- (happy_var_1- )}--happyReduce_65 = happySpecReduce_1 32# happyReduction_65-happyReduction_65 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - happyIn37- (happy_var_1- )}--happyReduce_66 = happySpecReduce_1 32# happyReduction_66-happyReduction_66 happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 -> - happyIn37- (happy_var_1- )}--happyReduce_67 = happySpecReduce_1 32# happyReduction_67-happyReduction_67 happy_x_1- = case happyOutTok happy_x_1 of { (Text happy_var_1) -> - happyIn37- (TextDecl () happy_var_1- )}--happyReduce_68 = happyMonadReduce 5# 33# happyReduction_68-happyReduction_68 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut43 happy_x_2 of { happy_var_2 -> - case happyOut39 happy_x_3 of { happy_var_3 -> - case happyOut40 happy_x_5 of { happy_var_5 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ if null (fst happy_var_3) - then Decl () s happy_var_5 ((BaseType () (fst3 happy_var_2) (snd happy_var_3) (snd3 happy_var_2) (trd3 happy_var_2))) - else Decl () s happy_var_5 ((ArrayT () (fst happy_var_3) (fst3 happy_var_2) (snd happy_var_3) (snd3 happy_var_2) (trd3 happy_var_2)))))}}}}- ) (\r -> happyReturn (happyIn38 r))--happyReduce_69 = happyMonadReduce 4# 33# happyReduction_69-happyReduction_69 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut43 happy_x_2 of { happy_var_2 -> - case happyOut39 happy_x_3 of { happy_var_3 -> - case happyOut40 happy_x_4 of { happy_var_4 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ if null (fst happy_var_3) - then Decl () s happy_var_4 ((BaseType () (fst3 happy_var_2) (snd happy_var_3) (snd3 happy_var_2) (trd3 happy_var_2))) - else Decl () s happy_var_4 ((ArrayT () (fst happy_var_3) (fst3 happy_var_2) (snd happy_var_3) (snd3 happy_var_2) (trd3 happy_var_2)))))}}}}- ) (\r -> happyReturn (happyIn38 r))--happyReduce_70 = happySpecReduce_1 33# happyReduction_70-happyReduction_70 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn38- (happy_var_1- )}--happyReduce_71 = happySpecReduce_1 33# happyReduction_71-happyReduction_71 happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - happyIn38- (happy_var_1- )}--happyReduce_72 = happySpecReduce_3 34# happyReduction_72-happyReduction_72 happy_x_3- happy_x_2- happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - happyIn39- ((fst happy_var_1++fst happy_var_3,snd happy_var_1++snd happy_var_3)- )}}--happyReduce_73 = happySpecReduce_0 34# happyReduction_73-happyReduction_73 = happyIn39- (([],[])- )--happyReduce_74 = happySpecReduce_3 35# happyReduction_74-happyReduction_74 happy_x_3- happy_x_2- happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn40- (happy_var_1:happy_var_3- )}}--happyReduce_75 = happySpecReduce_1 35# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn40- ([happy_var_1]- )}--happyReduce_76 = happySpecReduce_3 36# happyReduction_76-happyReduction_76 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - happyIn41- ((happy_var_1, happy_var_3, Nothing)- )}}--happyReduce_77 = happyMonadReduce 1# 36# happyReduction_77-happyReduction_77 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut120 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s -> return $ (happy_var_1, NullExpr () s, Nothing)))}- ) (\r -> happyReturn (happyIn41 r))--happyReduce_78 = happyMonadReduce 3# 36# happyReduction_78-happyReduction_78 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut120 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (happy_var_1, NullExpr () s, Just $ read happy_var_3)))}}- ) (\r -> happyReturn (happyIn41 r))--happyReduce_79 = happySpecReduce_1 37# happyReduction_79-happyReduction_79 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn42- (happy_var_1- )}--happyReduce_80 = happySpecReduce_1 38# happyReduction_80-happyReduction_80 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn43- ((fst3 happy_var_1, snd3 happy_var_1, trd3 happy_var_1)- )}--happyReduce_81 = happyMonadReduce 2# 39# happyReduction_81-happyReduction_81 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ (Integer (), happy_var_2, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_82 = happyMonadReduce 3# 39# happyReduction_82-happyReduction_82 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (Integer (), happy_var_3, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_83 = happyMonadReduce 1# 39# happyReduction_83-happyReduction_83 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Integer (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_84 = happyMonadReduce 2# 39# happyReduction_84-happyReduction_84 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ (Real (), happy_var_2, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_85 = happyMonadReduce 3# 39# happyReduction_85-happyReduction_85 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (Real (), happy_var_3, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_86 = happyMonadReduce 1# 39# happyReduction_86-happyReduction_86 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Real (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_87 = happyMonadReduce 1# 39# happyReduction_87-happyReduction_87 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (SomeType (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_88 = happyMonadReduce 2# 39# happyReduction_88-happyReduction_88 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ (DoublePrecision (), happy_var_2, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_89 = happyMonadReduce 3# 39# happyReduction_89-happyReduction_89 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (DoublePrecision (), happy_var_3, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_90 = happyMonadReduce 1# 39# happyReduction_90-happyReduction_90 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (DoublePrecision (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_91 = happyMonadReduce 2# 39# happyReduction_91-happyReduction_91 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ (Complex (), happy_var_2, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_92 = happyMonadReduce 3# 39# happyReduction_92-happyReduction_92 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (Complex (), happy_var_3, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_93 = happyMonadReduce 1# 39# happyReduction_93-happyReduction_93 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Complex (),NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_94 = happySpecReduce_2 39# happyReduction_94-happyReduction_94 happy_x_2- happy_x_1- = case happyOut46 happy_x_2 of { happy_var_2 -> - happyIn44- ((Character (), snd happy_var_2, fst happy_var_2)- )}--happyReduce_95 = happyMonadReduce 3# 39# happyReduction_95-happyReduction_95 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (Character (), happy_var_3, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_96 = happyMonadReduce 1# 39# happyReduction_96-happyReduction_96 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Character (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_97 = happyMonadReduce 2# 39# happyReduction_97-happyReduction_97 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ (Logical (), happy_var_2, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_98 = happyMonadReduce 3# 39# happyReduction_98-happyReduction_98 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (Logical (), happy_var_3, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_99 = happyMonadReduce 1# 39# happyReduction_99-happyReduction_99 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Logical (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn44 r))--happyReduce_100 = happyMonadReduce 4# 39# happyReduction_100-happyReduction_100 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut83 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ (DerivedType () happy_var_3, NullExpr () s, NullExpr () s)))}- ) (\r -> happyReturn (happyIn44 r))--happyReduce_101 = happyReduce 5# 40# happyReduction_101-happyReduction_101 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_4 of { happy_var_4 -> - happyIn45- (happy_var_4- ) `HappyStk` happyRest}--happyReduce_102 = happySpecReduce_3 40# happyReduction_102-happyReduction_102 happy_x_3- happy_x_2- happy_x_1- = case happyOut127 happy_x_2 of { happy_var_2 -> - happyIn45- (happy_var_2- )}--happyReduce_103 = happyMonadReduce 1# 41# happyReduction_103-happyReduction_103 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut47 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s -> return $ (happy_var_1,NullExpr () s)))}- ) (\r -> happyReturn (happyIn46 r))--happyReduce_104 = happyReduce 9# 41# happyReduction_104-happyReduction_104 (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 happyOut48 happy_x_4 of { happy_var_4 -> - case happyOut127 happy_x_8 of { happy_var_8 -> - happyIn46- ((happy_var_4,happy_var_8)- ) `HappyStk` happyRest}}--happyReduce_105 = happyReduce 7# 41# happyReduction_105-happyReduction_105 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut48 happy_x_2 of { happy_var_2 -> - case happyOut127 happy_x_6 of { happy_var_6 -> - happyIn46- ((happy_var_2,happy_var_6)- ) `HappyStk` happyRest}}--happyReduce_106 = happyMonadReduce 5# 41# happyReduction_106-happyReduction_106 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut48 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ (happy_var_2,NullExpr () s)))}- ) (\r -> happyReturn (happyIn46 r))--happyReduce_107 = happyReduce 9# 41# happyReduction_107-happyReduction_107 (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 happyOut127 happy_x_4 of { happy_var_4 -> - case happyOut48 happy_x_8 of { happy_var_8 -> - happyIn46- ((happy_var_8,happy_var_4)- ) `HappyStk` happyRest}}--happyReduce_108 = happyMonadReduce 5# 41# happyReduction_108-happyReduction_108 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_4 of { happy_var_4 -> - ( getSrcSpanNull >>= (\s -> return $ (NullExpr () s,happy_var_4)))}- ) (\r -> happyReturn (happyIn46 r))--happyReduce_109 = happyReduce 5# 42# happyReduction_109-happyReduction_109 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut48 happy_x_4 of { happy_var_4 -> - happyIn47- (happy_var_4- ) `HappyStk` happyRest}--happyReduce_110 = happySpecReduce_3 42# happyReduction_110-happyReduction_110 happy_x_3- happy_x_2- happy_x_1- = case happyOut48 happy_x_2 of { happy_var_2 -> - happyIn47- (happy_var_2- )}--happyReduce_111 = happySpecReduce_1 43# happyReduction_111-happyReduction_111 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - happyIn48- (happy_var_1- )}--happyReduce_112 = happyMonadReduce 2# 43# happyReduction_112-happyReduction_112 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Con () s "*"))}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_113 = happyMonadReduce 2# 44# happyReduction_113-happyReduction_113 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_2 of { happy_var_2 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Con () s happy_var_2))}}- ) (\r -> happyReturn (happyIn49 r))--happyReduce_114 = happyReduce 4# 45# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut63 happy_x_3 of { happy_var_3 -> - happyIn50- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_115 = happySpecReduce_3 45# happyReduction_115-happyReduction_115 happy_x_3- happy_x_2- happy_x_1- = happyIn50- ([]- )--happyReduce_116 = happySpecReduce_2 46# happyReduction_116-happyReduction_116 happy_x_2- happy_x_1- = case happyOut63 happy_x_2 of { happy_var_2 -> - happyIn51- (happy_var_2- )}--happyReduce_117 = happySpecReduce_1 47# happyReduction_117-happyReduction_117 happy_x_1- = happyIn52- (([],[Parameter ()])- )--happyReduce_118 = happySpecReduce_1 47# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn52- (([],[happy_var_1])- )}--happyReduce_119 = happySpecReduce_1 47# happyReduction_119-happyReduction_119 happy_x_1- = happyIn52- (([],[Allocatable ()])- )--happyReduce_120 = happySpecReduce_1 47# happyReduction_120-happyReduction_120 happy_x_1- = happyIn52- (([],[External ()])- )--happyReduce_121 = happyReduce 4# 47# happyReduction_121-happyReduction_121 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut68 happy_x_3 of { happy_var_3 -> - happyIn52- (([],[Intent () happy_var_3])- ) `HappyStk` happyRest}--happyReduce_122 = happySpecReduce_1 47# happyReduction_122-happyReduction_122 happy_x_1- = happyIn52- (([],[Intrinsic ()])- )--happyReduce_123 = happySpecReduce_1 47# happyReduction_123-happyReduction_123 happy_x_1- = happyIn52- (([],[Optional ()])- )--happyReduce_124 = happySpecReduce_1 47# happyReduction_124-happyReduction_124 happy_x_1- = happyIn52- (([],[Pointer ()])- )--happyReduce_125 = happySpecReduce_1 47# happyReduction_125-happyReduction_125 happy_x_1- = happyIn52- (([],[Save ()])- )--happyReduce_126 = happySpecReduce_1 47# happyReduction_126-happyReduction_126 happy_x_1- = happyIn52- (([],[Target ()])- )--happyReduce_127 = happyReduce 4# 47# happyReduction_127-happyReduction_127 (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 -> - happyIn52- (([],[MeasureUnit () happy_var_3])- ) `HappyStk` happyRest}--happyReduce_128 = happySpecReduce_1 47# happyReduction_128-happyReduction_128 happy_x_1- = happyIn52- (([],[Volatile ()])- )--happyReduce_129 = happySpecReduce_1 48# happyReduction_129-happyReduction_129 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn53- (([],[Dimension () happy_var_1])- )}--happyReduce_130 = happySpecReduce_1 48# happyReduction_130-happyReduction_130 happy_x_1- = happyIn53- (([],[Parameter ()])- )--happyReduce_131 = happySpecReduce_1 48# happyReduction_131-happyReduction_131 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn53- (([],[happy_var_1])- )}--happyReduce_132 = happySpecReduce_1 48# happyReduction_132-happyReduction_132 happy_x_1- = happyIn53- (([],[Allocatable ()])- )--happyReduce_133 = happySpecReduce_1 48# happyReduction_133-happyReduction_133 happy_x_1- = happyIn53- (([],[External ()])- )--happyReduce_134 = happyReduce 4# 48# happyReduction_134-happyReduction_134 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut68 happy_x_3 of { happy_var_3 -> - happyIn53- (([],[Intent () happy_var_3])- ) `HappyStk` happyRest}--happyReduce_135 = happySpecReduce_1 48# happyReduction_135-happyReduction_135 happy_x_1- = happyIn53- (([],[Intrinsic ()])- )--happyReduce_136 = happySpecReduce_1 48# happyReduction_136-happyReduction_136 happy_x_1- = happyIn53- (([],[Optional ()])- )--happyReduce_137 = happySpecReduce_1 48# happyReduction_137-happyReduction_137 happy_x_1- = happyIn53- (([],[Pointer ()])- )--happyReduce_138 = happySpecReduce_1 48# happyReduction_138-happyReduction_138 happy_x_1- = happyIn53- (([],[Save ()])- )--happyReduce_139 = happySpecReduce_1 48# happyReduction_139-happyReduction_139 happy_x_1- = happyIn53- (([],[Target ()])- )--happyReduce_140 = happyReduce 4# 48# happyReduction_140-happyReduction_140 (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 -> - happyIn53- (([],[MeasureUnit () happy_var_3])- ) `HappyStk` happyRest}--happyReduce_141 = happySpecReduce_1 48# happyReduction_141-happyReduction_141 happy_x_1- = happyIn53- (([],[Volatile ()])- )--happyReduce_142 = happySpecReduce_1 49# happyReduction_142-happyReduction_142 happy_x_1- = happyIn54- (Public ()- )--happyReduce_143 = happySpecReduce_1 49# happyReduction_143-happyReduction_143 happy_x_1- = happyIn54- (Private ()- )--happyReduce_144 = happyMonadReduce 3# 50# happyReduction_144-happyReduction_144 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut56 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ MeasureUnitDef () s happy_var_3))}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_145 = happySpecReduce_3 51# happyReduction_145-happyReduction_145 happy_x_3- happy_x_2- happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 -> - case happyOut56 happy_x_3 of { happy_var_3 -> - happyIn56- (happy_var_1:happy_var_3- )}}--happyReduce_146 = happySpecReduce_1 51# happyReduction_146-happyReduction_146 happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 -> - happyIn56- ([happy_var_1]- )}--happyReduce_147 = happyMonadReduce 4# 52# happyReduction_147-happyReduction_147 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (ID happy_var_2) -> - case happyOut58 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return (happy_var_2, happy_var_4)))}}}- ) (\r -> happyReturn (happyIn57 r))--happyReduce_148 = happySpecReduce_3 53# happyReduction_148-happyReduction_148 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut59 happy_x_3 of { happy_var_3 -> - happyIn58- (UnitQuotient () happy_var_1 happy_var_3- )}}--happyReduce_149 = happySpecReduce_1 53# happyReduction_149-happyReduction_149 happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - happyIn58- (UnitProduct () happy_var_1- )}--happyReduce_150 = happySpecReduce_0 53# happyReduction_150-happyReduction_150 = happyIn58- (UnitNone ()- )--happyReduce_151 = happySpecReduce_2 54# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut60 happy_x_2 of { happy_var_2 -> - happyIn59- (happy_var_1++happy_var_2- )}}--happyReduce_152 = happySpecReduce_1 54# happyReduction_152-happyReduction_152 happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - happyIn59- (happy_var_1- )}--happyReduce_153 = happySpecReduce_3 55# happyReduction_153-happyReduction_153 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn60- ([(happy_var_1, happy_var_3)]- )}}--happyReduce_154 = happySpecReduce_1 55# happyReduction_154-happyReduction_154 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn60- ([(happy_var_1, NullFraction ())]- )}--happyReduce_155 = happySpecReduce_1 55# happyReduction_155-happyReduction_155 happy_x_1- = happyIn60- ([]- )--happyReduce_156 = happyReduce 5# 56# happyReduction_156-happyReduction_156 (happy_x_5 `HappyStk`- 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 happyOut62 happy_x_4 of { happy_var_4 -> - happyIn61- (FractionConst () happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_157 = happySpecReduce_1 56# happyReduction_157-happyReduction_157 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn61- (IntegerConst () happy_var_1- )}--happyReduce_158 = happySpecReduce_3 56# happyReduction_158-happyReduction_158 happy_x_3- happy_x_2- happy_x_1- = case happyOut61 happy_x_2 of { happy_var_2 -> - happyIn61- (happy_var_2- )}--happyReduce_159 = happySpecReduce_2 57# happyReduction_159-happyReduction_159 happy_x_2- happy_x_1- = case happyOut242 happy_x_2 of { happy_var_2 -> - happyIn62- ("-" ++ happy_var_2- )}--happyReduce_160 = happySpecReduce_1 57# happyReduction_160-happyReduction_160 happy_x_1- = case happyOut242 happy_x_1 of { happy_var_1 -> - happyIn62- (happy_var_1- )}--happyReduce_161 = happySpecReduce_1 58# happyReduction_161-happyReduction_161 happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - happyIn63- (map expr2array_spec happy_var_1- )}--happyReduce_162 = happySpecReduce_3 59# happyReduction_162-happyReduction_162 happy_x_3- happy_x_2- happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut65 happy_x_3 of { happy_var_3 -> - happyIn64- (happy_var_1++[happy_var_3]- )}}--happyReduce_163 = happySpecReduce_1 59# happyReduction_163-happyReduction_163 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn64- ([happy_var_1]- )}--happyReduce_164 = happySpecReduce_1 60# happyReduction_164-happyReduction_164 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn65- (happy_var_1- )}--happyReduce_165 = happySpecReduce_1 60# happyReduction_165-happyReduction_165 happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 -> - happyIn65- (happy_var_1- )}--happyReduce_166 = happyMonadReduce 3# 61# happyReduction_166-happyReduction_166 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (StrConst happy_var_3) -> - ( getSrcSpan happy_var_2 >>= (\s -> return $ Include () (Con () s happy_var_3)))}}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_167 = happySpecReduce_1 62# happyReduction_167-happyReduction_167 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn67- (happy_var_1- )}--happyReduce_168 = happySpecReduce_1 63# happyReduction_168-happyReduction_168 happy_x_1- = happyIn68- (In ()- )--happyReduce_169 = happySpecReduce_1 63# happyReduction_169-happyReduction_169 happy_x_1- = happyIn68- (Out ()- )--happyReduce_170 = happySpecReduce_1 63# happyReduction_170-happyReduction_170 happy_x_1- = happyIn68- (InOut ()- )--happyReduce_171 = happySpecReduce_1 64# happyReduction_171-happyReduction_171 happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_172 = happySpecReduce_1 64# happyReduction_172-happyReduction_172 happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_173 = happySpecReduce_1 64# happyReduction_173-happyReduction_173 happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_174 = happySpecReduce_1 64# happyReduction_174-happyReduction_174 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_175 = happySpecReduce_1 64# happyReduction_175-happyReduction_175 happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 -> - happyIn69- (DataDecl () happy_var_1- )}--happyReduce_176 = happySpecReduce_1 64# happyReduction_176-happyReduction_176 happy_x_1- = case happyOut167 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_177 = happySpecReduce_1 64# happyReduction_177-happyReduction_177 happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_178 = happySpecReduce_1 64# happyReduction_178-happyReduction_178 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_179 = happySpecReduce_1 64# happyReduction_179-happyReduction_179 happy_x_1- = case happyOut70 happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_180 = happySpecReduce_1 65# happyReduction_180-happyReduction_180 happy_x_1- = happyIn70- (AccessStmt () (Save ()) []- )--happyReduce_181 = happyMonadReduce 6# 66# happyReduction_181-happyReduction_181 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_4 of { happy_var_4 -> - case happyOut10 happy_x_6 of { happy_var_6 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Common () s (Just happy_var_4) happy_var_6))}}}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_182 = happyMonadReduce 3# 66# happyReduction_182-happyReduction_182 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Common () s Nothing happy_var_3))}}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_183 = happyReduce 5# 67# happyReduction_183-happyReduction_183 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn72- (Interface () happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_184 = happySpecReduce_2 68# happyReduction_184-happyReduction_184 happy_x_2- happy_x_1- = case happyOut93 happy_x_2 of { happy_var_2 -> - happyIn73- (Just happy_var_2- )}--happyReduce_185 = happySpecReduce_1 68# happyReduction_185-happyReduction_185 happy_x_1- = happyIn73- (Nothing- )--happyReduce_186 = happySpecReduce_2 69# happyReduction_186-happyReduction_186 happy_x_2- happy_x_1- = case happyOut74 happy_x_1 of { happy_var_1 -> - case happyOut75 happy_x_2 of { happy_var_2 -> - happyIn74- (happy_var_1++[happy_var_2]- )}}--happyReduce_187 = happySpecReduce_1 69# happyReduction_187-happyReduction_187 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn74- ([happy_var_1]- )}--happyReduce_188 = happySpecReduce_1 70# happyReduction_188-happyReduction_188 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 -> - happyIn75- (happy_var_1- )}--happyReduce_189 = happySpecReduce_1 70# happyReduction_189-happyReduction_189 happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 -> - happyIn75- (happy_var_1- )}--happyReduce_190 = happySpecReduce_3 71# happyReduction_190-happyReduction_190 happy_x_3- happy_x_2- happy_x_1- = case happyOut93 happy_x_3 of { happy_var_3 -> - happyIn76- (Just happy_var_3- )}--happyReduce_191 = happySpecReduce_2 71# happyReduction_191-happyReduction_191 happy_x_2- happy_x_1- = happyIn76- (Nothing- )--happyReduce_192 = happyMonadReduce 5# 72# happyReduction_192-happyReduction_192 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut112 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut16 happy_x_3 of { happy_var_3 -> - case happyOut35 happy_x_4 of { happy_var_4 -> - case happyOut20 happy_x_5 of { happy_var_5 -> - ( do { name <- cmpNames (fst4 happy_var_1) happy_var_5 "interface declaration"; - return (FunctionInterface () name (snd4 happy_var_1) happy_var_2 happy_var_3 happy_var_4); })}}}}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_193 = happyMonadReduce 2# 72# happyReduction_193-happyReduction_193 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut112 happy_x_1 of { happy_var_1 -> - case happyOut20 happy_x_2 of { happy_var_2 -> - ( do { name <- cmpNames (fst4 happy_var_1) happy_var_2 "interface declaration"; - s <- getSrcSpanNull; - return (FunctionInterface () name (snd4 happy_var_1) (UseNil ()) (ImplicitNull ()) (NullDecl () s)); })}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_194 = happyMonadReduce 5# 72# happyReduction_194-happyReduction_194 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut16 happy_x_3 of { happy_var_3 -> - case happyOut35 happy_x_4 of { happy_var_4 -> - case happyOut19 happy_x_5 of { happy_var_5 -> - ( do { name <- cmpNames (fst3 happy_var_1) happy_var_5 "interface declaration"; - return (SubroutineInterface () name (snd3 happy_var_1) happy_var_2 happy_var_3 happy_var_4); })}}}}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_195 = happyMonadReduce 2# 72# happyReduction_195-happyReduction_195 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> - ( do { name <- cmpNames (fst3 happy_var_1) happy_var_2 "interface declaration"; - s <- getSrcSpanNull; - return (SubroutineInterface () name (snd3 happy_var_1) (UseNil ()) (ImplicitNull ()) (NullDecl () s)); })}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_196 = happySpecReduce_3 73# happyReduction_196-happyReduction_196 happy_x_3- happy_x_2- happy_x_1- = case happyOut79 happy_x_3 of { happy_var_3 -> - happyIn78- (ModuleProcedure () happy_var_3- )}--happyReduce_197 = happySpecReduce_3 74# happyReduction_197-happyReduction_197 happy_x_3- happy_x_2- happy_x_1- = case happyOut79 happy_x_1 of { happy_var_1 -> - case happyOut113 happy_x_3 of { happy_var_3 -> - happyIn79- (happy_var_1++[happy_var_3]- )}}--happyReduce_198 = happySpecReduce_1 74# happyReduction_198-happyReduction_198 happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 -> - happyIn79- ([happy_var_1]- )}--happyReduce_199 = happyMonadReduce 5# 75# happyReduction_199-happyReduction_199 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut81 happy_x_2 of { happy_var_2 -> - case happyOut84 happy_x_3 of { happy_var_3 -> - case happyOut85 happy_x_4 of { happy_var_4 -> - case happyOut82 happy_x_5 of { happy_var_5 -> - ( do { sp <- getSrcSpan happy_var_1; - name <- cmpNames (fst happy_var_2) happy_var_5 "derived type name"; - return (DerivedTypeDef () sp name (snd happy_var_2) happy_var_3 happy_var_4); })}}}}}- ) (\r -> happyReturn (happyIn80 r))--happyReduce_200 = happyReduce 5# 76# happyReduction_200-happyReduction_200 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut54 happy_x_3 of { happy_var_3 -> - case happyOut83 happy_x_5 of { happy_var_5 -> - happyIn81- ((happy_var_5,[happy_var_3])- ) `HappyStk` happyRest}}--happyReduce_201 = happySpecReduce_3 76# happyReduction_201-happyReduction_201 happy_x_3- happy_x_2- happy_x_1- = case happyOut83 happy_x_3 of { happy_var_3 -> - happyIn81- ((happy_var_3,[])- )}--happyReduce_202 = happySpecReduce_2 76# happyReduction_202-happyReduction_202 happy_x_2- happy_x_1- = case happyOut83 happy_x_2 of { happy_var_2 -> - happyIn81- ((happy_var_2,[])- )}--happyReduce_203 = happySpecReduce_2 77# happyReduction_203-happyReduction_203 happy_x_2- happy_x_1- = happyIn82- (""- )--happyReduce_204 = happySpecReduce_3 77# happyReduction_204-happyReduction_204 happy_x_3- happy_x_2- happy_x_1- = case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn82- (happy_var_3- )}--happyReduce_205 = happySpecReduce_1 78# happyReduction_205-happyReduction_205 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn83- (SubName () happy_var_1- )}--happyReduce_206 = happySpecReduce_2 79# happyReduction_206-happyReduction_206 happy_x_2- happy_x_1- = happyIn84- ([Private (), Sequence ()]- )--happyReduce_207 = happySpecReduce_2 79# happyReduction_207-happyReduction_207 happy_x_2- happy_x_1- = happyIn84- ([Sequence (), Private ()]- )--happyReduce_208 = happySpecReduce_1 79# happyReduction_208-happyReduction_208 happy_x_1- = happyIn84- ([Private ()]- )--happyReduce_209 = happySpecReduce_1 79# happyReduction_209-happyReduction_209 happy_x_1- = happyIn84- ([Sequence ()]- )--happyReduce_210 = happySpecReduce_0 79# happyReduction_210-happyReduction_210 = happyIn84- ([]- )--happyReduce_211 = happySpecReduce_2 80# happyReduction_211-happyReduction_211 happy_x_2- happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 -> - case happyOut86 happy_x_2 of { happy_var_2 -> - happyIn85- (happy_var_1++[happy_var_2]- )}}--happyReduce_212 = happySpecReduce_1 80# happyReduction_212-happyReduction_212 happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 -> - happyIn85- ([happy_var_1]- )}--happyReduce_213 = happyMonadReduce 5# 81# happyReduction_213-happyReduction_213 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut43 happy_x_2 of { happy_var_2 -> - case happyOut87 happy_x_3 of { happy_var_3 -> - case happyOut40 happy_x_5 of { happy_var_5 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ - if null (fst happy_var_3) - then Decl () s happy_var_5 ((BaseType () (fst3 happy_var_2) (snd happy_var_3) (snd3 happy_var_2) (trd3 happy_var_2))) - else Decl () s happy_var_5 ((ArrayT () (fst happy_var_3) (fst3 happy_var_2) (snd happy_var_3) (snd3 happy_var_2) (trd3 happy_var_2)))))}}}}- ) (\r -> happyReturn (happyIn86 r))--happyReduce_214 = happySpecReduce_3 82# happyReduction_214-happyReduction_214 happy_x_3- happy_x_2- happy_x_1- = case happyOut87 happy_x_1 of { happy_var_1 -> - case happyOut88 happy_x_3 of { happy_var_3 -> - happyIn87- ((fst happy_var_1++fst happy_var_3,snd happy_var_1++snd happy_var_3)- )}}--happyReduce_215 = happySpecReduce_0 82# happyReduction_215-happyReduction_215 = happyIn87- (([],[])- )--happyReduce_216 = happySpecReduce_1 83# happyReduction_216-happyReduction_216 happy_x_1- = happyIn88- (([],[Pointer ()])- )--happyReduce_217 = happySpecReduce_1 83# happyReduction_217-happyReduction_217 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn88- ((happy_var_1,[])- )}--happyReduce_218 = happyReduce 4# 84# happyReduction_218-happyReduction_218 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn89- (AttrStmt () (head $ snd happy_var_1) (happy_var_3 ++ (map (\(x, y) -> (x, y, Nothing)) (fst happy_var_1)))- ) `HappyStk` happyRest}}--happyReduce_219 = happySpecReduce_1 84# happyReduction_219-happyReduction_219 happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 -> - happyIn89- (AttrStmt () (head $ snd happy_var_1) ((map (\(x, y) -> (x, y, Nothing)) (fst happy_var_1)))- )}--happyReduce_220 = happySpecReduce_1 84# happyReduction_220-happyReduction_220 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn89- (AttrStmt () (Dimension () happy_var_1) []- )}--happyReduce_221 = happySpecReduce_3 85# happyReduction_221-happyReduction_221 happy_x_3- happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut91 happy_x_3 of { happy_var_3 -> - happyIn90- (AccessStmt () happy_var_1 happy_var_3- )}}--happyReduce_222 = happySpecReduce_2 85# happyReduction_222-happyReduction_222 happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut91 happy_x_2 of { happy_var_2 -> - happyIn90- (AccessStmt () happy_var_1 happy_var_2- )}}--happyReduce_223 = happySpecReduce_1 85# happyReduction_223-happyReduction_223 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn90- (AccessStmt () happy_var_1 []- )}--happyReduce_224 = happySpecReduce_3 86# happyReduction_224-happyReduction_224 happy_x_3- happy_x_2- happy_x_1- = case happyOut91 happy_x_1 of { happy_var_1 -> - case happyOut92 happy_x_3 of { happy_var_3 -> - happyIn91- (happy_var_1++[happy_var_3]- )}}--happyReduce_225 = happySpecReduce_1 86# happyReduction_225-happyReduction_225 happy_x_1- = case happyOut92 happy_x_1 of { happy_var_1 -> - happyIn91- ([happy_var_1]- )}--happyReduce_226 = happySpecReduce_1 87# happyReduction_226-happyReduction_226 happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 -> - happyIn92- (happy_var_1- )}--happyReduce_227 = happyMonadReduce 2# 88# happyReduction_227-happyReduction_227 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (ID happy_var_2) -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ GName () (Var () s [(VarName () happy_var_2,[])])))}}- ) (\r -> happyReturn (happyIn93 r))--happyReduce_228 = happyReduce 4# 88# happyReduction_228-happyReduction_228 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut106 happy_x_3 of { happy_var_3 -> - happyIn93- (GOper () happy_var_3- ) `HappyStk` happyRest}--happyReduce_229 = happyReduce 4# 88# happyReduction_229-happyReduction_229 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = happyIn93- (GAssg ()- ) `HappyStk` happyRest--happyReduce_230 = happySpecReduce_2 89# happyReduction_230-happyReduction_230 happy_x_2- happy_x_1- = case happyOut95 happy_x_2 of { happy_var_2 -> - happyIn94- (Data () happy_var_2- )}--happyReduce_231 = happySpecReduce_3 90# happyReduction_231-happyReduction_231 happy_x_3- happy_x_2- happy_x_1- = case happyOut95 happy_x_1 of { happy_var_1 -> - case happyOut96 happy_x_3 of { happy_var_3 -> - happyIn95- (happy_var_1++[happy_var_3]- )}}--happyReduce_232 = happySpecReduce_1 90# happyReduction_232-happyReduction_232 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 -> - happyIn95- ([happy_var_1]- )}--happyReduce_233 = happyReduce 4# 91# happyReduction_233-happyReduction_233 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut97 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn96- ((happy_var_1,happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_234 = happySpecReduce_3 92# happyReduction_234-happyReduction_234 happy_x_3- happy_x_2- happy_x_1- = case happyOut97 happy_x_1 of { happy_var_1 -> - case happyOut98 happy_x_3 of { happy_var_3 -> - happyIn97- (ESeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_235 = happySpecReduce_1 92# happyReduction_235-happyReduction_235 happy_x_1- = case happyOut98 happy_x_1 of { happy_var_1 -> - happyIn97- (happy_var_1- )}--happyReduce_236 = happySpecReduce_1 93# happyReduction_236-happyReduction_236 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn98- (happy_var_1- )}--happyReduce_237 = happySpecReduce_3 94# happyReduction_237-happyReduction_237 happy_x_3- happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut100 happy_x_3 of { happy_var_3 -> - happyIn99- (ESeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_238 = happySpecReduce_1 94# happyReduction_238-happyReduction_238 happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - happyIn99- (happy_var_1- )}--happyReduce_239 = happySpecReduce_1 95# happyReduction_239-happyReduction_239 happy_x_1- = case happyOut138 happy_x_1 of { happy_var_1 -> - happyIn100- (happy_var_1- )}--happyReduce_240 = happySpecReduce_3 96# happyReduction_240-happyReduction_240 happy_x_3- happy_x_2- happy_x_1- = case happyOut102 happy_x_3 of { happy_var_3 -> - happyIn101- (ExternalStmt () happy_var_3- )}--happyReduce_241 = happySpecReduce_2 96# happyReduction_241-happyReduction_241 happy_x_2- happy_x_1- = case happyOut102 happy_x_2 of { happy_var_2 -> - happyIn101- (ExternalStmt () happy_var_2- )}--happyReduce_242 = happySpecReduce_3 97# happyReduction_242-happyReduction_242 happy_x_3- happy_x_2- happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn102- (happy_var_1++[happy_var_3]- )}}--happyReduce_243 = happySpecReduce_1 97# happyReduction_243-happyReduction_243 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn102- ([happy_var_1]- )}--happyReduce_244 = happySpecReduce_1 98# happyReduction_244-happyReduction_244 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn103- (happy_var_1- )}--happyReduce_245 = happySpecReduce_1 98# happyReduction_245-happyReduction_245 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 -> - happyIn103- (happy_var_1- )}--happyReduce_246 = happySpecReduce_1 99# happyReduction_246-happyReduction_246 happy_x_1- = happyIn104- ("common"- )--happyReduce_247 = happySpecReduce_1 99# happyReduction_247-happyReduction_247 happy_x_1- = happyIn104- ("allocate "- )--happyReduce_248 = happySpecReduce_1 99# happyReduction_248-happyReduction_248 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn104- (happy_var_1- )}--happyReduce_249 = happySpecReduce_1 100# happyReduction_249-happyReduction_249 happy_x_1- = happyIn105- ("in"- )--happyReduce_250 = happySpecReduce_1 100# happyReduction_250-happyReduction_250 happy_x_1- = happyIn105- ("out"- )--happyReduce_251 = happySpecReduce_1 100# happyReduction_251-happyReduction_251 happy_x_1- = happyIn105- ("len"- )--happyReduce_252 = happySpecReduce_1 101# happyReduction_252-happyReduction_252 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn106- (happy_var_1- )}--happyReduce_253 = happySpecReduce_1 102# happyReduction_253-happyReduction_253 happy_x_1- = happyIn107- (Power ()- )--happyReduce_254 = happySpecReduce_1 102# happyReduction_254-happyReduction_254 happy_x_1- = happyIn107- (Mul ()- )--happyReduce_255 = happySpecReduce_1 102# happyReduction_255-happyReduction_255 happy_x_1- = happyIn107- (Plus ()- )--happyReduce_256 = happySpecReduce_1 102# happyReduction_256-happyReduction_256 happy_x_1- = happyIn107- (Concat ()- )--happyReduce_257 = happySpecReduce_1 102# happyReduction_257-happyReduction_257 happy_x_1- = case happyOut149 happy_x_1 of { happy_var_1 -> - happyIn107- (happy_var_1- )}--happyReduce_258 = happySpecReduce_1 102# happyReduction_258-happyReduction_258 happy_x_1- = happyIn107- (And ()- )--happyReduce_259 = happySpecReduce_1 102# happyReduction_259-happyReduction_259 happy_x_1- = happyIn107- (Or ()- )--happyReduce_260 = happySpecReduce_2 103# happyReduction_260-happyReduction_260 happy_x_2- happy_x_1- = case happyOut109 happy_x_2 of { happy_var_2 -> - happyIn108- (Namelist () happy_var_2- )}--happyReduce_261 = happyReduce 6# 104# happyReduction_261-happyReduction_261 (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 happyOut109 happy_x_1 of { happy_var_1 -> - case happyOut144 happy_x_4 of { happy_var_4 -> - case happyOut110 happy_x_6 of { happy_var_6 -> - happyIn109- (happy_var_1++[(happy_var_4,happy_var_6)]- ) `HappyStk` happyRest}}}--happyReduce_262 = happyReduce 4# 104# happyReduction_262-happyReduction_262 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut144 happy_x_2 of { happy_var_2 -> - case happyOut110 happy_x_4 of { happy_var_4 -> - happyIn109- ([(happy_var_2,happy_var_4)]- ) `HappyStk` happyRest}}--happyReduce_263 = happySpecReduce_3 105# happyReduction_263-happyReduction_263 happy_x_3- happy_x_2- happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - case happyOut144 happy_x_3 of { happy_var_3 -> - happyIn110- (happy_var_1++[happy_var_3]- )}}--happyReduce_264 = happySpecReduce_1 105# happyReduction_264-happyReduction_264 happy_x_1- = case happyOut144 happy_x_1 of { happy_var_1 -> - happyIn110- ([happy_var_1]- )}--happyReduce_265 = happyReduce 4# 106# happyReduction_265-happyReduction_265 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut113 happy_x_2 of { happy_var_2 -> - case happyOut115 happy_x_3 of { happy_var_3 -> - happyIn111- ((happy_var_2,happy_var_3,Nothing)- ) `HappyStk` happyRest}}--happyReduce_266 = happyMonadReduce 4# 106# happyReduction_266-happyReduction_266 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_2 of { happy_var_2 -> - case happyOut254 happy_x_3 of { happy_var_3 -> - ( (getSrcSpan happy_var_3) >>= (\s -> return $ (happy_var_2,Arg () (NullArg ()) s,Nothing)))}}- ) (\r -> happyReturn (happyIn111 r))--happyReduce_267 = happyReduce 5# 106# happyReduction_267-happyReduction_267 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut113 happy_x_3 of { happy_var_3 -> - case happyOut115 happy_x_4 of { happy_var_4 -> - happyIn111- ((happy_var_3,happy_var_4,Just (fst3 happy_var_1))- ) `HappyStk` happyRest}}}--happyReduce_268 = happyReduce 9# 107# happyReduction_268-happyReduction_268 (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 happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut113 happy_x_3 of { happy_var_3 -> - case happyOut115 happy_x_4 of { happy_var_4 -> - case happyOut103 happy_x_7 of { happy_var_7 -> - happyIn112- ((happy_var_3,happy_var_4,Just (fst3 happy_var_1),Just (VarName () happy_var_7))- ) `HappyStk` happyRest}}}}--happyReduce_269 = happyReduce 5# 107# happyReduction_269-happyReduction_269 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut113 happy_x_3 of { happy_var_3 -> - case happyOut115 happy_x_4 of { happy_var_4 -> - happyIn112- ((happy_var_3,happy_var_4,Just (fst3 happy_var_1),Nothing)- ) `HappyStk` happyRest}}}--happyReduce_270 = happyReduce 8# 107# happyReduction_270-happyReduction_270 (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 happyOut113 happy_x_2 of { happy_var_2 -> - case happyOut115 happy_x_3 of { happy_var_3 -> - case happyOut103 happy_x_6 of { happy_var_6 -> - happyIn112- ((happy_var_2,happy_var_3,Nothing,Just (VarName () happy_var_6))- ) `HappyStk` happyRest}}}--happyReduce_271 = happyReduce 4# 107# happyReduction_271-happyReduction_271 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut113 happy_x_2 of { happy_var_2 -> - case happyOut115 happy_x_3 of { happy_var_3 -> - happyIn112- ((happy_var_2,happy_var_3,Nothing,Nothing)- ) `HappyStk` happyRest}}--happyReduce_272 = happySpecReduce_1 108# happyReduction_272-happyReduction_272 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn113- (SubName () happy_var_1- )}--happyReduce_273 = happySpecReduce_1 108# happyReduction_273-happyReduction_273 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 -> - happyIn113- (SubName () happy_var_1- )}--happyReduce_274 = happySpecReduce_1 109# happyReduction_274-happyReduction_274 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn114- (happy_var_1- )}--happyReduce_275 = happyMonadReduce 1# 109# happyReduction_275-happyReduction_275 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Recursive (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn114 r))--happyReduce_276 = happyMonadReduce 1# 109# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Pure (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn114 r))--happyReduce_277 = happyMonadReduce 1# 109# happyReduction_277-happyReduction_277 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (Elemental (), NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn114 r))--happyReduce_278 = happyReduce 4# 110# happyReduction_278-happyReduction_278 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut116 happy_x_2 of { happy_var_2 -> - case happyOut254 happy_x_3 of { happy_var_3 -> - happyIn115- ((happy_var_2 (spanExtR (happy_var_3, happy_var_3) 1))- ) `HappyStk` happyRest}}--happyReduce_279 = happySpecReduce_1 111# happyReduction_279-happyReduction_279 happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 -> - happyIn116- (Arg () happy_var_1- )}--happyReduce_280 = happySpecReduce_0 111# happyReduction_280-happyReduction_280 = happyIn116- (Arg () (NullArg ())- )--happyReduce_281 = happySpecReduce_3 112# happyReduction_281-happyReduction_281 happy_x_3- happy_x_2- happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 -> - case happyOut118 happy_x_3 of { happy_var_3 -> - happyIn117- (ASeq () happy_var_1 happy_var_3- )}}--happyReduce_282 = happySpecReduce_1 112# happyReduction_282-happyReduction_282 happy_x_1- = case happyOut118 happy_x_1 of { happy_var_1 -> - happyIn117- (happy_var_1- )}--happyReduce_283 = happySpecReduce_1 113# happyReduction_283-happyReduction_283 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn118- (ArgName () happy_var_1- )}--happyReduce_284 = happySpecReduce_1 113# happyReduction_284-happyReduction_284 happy_x_1- = happyIn118- (ArgName () "*"- )--happyReduce_285 = happySpecReduce_3 114# happyReduction_285-happyReduction_285 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - happyIn119- (Assg () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_286 = happyMonadReduce 7# 114# happyReduction_286-happyReduction_286 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (ID happy_var_2) -> - case happyOut125 happy_x_4 of { happy_var_4 -> - case happyOut127 happy_x_7 of { happy_var_7 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Assg () s (Var () s [(VarName () happy_var_2, happy_var_4)]) happy_var_7))}}}}- ) (\r -> happyReturn (happyIn119 r))--happyReduce_287 = happyMonadReduce 2# 115# happyReduction_287-happyReduction_287 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_2 of { happy_var_2 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ Var () s happy_var_2))}}- ) (\r -> happyReturn (happyIn120 r))--happyReduce_288 = happySpecReduce_3 116# happyReduction_288-happyReduction_288 happy_x_3- happy_x_2- happy_x_1- = case happyOut121 happy_x_1 of { happy_var_1 -> - case happyOut122 happy_x_3 of { happy_var_3 -> - happyIn121- (happy_var_1++[happy_var_3]- )}}--happyReduce_289 = happySpecReduce_1 116# happyReduction_289-happyReduction_289 happy_x_1- = case happyOut122 happy_x_1 of { happy_var_1 -> - happyIn121- ([happy_var_1]- )}--happyReduce_290 = happyReduce 4# 117# happyReduction_290-happyReduction_290 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - case happyOut125 happy_x_3 of { happy_var_3 -> - happyIn122- ((VarName () happy_var_1, happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_291 = happyMonadReduce 3# 117# happyReduction_291-happyReduction_291 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (ID happy_var_1) -> - ( getSrcSpanNull >>= (\s -> return $ (VarName () happy_var_1, [NullExpr () s])))}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_292 = happySpecReduce_1 117# happyReduction_292-happyReduction_292 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn122- ((VarName () happy_var_1, [])- )}--happyReduce_293 = happyMonadReduce 1# 117# happyReduction_293-happyReduction_293 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut105 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s -> return $ (VarName () happy_var_1, [NullExpr () s])))}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_294 = happySpecReduce_1 118# happyReduction_294-happyReduction_294 happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - happyIn123- (happy_var_1- )}--happyReduce_295 = happySpecReduce_1 118# happyReduction_295-happyReduction_295 happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 -> - happyIn123- (happy_var_1- )}--happyReduce_296 = happySpecReduce_3 119# happyReduction_296-happyReduction_296 happy_x_3- happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - happyIn124- (Bound () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_297 = happyMonadReduce 1# 119# happyReduction_297-happyReduction_297 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ Bound () s (NullExpr () s) (NullExpr () s)))- ) (\r -> happyReturn (happyIn124 r))--happyReduce_298 = happyMonadReduce 2# 119# happyReduction_298-happyReduction_298 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s' -> return $ Bound () (spanTrans' happy_var_1 s') happy_var_1 (NullExpr () s')))}- ) (\r -> happyReturn (happyIn124 r))--happyReduce_299 = happyMonadReduce 3# 119# happyReduction_299-happyReduction_299 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( (getSrcSpan happy_var_1) >>= (\s@(_, l) -> return $ Bound () s (NullExpr () (l, l)) happy_var_3))}}- ) (\r -> happyReturn (happyIn124 r))--happyReduce_300 = happySpecReduce_3 120# happyReduction_300-happyReduction_300 happy_x_3- happy_x_2- happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - case happyOut126 happy_x_3 of { happy_var_3 -> - happyIn125- (happy_var_1++[happy_var_3]- )}}--happyReduce_301 = happySpecReduce_1 120# happyReduction_301-happyReduction_301 happy_x_1- = case happyOut126 happy_x_1 of { happy_var_1 -> - happyIn125- ([happy_var_1]- )}--happyReduce_302 = happySpecReduce_1 121# happyReduction_302-happyReduction_302 happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 -> - happyIn126- (happy_var_1- )}--happyReduce_303 = happyMonadReduce 4# 121# happyReduction_303-happyReduction_303 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (ID happy_var_2) -> - case happyOut127 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ AssgExpr () s happy_var_2 happy_var_4))}}}- ) (\r -> happyReturn (happyIn126 r))--happyReduce_304 = happySpecReduce_1 122# happyReduction_304-happyReduction_304 happy_x_1- = case happyOut128 happy_x_1 of { happy_var_1 -> - happyIn127- (happy_var_1- )}--happyReduce_305 = happySpecReduce_1 123# happyReduction_305-happyReduction_305 happy_x_1- = case happyOut129 happy_x_1 of { happy_var_1 -> - happyIn128- (happy_var_1- )}--happyReduce_306 = happySpecReduce_3 124# happyReduction_306-happyReduction_306 happy_x_3- happy_x_2- happy_x_1- = case happyOut129 happy_x_1 of { happy_var_1 -> - case happyOut130 happy_x_3 of { happy_var_3 -> - happyIn129- (Bin () (spanTrans happy_var_1 happy_var_3) (Or ()) happy_var_1 happy_var_3- )}}--happyReduce_307 = happySpecReduce_1 124# happyReduction_307-happyReduction_307 happy_x_1- = case happyOut130 happy_x_1 of { happy_var_1 -> - happyIn129- (happy_var_1- )}--happyReduce_308 = happySpecReduce_3 125# happyReduction_308-happyReduction_308 happy_x_3- happy_x_2- happy_x_1- = case happyOut130 happy_x_1 of { happy_var_1 -> - case happyOut131 happy_x_3 of { happy_var_3 -> - happyIn130- (Bin () (spanTrans happy_var_1 happy_var_3) (And ()) happy_var_1 happy_var_3- )}}--happyReduce_309 = happySpecReduce_1 125# happyReduction_309-happyReduction_309 happy_x_1- = case happyOut131 happy_x_1 of { happy_var_1 -> - happyIn130- (happy_var_1- )}--happyReduce_310 = happySpecReduce_1 126# happyReduction_310-happyReduction_310 happy_x_1- = case happyOut132 happy_x_1 of { happy_var_1 -> - happyIn131- (happy_var_1- )}--happyReduce_311 = happySpecReduce_3 127# happyReduction_311-happyReduction_311 happy_x_3- happy_x_2- happy_x_1- = case happyOut132 happy_x_1 of { happy_var_1 -> - case happyOut149 happy_x_2 of { happy_var_2 -> - case happyOut133 happy_x_3 of { happy_var_3 -> - happyIn132- (Bin () (spanTrans happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3- )}}}--happyReduce_312 = happySpecReduce_1 127# happyReduction_312-happyReduction_312 happy_x_1- = case happyOut133 happy_x_1 of { happy_var_1 -> - happyIn132- (happy_var_1- )}--happyReduce_313 = happySpecReduce_3 128# happyReduction_313-happyReduction_313 happy_x_3- happy_x_2- happy_x_1- = case happyOut133 happy_x_1 of { happy_var_1 -> - case happyOut134 happy_x_3 of { happy_var_3 -> - happyIn133- (Bin () (spanTrans happy_var_1 happy_var_3) (Concat ()) happy_var_1 happy_var_3- )}}--happyReduce_314 = happySpecReduce_1 128# happyReduction_314-happyReduction_314 happy_x_1- = case happyOut134 happy_x_1 of { happy_var_1 -> - happyIn133- (happy_var_1- )}--happyReduce_315 = happySpecReduce_3 129# happyReduction_315-happyReduction_315 happy_x_3- happy_x_2- happy_x_1- = case happyOut134 happy_x_1 of { happy_var_1 -> - case happyOut135 happy_x_3 of { happy_var_3 -> - happyIn134- (Bin () (spanTrans happy_var_1 happy_var_3) (Plus ()) happy_var_1 happy_var_3- )}}--happyReduce_316 = happySpecReduce_3 129# happyReduction_316-happyReduction_316 happy_x_3- happy_x_2- happy_x_1- = case happyOut134 happy_x_1 of { happy_var_1 -> - case happyOut135 happy_x_3 of { happy_var_3 -> - happyIn134- (Bin () (spanTrans happy_var_1 happy_var_3) (Minus ()) happy_var_1 happy_var_3- )}}--happyReduce_317 = happySpecReduce_1 129# happyReduction_317-happyReduction_317 happy_x_1- = case happyOut135 happy_x_1 of { happy_var_1 -> - happyIn134- (happy_var_1- )}--happyReduce_318 = happySpecReduce_3 130# happyReduction_318-happyReduction_318 happy_x_3- happy_x_2- happy_x_1- = case happyOut135 happy_x_1 of { happy_var_1 -> - case happyOut136 happy_x_3 of { happy_var_3 -> - happyIn135- (Bin () (spanTrans happy_var_1 happy_var_3) (Mul ()) happy_var_1 happy_var_3- )}}--happyReduce_319 = happySpecReduce_3 130# happyReduction_319-happyReduction_319 happy_x_3- happy_x_2- happy_x_1- = case happyOut135 happy_x_1 of { happy_var_1 -> - case happyOut136 happy_x_3 of { happy_var_3 -> - happyIn135- (Bin () (spanTrans happy_var_1 happy_var_3) (Div ()) happy_var_1 happy_var_3- )}}--happyReduce_320 = happySpecReduce_1 130# happyReduction_320-happyReduction_320 happy_x_1- = case happyOut136 happy_x_1 of { happy_var_1 -> - happyIn135- (happy_var_1- )}--happyReduce_321 = happySpecReduce_3 131# happyReduction_321-happyReduction_321 happy_x_3- happy_x_2- happy_x_1- = case happyOut137 happy_x_1 of { happy_var_1 -> - case happyOut136 happy_x_3 of { happy_var_3 -> - happyIn136- (Bin () (spanTrans happy_var_1 happy_var_3) (Power ()) happy_var_1 happy_var_3- )}}--happyReduce_322 = happySpecReduce_1 131# happyReduction_322-happyReduction_322 happy_x_1- = case happyOut137 happy_x_1 of { happy_var_1 -> - happyIn136- (happy_var_1- )}--happyReduce_323 = happyMonadReduce 3# 132# happyReduction_323-happyReduction_323 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut139 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Unary () s (UMinus ()) happy_var_3))}}- ) (\r -> happyReturn (happyIn137 r))--happyReduce_324 = happyMonadReduce 3# 132# happyReduction_324-happyReduction_324 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut139 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Unary () s (Not ()) happy_var_3))}}- ) (\r -> happyReturn (happyIn137 r))--happyReduce_325 = happySpecReduce_1 132# happyReduction_325-happyReduction_325 happy_x_1- = case happyOut139 happy_x_1 of { happy_var_1 -> - happyIn137- (happy_var_1- )}--happyReduce_326 = happyMonadReduce 4# 133# happyReduction_326-happyReduction_326 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_2 of { happy_var_2 -> - case happyOut139 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Bin () s (Mul ()) (Con () s happy_var_2) happy_var_4))}}}- ) (\r -> happyReturn (happyIn138 r))--happyReduce_327 = happyMonadReduce 3# 133# happyReduction_327-happyReduction_327 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut139 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Unary () s (UMinus ()) happy_var_3))}}- ) (\r -> happyReturn (happyIn138 r))--happyReduce_328 = happySpecReduce_1 133# happyReduction_328-happyReduction_328 happy_x_1- = case happyOut139 happy_x_1 of { happy_var_1 -> - happyIn138- (happy_var_1- )}--happyReduce_329 = happySpecReduce_1 134# happyReduction_329-happyReduction_329 happy_x_1- = case happyOut146 happy_x_1 of { happy_var_1 -> - happyIn139- (happy_var_1- )}--happyReduce_330 = happySpecReduce_1 134# happyReduction_330-happyReduction_330 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn139- (happy_var_1- )}--happyReduce_331 = happyMonadReduce 5# 134# happyReduction_331-happyReduction_331 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut140 happy_x_2 of { happy_var_2 -> - case happyOut127 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Var () s [(VarName () happy_var_2, [happy_var_4])]))}}}- ) (\r -> happyReturn (happyIn139 r))--happyReduce_332 = happySpecReduce_1 134# happyReduction_332-happyReduction_332 happy_x_1- = case happyOut142 happy_x_1 of { happy_var_1 -> - happyIn139- (happy_var_1- )}--happyReduce_333 = happySpecReduce_3 134# happyReduction_333-happyReduction_333 happy_x_3- happy_x_2- happy_x_1- = case happyOut127 happy_x_2 of { happy_var_2 -> - happyIn139- (happy_var_2- )}--happyReduce_334 = happyMonadReduce 5# 134# happyReduction_334-happyReduction_334 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Sqrt () s happy_var_4))}}- ) (\r -> happyReturn (happyIn139 r))--happyReduce_335 = happySpecReduce_1 135# happyReduction_335-happyReduction_335 happy_x_1- = happyIn140- ("REAL"- )--happyReduce_336 = happySpecReduce_1 135# happyReduction_336-happyReduction_336 happy_x_1- = happyIn140- ("INTEGER"- )--happyReduce_337 = happySpecReduce_1 135# happyReduction_337-happyReduction_337 happy_x_1- = happyIn140- ("LOGICAL"- )--happyReduce_338 = happySpecReduce_1 135# happyReduction_338-happyReduction_338 happy_x_1- = happyIn140- ("CHARACTER"- )--happyReduce_339 = happySpecReduce_1 135# happyReduction_339-happyReduction_339 happy_x_1- = happyIn140- ("DOUBLE PRECISION"- )--happyReduce_340 = happySpecReduce_3 136# happyReduction_340-happyReduction_340 happy_x_3- happy_x_2- happy_x_1- = case happyOut141 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn141- (happy_var_1++[happy_var_3]- )}}--happyReduce_341 = happySpecReduce_1 136# happyReduction_341-happyReduction_341 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn141- ([happy_var_1]- )}--happyReduce_342 = happyMonadReduce 4# 137# happyReduction_342-happyReduction_342 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut143 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ ArrayCon () s happy_var_3))}}- ) (\r -> happyReturn (happyIn142 r))--happyReduce_343 = happySpecReduce_3 138# happyReduction_343-happyReduction_343 happy_x_3- happy_x_2- happy_x_1- = case happyOut143 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - happyIn143- (happy_var_1++[happy_var_3]- )}}--happyReduce_344 = happySpecReduce_1 138# happyReduction_344-happyReduction_344 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn143- ([happy_var_1]- )}--happyReduce_345 = happySpecReduce_1 139# happyReduction_345-happyReduction_345 happy_x_1- = case happyOut145 happy_x_1 of { happy_var_1 -> - happyIn144- (happy_var_1- )}--happyReduce_346 = happyMonadReduce 2# 140# happyReduction_346-happyReduction_346 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (ID happy_var_2) -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Var () s [(VarName () happy_var_2,[])]))}}- ) (\r -> happyReturn (happyIn145 r))--happyReduce_347 = happySpecReduce_1 141# happyReduction_347-happyReduction_347 happy_x_1- = case happyOut147 happy_x_1 of { happy_var_1 -> - happyIn146- (happy_var_1- )}--happyReduce_348 = happyMonadReduce 2# 142# happyReduction_348-happyReduction_348 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_2 of { happy_var_2 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ Con () s happy_var_2))}}- ) (\r -> happyReturn (happyIn147 r))--happyReduce_349 = happyMonadReduce 2# 142# happyReduction_349-happyReduction_349 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (LitConst 'z' happy_var_2) -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ ConL () s 'z' happy_var_2))}}- ) (\r -> happyReturn (happyIn147 r))--happyReduce_350 = happyMonadReduce 2# 142# happyReduction_350-happyReduction_350 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (StrConst happy_var_2) -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ ConS () s happy_var_2))}}- ) (\r -> happyReturn (happyIn147 r))--happyReduce_351 = happySpecReduce_1 142# happyReduction_351-happyReduction_351 happy_x_1- = case happyOut148 happy_x_1 of { happy_var_1 -> - happyIn147- (happy_var_1- )}--happyReduce_352 = happyMonadReduce 2# 143# happyReduction_352-happyReduction_352 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ Con () s ".TRUE."))}- ) (\r -> happyReturn (happyIn148 r))--happyReduce_353 = happyMonadReduce 2# 143# happyReduction_353-happyReduction_353 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ Con () s ".FALSE."))}- ) (\r -> happyReturn (happyIn148 r))--happyReduce_354 = happySpecReduce_1 144# happyReduction_354-happyReduction_354 happy_x_1- = happyIn149- (RelEQ ()- )--happyReduce_355 = happySpecReduce_1 144# happyReduction_355-happyReduction_355 happy_x_1- = happyIn149- (RelNE ()- )--happyReduce_356 = happySpecReduce_1 144# happyReduction_356-happyReduction_356 happy_x_1- = happyIn149- (RelLT ()- )--happyReduce_357 = happySpecReduce_1 144# happyReduction_357-happyReduction_357 happy_x_1- = happyIn149- (RelLE ()- )--happyReduce_358 = happySpecReduce_1 144# happyReduction_358-happyReduction_358 happy_x_1- = happyIn149- (RelGT ()- )--happyReduce_359 = happySpecReduce_1 144# happyReduction_359-happyReduction_359 happy_x_1- = happyIn149- (RelGE ()- )--happyReduce_360 = happySpecReduce_1 145# happyReduction_360-happyReduction_360 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn150- (happy_var_1- )}--happyReduce_361 = happySpecReduce_1 146# happyReduction_361-happyReduction_361 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn151- (VarName () happy_var_1- )}--happyReduce_362 = happySpecReduce_1 147# happyReduction_362-happyReduction_362 happy_x_1- = case happyOut153 happy_x_1 of { happy_var_1 -> - happyIn152- (happy_var_1- )}--happyReduce_363 = happyMonadReduce 4# 148# happyReduction_363-happyReduction_363 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut154 happy_x_2 of { happy_var_2 -> - case happyOut157 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ For () s (fst4 happy_var_2) (snd4 happy_var_2) (trd4 happy_var_2) (frh4 happy_var_2) happy_var_4))}}}- ) (\r -> happyReturn (happyIn153 r))--happyReduce_364 = happyMonadReduce 8# 148# happyReduction_364-happyReduction_364 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut182 happy_x_5 of { happy_var_5 -> - case happyOut157 happy_x_8 of { happy_var_8 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ DoWhile () s happy_var_5 happy_var_8))}}}- ) (\r -> happyReturn (happyIn153 r))--happyReduce_365 = happyMonadReduce 7# 148# happyReduction_365-happyReduction_365 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_3 of { happy_var_3 -> - case happyOut155 happy_x_5 of { happy_var_5 -> - case happyOut158 happy_x_7 of { happy_var_7 -> - ( do { (fs, n) <- return $ happy_var_7; - s <- getSrcSpan happy_var_1; - if (n == happy_var_3) then - return $ For () s (fst4 happy_var_5) (snd4 happy_var_5) (trd4 happy_var_5) (frh4 happy_var_5) fs - else parseError "DO/END DO labels don't match" - })}}}}- ) (\r -> happyReturn (happyIn153 r))--happyReduce_366 = happyMonadReduce 6# 148# happyReduction_366-happyReduction_366 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_3 of { happy_var_3 -> - case happyOut155 happy_x_4 of { happy_var_4 -> - case happyOut158 happy_x_6 of { happy_var_6 -> - ( do { (fs, n) <- return $ happy_var_6; - s <- getSrcSpan happy_var_1; - if (n == happy_var_3) then - return $ For () s (fst4 happy_var_4) (snd4 happy_var_4) (trd4 happy_var_4) (frh4 happy_var_4) fs - else parseError "DO/END DO labels don't match" - })}}}}- ) (\r -> happyReturn (happyIn153 r))--happyReduce_367 = happyMonadReduce 6# 148# happyReduction_367-happyReduction_367 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_3 of { happy_var_3 -> - case happyOut155 happy_x_4 of { happy_var_4 -> - case happyOut159 happy_x_6 of { happy_var_6 -> - ( do { (fs, n) <- return $ happy_var_6; - s <- getSrcSpan happy_var_1; - if (n == happy_var_3) then - return $ For () s (fst4 happy_var_4) (snd4 happy_var_4) (trd4 happy_var_4) (frh4 happy_var_4) fs - else return $ NullStmt () s -- parseError $ "DO/CONTINUE labels don't match" -- NEEDS FIXING! - })}}}}- ) (\r -> happyReturn (happyIn153 r))--happyReduce_368 = happySpecReduce_2 149# happyReduction_368-happyReduction_368 happy_x_2- happy_x_1- = case happyOut155 happy_x_2 of { happy_var_2 -> - happyIn154- (happy_var_2- )}--happyReduce_369 = happyMonadReduce 1# 149# happyReduction_369-happyReduction_369 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ (VarName () "", NullExpr () s, NullExpr () s, NullExpr () s)))- ) (\r -> happyReturn (happyIn154 r))--happyReduce_370 = happyReduce 6# 150# happyReduction_370-happyReduction_370 (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 happyOut151 happy_x_1 of { happy_var_1 -> - case happyOut150 happy_x_3 of { happy_var_3 -> - case happyOut150 happy_x_5 of { happy_var_5 -> - case happyOut156 happy_x_6 of { happy_var_6 -> - happyIn155- ((happy_var_1,happy_var_3,happy_var_5,happy_var_6)- ) `HappyStk` happyRest}}}}--happyReduce_371 = happySpecReduce_2 151# happyReduction_371-happyReduction_371 happy_x_2- happy_x_1- = case happyOut150 happy_x_2 of { happy_var_2 -> - happyIn156- (happy_var_2- )}--happyReduce_372 = happyMonadReduce 0# 151# happyReduction_372-happyReduction_372 (happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ Con () s "1"))- ) (\r -> happyReturn (happyIn156 r))--happyReduce_373 = happySpecReduce_3 152# happyReduction_373-happyReduction_373 happy_x_3- happy_x_2- happy_x_1- = case happyOut160 happy_x_1 of { happy_var_1 -> - case happyOut157 happy_x_3 of { happy_var_3 -> - happyIn157- (FSeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_374 = happyMonadReduce 2# 152# happyReduction_374-happyReduction_374 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ NullStmt () s))- ) (\r -> happyReturn (happyIn157 r))--happyReduce_375 = happyMonadReduce 1# 152# happyReduction_375-happyReduction_375 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ NullStmt () s))- ) (\r -> happyReturn (happyIn157 r))--happyReduce_376 = happySpecReduce_3 153# happyReduction_376-happyReduction_376 happy_x_3- happy_x_2- happy_x_1- = case happyOut160 happy_x_1 of { happy_var_1 -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn158- (let (fs, n) = happy_var_3 in (FSeq () (spanTrans happy_var_1 fs) happy_var_1 fs, n)- )}}--happyReduce_377 = happyMonadReduce 2# 153# happyReduction_377-happyReduction_377 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut242 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s -> return $ (NullStmt () s, happy_var_1)))}- ) (\r -> happyReturn (happyIn158 r))--happyReduce_378 = happyMonadReduce 2# 154# happyReduction_378-happyReduction_378 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut242 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s -> return $ (NullStmt () s, happy_var_1)))}- ) (\r -> happyReturn (happyIn159 r))--happyReduce_379 = happySpecReduce_3 154# happyReduction_379-happyReduction_379 happy_x_3- happy_x_2- happy_x_1- = case happyOut160 happy_x_1 of { happy_var_1 -> - case happyOut159 happy_x_3 of { happy_var_3 -> - happyIn159- (let (fs, n) = happy_var_3 in (FSeq () (spanTrans happy_var_1 fs) happy_var_1 fs, n)- )}}--happyReduce_380 = happyMonadReduce 2# 155# happyReduction_380-happyReduction_380 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut242 happy_x_1 of { happy_var_1 -> - case happyOut166 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return $ Label () s happy_var_1 happy_var_2 ))}}- ) (\r -> happyReturn (happyIn160 r))--happyReduce_381 = happySpecReduce_1 155# happyReduction_381-happyReduction_381 happy_x_1- = case happyOut166 happy_x_1 of { happy_var_1 -> - happyIn160- (happy_var_1- )}--happyReduce_382 = happySpecReduce_2 156# happyReduction_382-happyReduction_382 happy_x_2- happy_x_1- = happyIn161- (- )--happyReduce_383 = happySpecReduce_1 156# happyReduction_383-happyReduction_383 happy_x_1- = happyIn161- (- )--happyReduce_384 = happySpecReduce_1 157# happyReduction_384-happyReduction_384 happy_x_1- = case happyOut164 happy_x_1 of { happy_var_1 -> - happyIn162- (happy_var_1- )}--happyReduce_385 = happySpecReduce_1 158# happyReduction_385-happyReduction_385 happy_x_1- = case happyOut164 happy_x_1 of { happy_var_1 -> - happyIn163- (happy_var_1- )}--happyReduce_386 = happySpecReduce_3 159# happyReduction_386-happyReduction_386 happy_x_3- happy_x_2- happy_x_1- = case happyOut165 happy_x_1 of { happy_var_1 -> - case happyOut164 happy_x_3 of { happy_var_3 -> - happyIn164- (FSeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_387 = happySpecReduce_3 159# happyReduction_387-happyReduction_387 happy_x_3- happy_x_2- happy_x_1- = case happyOut165 happy_x_1 of { happy_var_1 -> - case happyOut164 happy_x_3 of { happy_var_3 -> - happyIn164- (FSeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_388 = happySpecReduce_2 159# happyReduction_388-happyReduction_388 happy_x_2- happy_x_1- = case happyOut165 happy_x_1 of { happy_var_1 -> - happyIn164- (happy_var_1- )}--happyReduce_389 = happySpecReduce_2 159# happyReduction_389-happyReduction_389 happy_x_2- happy_x_1- = case happyOut165 happy_x_1 of { happy_var_1 -> - happyIn164- (happy_var_1- )}--happyReduce_390 = happyMonadReduce 2# 160# happyReduction_390-happyReduction_390 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut242 happy_x_1 of { happy_var_1 -> - case happyOut166 happy_x_2 of { happy_var_2 -> - ( (getSrcSpanNull) >>= (\s -> return $ Label () s happy_var_1 happy_var_2))}}- ) (\r -> happyReturn (happyIn165 r))--happyReduce_391 = happySpecReduce_1 160# happyReduction_391-happyReduction_391 happy_x_1- = case happyOut166 happy_x_1 of { happy_var_1 -> - happyIn165- (happy_var_1- )}--happyReduce_392 = happySpecReduce_1 161# happyReduction_392-happyReduction_392 happy_x_1- = case happyOut152 happy_x_1 of { happy_var_1 -> - happyIn166- (happy_var_1- )}--happyReduce_393 = happySpecReduce_1 161# happyReduction_393-happyReduction_393 happy_x_1- = case happyOut180 happy_x_1 of { happy_var_1 -> - happyIn166- (happy_var_1- )}--happyReduce_394 = happySpecReduce_1 161# happyReduction_394-happyReduction_394 happy_x_1- = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn166- (happy_var_1- )}--happyReduce_395 = happyMonadReduce 5# 162# happyReduction_395-happyReduction_395 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Equivalence () s happy_var_4))}}- ) (\r -> happyReturn (happyIn167 r))--happyReduce_396 = happySpecReduce_1 163# happyReduction_396-happyReduction_396 happy_x_1- = case happyOut183 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_397 = happySpecReduce_1 163# happyReduction_397-happyReduction_397 happy_x_1- = case happyOut119 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_398 = happySpecReduce_1 163# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut193 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_399 = happySpecReduce_1 163# happyReduction_399-happyReduction_399 happy_x_1- = case happyOut171 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_400 = happySpecReduce_1 163# happyReduction_400-happyReduction_400 happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_401 = happySpecReduce_1 163# happyReduction_401-happyReduction_401 happy_x_1- = case happyOut199 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_402 = happySpecReduce_1 163# happyReduction_402-happyReduction_402 happy_x_1- = case happyOut200 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_403 = happyMonadReduce 2# 163# happyReduction_403-happyReduction_403 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut94 happy_x_2 of { happy_var_2 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ DataStmt () s happy_var_2))}}- ) (\r -> happyReturn (happyIn168 r))--happyReduce_404 = happySpecReduce_1 163# happyReduction_404-happyReduction_404 happy_x_1- = case happyOut201 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_405 = happySpecReduce_1 163# happyReduction_405-happyReduction_405 happy_x_1- = case happyOut202 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_406 = happySpecReduce_1 163# happyReduction_406-happyReduction_406 happy_x_1- = case happyOut203 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_407 = happySpecReduce_1 163# happyReduction_407-happyReduction_407 happy_x_1- = case happyOut170 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_408 = happySpecReduce_1 163# happyReduction_408-happyReduction_408 happy_x_1- = case happyOut204 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_409 = happySpecReduce_1 163# happyReduction_409-happyReduction_409 happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_410 = happySpecReduce_1 163# happyReduction_410-happyReduction_410 happy_x_1- = case happyOut212 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_411 = happySpecReduce_1 163# happyReduction_411-happyReduction_411 happy_x_1- = case happyOut213 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_412 = happySpecReduce_1 163# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut216 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_413 = happySpecReduce_1 163# happyReduction_413-happyReduction_413 happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_414 = happySpecReduce_1 163# happyReduction_414-happyReduction_414 happy_x_1- = case happyOut226 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_415 = happySpecReduce_1 163# happyReduction_415-happyReduction_415 happy_x_1- = case happyOut228 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_416 = happySpecReduce_1 163# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut232 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_417 = happySpecReduce_1 163# happyReduction_417-happyReduction_417 happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_418 = happySpecReduce_1 163# happyReduction_418-happyReduction_418 happy_x_1- = case happyOut169 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_419 = happySpecReduce_1 163# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_420 = happySpecReduce_1 163# happyReduction_420-happyReduction_420 happy_x_1- = case happyOut248 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_421 = happySpecReduce_1 163# happyReduction_421-happyReduction_421 happy_x_1- = case happyOut250 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_422 = happySpecReduce_1 163# happyReduction_422-happyReduction_422 happy_x_1- = case happyOut253 happy_x_1 of { happy_var_1 -> - happyIn168- (happy_var_1- )}--happyReduce_423 = happyMonadReduce 2# 163# happyReduction_423-happyReduction_423 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Text happy_var_2) -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ TextStmt () s happy_var_2))}}- ) (\r -> happyReturn (happyIn168 r))--happyReduce_424 = happyMonadReduce 3# 164# happyReduction_424-happyReduction_424 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { (StrConst happy_var_3) -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Pause () s happy_var_3))}}- ) (\r -> happyReturn (happyIn169 r))--happyReduce_425 = happyMonadReduce 3# 165# happyReduction_425-happyReduction_425 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut233 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Format () s happy_var_3))}}- ) (\r -> happyReturn (happyIn170 r))--happyReduce_426 = happyMonadReduce 6# 166# happyReduction_426-happyReduction_426 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut172 happy_x_3 of { happy_var_3 -> - case happyOut173 happy_x_5 of { happy_var_5 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Call () s happy_var_3 (ArgList () happy_var_5)))}}}- ) (\r -> happyReturn (happyIn171 r))--happyReduce_427 = happyMonadReduce 5# 166# happyReduction_427-happyReduction_427 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut172 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Call () s happy_var_3 (ArgList () (NullExpr () (happy_var_1, happy_var_1)))))}}- ) (\r -> happyReturn (happyIn171 r))--happyReduce_428 = happyMonadReduce 3# 166# happyReduction_428-happyReduction_428 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut172 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Call () s happy_var_3 (ArgList () (NullExpr () (happy_var_1, happy_var_1)))))}}- ) (\r -> happyReturn (happyIn171 r))--happyReduce_429 = happyMonadReduce 2# 167# happyReduction_429-happyReduction_429 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_2 of { happy_var_2 -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ Var () s [(VarName () happy_var_2,[])]))}}- ) (\r -> happyReturn (happyIn172 r))--happyReduce_430 = happySpecReduce_3 168# happyReduction_430-happyReduction_430 happy_x_3- happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - happyIn173- (ESeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_431 = happySpecReduce_1 168# happyReduction_431-happyReduction_431 happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - happyIn173- (happy_var_1- )}--happyReduce_432 = happyMonadReduce 4# 169# happyReduction_432-happyReduction_432 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (ID happy_var_2) -> - case happyOut175 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ AssgExpr () s happy_var_2 happy_var_4))}}}- ) (\r -> happyReturn (happyIn174 r))--happyReduce_433 = happySpecReduce_1 169# happyReduction_433-happyReduction_433 happy_x_1- = case happyOut175 happy_x_1 of { happy_var_1 -> - happyIn174- (happy_var_1- )}--happyReduce_434 = happySpecReduce_1 170# happyReduction_434-happyReduction_434 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn175- (happy_var_1- )}--happyReduce_435 = happySpecReduce_3 171# happyReduction_435-happyReduction_435 happy_x_3- happy_x_2- happy_x_1- = case happyOut176 happy_x_1 of { happy_var_1 -> - case happyOut179 happy_x_2 of { happy_var_2 -> - case happyOut162 happy_x_3 of { happy_var_3 -> - happyIn176- (happy_var_1++[(happy_var_2,happy_var_3)]- )}}}--happyReduce_436 = happySpecReduce_0 171# happyReduction_436-happyReduction_436 = happyIn176- ([]- )--happyReduce_437 = happySpecReduce_2 172# happyReduction_437-happyReduction_437 happy_x_2- happy_x_1- = case happyOut178 happy_x_2 of { happy_var_2 -> - happyIn177- (happy_var_2- )}--happyReduce_438 = happyReduce 6# 173# happyReduction_438-happyReduction_438 (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 happyOut182 happy_x_3 of { happy_var_3 -> - happyIn178- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_439 = happyReduce 6# 174# happyReduction_439-happyReduction_439 (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 happyOut182 happy_x_3 of { happy_var_3 -> - happyIn179- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_440 = happyReduce 7# 174# happyReduction_440-happyReduction_440 (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 happyOut182 happy_x_4 of { happy_var_4 -> - happyIn179- (happy_var_4- ) `HappyStk` happyRest}--happyReduce_441 = happyMonadReduce 10# 175# happyReduction_441-happyReduction_441 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut182 happy_x_4 of { happy_var_4 -> - case happyOut242 happy_x_6 of { happy_var_6 -> - case happyOut242 happy_x_8 of { happy_var_8 -> - case happyOut242 happy_x_10 of { happy_var_10 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ If () s (Bin () s (RelLT ()) happy_var_4 (Con () s "0")) (Goto () s happy_var_6) - [(Bin () s (RelEQ ()) happy_var_4 (Con () s "0"), (Goto () s happy_var_8)), - (Bin () s (RelGT ()) happy_var_4 (Con () s "0"), (Goto () s happy_var_10))] Nothing))}}}}}- ) (\r -> happyReturn (happyIn180 r))--happyReduce_442 = happyMonadReduce 4# 175# happyReduction_442-happyReduction_442 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut178 happy_x_2 of { happy_var_2 -> - case happyOut162 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ If () s happy_var_2 happy_var_3 [] Nothing))}}}- ) (\r -> happyReturn (happyIn180 r))--happyReduce_443 = happyMonadReduce 5# 175# happyReduction_443-happyReduction_443 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut178 happy_x_2 of { happy_var_2 -> - case happyOut162 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ If () s happy_var_2 happy_var_3 happy_var_4 Nothing))}}}}- ) (\r -> happyReturn (happyIn180 r))--happyReduce_444 = happyMonadReduce 8# 175# happyReduction_444-happyReduction_444 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut178 happy_x_2 of { happy_var_2 -> - case happyOut162 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - case happyOut162 happy_x_7 of { happy_var_7 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ If () s happy_var_2 happy_var_3 happy_var_4 (Just happy_var_7)))}}}}}- ) (\r -> happyReturn (happyIn180 r))--happyReduce_445 = happySpecReduce_2 176# happyReduction_445-happyReduction_445 happy_x_2- happy_x_1- = happyIn181- (- )--happyReduce_446 = happySpecReduce_1 176# happyReduction_446-happyReduction_446 happy_x_1- = happyIn181- (- )--happyReduce_447 = happySpecReduce_1 177# happyReduction_447-happyReduction_447 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn182- (happy_var_1- )}--happyReduce_448 = happyMonadReduce 9# 178# happyReduction_448-happyReduction_448 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut184 happy_x_4 of { happy_var_4 -> - case happyOut120 happy_x_8 of { happy_var_8 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Allocate () s happy_var_4 happy_var_8))}}}- ) (\r -> happyReturn (happyIn183 r))--happyReduce_449 = happyMonadReduce 5# 178# happyReduction_449-happyReduction_449 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut184 happy_x_4 of { happy_var_4 -> - ( getSrcSpanNull >>= (\e -> getSrcSpan happy_var_1 >>= (\s -> return $ Allocate () s happy_var_4 (NullExpr () e))))}}- ) (\r -> happyReturn (happyIn183 r))--happyReduce_450 = happySpecReduce_3 179# happyReduction_450-happyReduction_450 happy_x_3- happy_x_2- happy_x_1- = case happyOut184 happy_x_1 of { happy_var_1 -> - case happyOut189 happy_x_3 of { happy_var_3 -> - happyIn184- (ESeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_451 = happySpecReduce_1 179# happyReduction_451-happyReduction_451 happy_x_1- = case happyOut189 happy_x_1 of { happy_var_1 -> - happyIn184- (happy_var_1- )}--happyReduce_452 = happyMonadReduce 0# 179# happyReduction_452-happyReduction_452 (happyRest) tk- = happyThen (( getSrcSpanNull >>= (return . (NullExpr ())))- ) (\r -> happyReturn (happyIn184 r))--happyReduce_453 = happySpecReduce_3 180# happyReduction_453-happyReduction_453 happy_x_3- happy_x_2- happy_x_1- = case happyOut185 happy_x_1 of { happy_var_1 -> - case happyOut186 happy_x_3 of { happy_var_3 -> - happyIn185- (happy_var_1++[happy_var_3]- )}}--happyReduce_454 = happySpecReduce_1 180# happyReduction_454-happyReduction_454 happy_x_1- = case happyOut186 happy_x_1 of { happy_var_1 -> - happyIn185- ([happy_var_1]- )}--happyReduce_455 = happyMonadReduce 2# 181# happyReduction_455-happyReduction_455 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_2 of { happy_var_2 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Var () s happy_var_2))}}- ) (\r -> happyReturn (happyIn186 r))--happyReduce_456 = happySpecReduce_3 182# happyReduction_456-happyReduction_456 happy_x_3- happy_x_2- happy_x_1- = case happyOut187 happy_x_1 of { happy_var_1 -> - case happyOut188 happy_x_3 of { happy_var_3 -> - happyIn187- (happy_var_1++[happy_var_3]- )}}--happyReduce_457 = happySpecReduce_1 182# happyReduction_457-happyReduction_457 happy_x_1- = case happyOut188 happy_x_1 of { happy_var_1 -> - happyIn187- ([happy_var_1]- )}--happyReduce_458 = happySpecReduce_1 183# happyReduction_458-happyReduction_458 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn188- (happy_var_1- )}--happyReduce_459 = happySpecReduce_1 183# happyReduction_459-happyReduction_459 happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 -> - happyIn188- (happy_var_1- )}--happyReduce_460 = happySpecReduce_1 184# happyReduction_460-happyReduction_460 happy_x_1- = case happyOut190 happy_x_1 of { happy_var_1 -> - happyIn189- (happy_var_1- )}--happyReduce_461 = happyMonadReduce 2# 185# happyReduction_461-happyReduction_461 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut191 happy_x_2 of { happy_var_2 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Var () s happy_var_2))}}- ) (\r -> happyReturn (happyIn190 r))--happyReduce_462 = happySpecReduce_3 186# happyReduction_462-happyReduction_462 happy_x_3- happy_x_2- happy_x_1- = case happyOut191 happy_x_1 of { happy_var_1 -> - case happyOut192 happy_x_3 of { happy_var_3 -> - happyIn191- (happy_var_1++[happy_var_3]- )}}--happyReduce_463 = happySpecReduce_1 186# happyReduction_463-happyReduction_463 happy_x_1- = case happyOut192 happy_x_1 of { happy_var_1 -> - happyIn191- ([happy_var_1]- )}--happyReduce_464 = happyReduce 4# 187# happyReduction_464-happyReduction_464 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - case happyOut187 happy_x_3 of { happy_var_3 -> - happyIn192- ((VarName () happy_var_1, happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_465 = happySpecReduce_1 187# happyReduction_465-happyReduction_465 happy_x_1- = case happyOutTok happy_x_1 of { (ID happy_var_1) -> - happyIn192- ((VarName () happy_var_1, [])- )}--happyReduce_466 = happyMonadReduce 3# 188# happyReduction_466-happyReduction_466 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Backspace () s [NoSpec () happy_var_3]))}}- ) (\r -> happyReturn (happyIn193 r))--happyReduce_467 = happyMonadReduce 5# 188# happyReduction_467-happyReduction_467 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut194 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Backspace () s happy_var_4))}}- ) (\r -> happyReturn (happyIn193 r))--happyReduce_468 = happySpecReduce_3 189# happyReduction_468-happyReduction_468 happy_x_3- happy_x_2- happy_x_1- = case happyOut194 happy_x_1 of { happy_var_1 -> - case happyOut195 happy_x_3 of { happy_var_3 -> - happyIn194- (happy_var_1++[happy_var_3]- )}}--happyReduce_469 = happySpecReduce_1 189# happyReduction_469-happyReduction_469 happy_x_1- = case happyOut195 happy_x_1 of { happy_var_1 -> - happyIn194- ([happy_var_1]- )}--happyReduce_470 = happySpecReduce_1 190# happyReduction_470-happyReduction_470 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn195- (NoSpec () happy_var_1- )}--happyReduce_471 = happyReduce 4# 190# happyReduction_471-happyReduction_471 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_4 of { happy_var_4 -> - happyIn195- (Unit () happy_var_4- ) `HappyStk` happyRest}--happyReduce_472 = happyMonadReduce 4# 190# happyReduction_472-happyReduction_472 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { (ID happy_var_2) -> - case happyOut127 happy_x_4 of { happy_var_4 -> - ( case (map (toLower) happy_var_2) of - -- "unit" -> return (Unit () happy_var_4) - "iostat" -> return (IOStat () happy_var_4) - s -> parseError ("incorrect name in spec list: " ++ s))}}- ) (\r -> happyReturn (happyIn195 r))--happyReduce_473 = happyMonadReduce 5# 191# happyReduction_473-happyReduction_473 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut197 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Close () s happy_var_4))}}- ) (\r -> happyReturn (happyIn196 r))--happyReduce_474 = happySpecReduce_3 192# happyReduction_474-happyReduction_474 happy_x_3- happy_x_2- happy_x_1- = case happyOut197 happy_x_1 of { happy_var_1 -> - case happyOut198 happy_x_3 of { happy_var_3 -> - happyIn197- (happy_var_1++[happy_var_3]- )}}--happyReduce_475 = happySpecReduce_1 192# happyReduction_475-happyReduction_475 happy_x_1- = case happyOut198 happy_x_1 of { happy_var_1 -> - happyIn197- ([happy_var_1]- )}--happyReduce_476 = happySpecReduce_1 193# happyReduction_476-happyReduction_476 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn198- (NoSpec () happy_var_1- )}--happyReduce_477 = happySpecReduce_3 193# happyReduction_477-happyReduction_477 happy_x_3- happy_x_2- happy_x_1- = case happyOut127 happy_x_3 of { happy_var_3 -> - happyIn198- (Unit () happy_var_3- )}--happyReduce_478 = happyMonadReduce 3# 193# happyReduction_478-happyReduction_478 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (ID happy_var_1) -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( case (map (toLower) happy_var_1) of - "iostat" -> return (IOStat () happy_var_3) - "status" -> return (Status () happy_var_3) - s -> parseError ("incorrect name in spec list: " ++ s))}}- ) (\r -> happyReturn (happyIn198 r))--happyReduce_479 = happyMonadReduce 2# 194# happyReduction_479-happyReduction_479 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( getSrcSpan happy_var_1 >>= (return . (Continue ())))}- ) (\r -> happyReturn (happyIn199 r))--happyReduce_480 = happyMonadReduce 3# 195# happyReduction_480-happyReduction_480 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Cycle () s happy_var_3))}}- ) (\r -> happyReturn (happyIn200 r))--happyReduce_481 = happyMonadReduce 2# 195# happyReduction_481-happyReduction_481 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Cycle () s ""))}- ) (\r -> happyReturn (happyIn200 r))--happyReduce_482 = happyMonadReduce 9# 196# happyReduction_482-happyReduction_482 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut185 happy_x_4 of { happy_var_4 -> - case happyOut120 happy_x_8 of { happy_var_8 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Deallocate () s happy_var_4 happy_var_8))}}}- ) (\r -> happyReturn (happyIn201 r))--happyReduce_483 = happyMonadReduce 5# 196# happyReduction_483-happyReduction_483 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut185 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Deallocate () s happy_var_4 (NullExpr () s)))}}- ) (\r -> happyReturn (happyIn201 r))--happyReduce_484 = happyMonadReduce 3# 197# happyReduction_484-happyReduction_484 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Endfile () s [NoSpec () happy_var_3]))}}- ) (\r -> happyReturn (happyIn202 r))--happyReduce_485 = happyMonadReduce 5# 197# happyReduction_485-happyReduction_485 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut194 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Endfile () s happy_var_4))}}- ) (\r -> happyReturn (happyIn202 r))--happyReduce_486 = happyMonadReduce 3# 198# happyReduction_486-happyReduction_486 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Exit () s happy_var_3))}}- ) (\r -> happyReturn (happyIn203 r))--happyReduce_487 = happyMonadReduce 2# 198# happyReduction_487-happyReduction_487 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Exit () s ""))}- ) (\r -> happyReturn (happyIn203 r))--happyReduce_488 = happyMonadReduce 4# 199# happyReduction_488-happyReduction_488 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut206 happy_x_3 of { happy_var_3 -> - case happyOut209 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Forall () s happy_var_3 happy_var_4))}}}- ) (\r -> happyReturn (happyIn204 r))--happyReduce_489 = happyMonadReduce 6# 199# happyReduction_489-happyReduction_489 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut206 happy_x_3 of { happy_var_3 -> - case happyOut210 happy_x_5 of { happy_var_5 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Forall () s happy_var_3 happy_var_5))}}}- ) (\r -> happyReturn (happyIn204 r))--happyReduce_490 = happySpecReduce_2 200# happyReduction_490-happyReduction_490 happy_x_2- happy_x_1- = happyIn205- (- )--happyReduce_491 = happySpecReduce_0 200# happyReduction_491-happyReduction_491 = happyIn205- (- )--happyReduce_492 = happyReduce 5# 201# happyReduction_492-happyReduction_492 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut207 happy_x_2 of { happy_var_2 -> - case happyOut127 happy_x_4 of { happy_var_4 -> - happyIn206- ((happy_var_2,happy_var_4)- ) `HappyStk` happyRest}}--happyReduce_493 = happyMonadReduce 3# 201# happyReduction_493-happyReduction_493 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut207 happy_x_2 of { happy_var_2 -> - ( getSrcSpanNull >>= (\s -> return (happy_var_2, NullExpr () s)))}- ) (\r -> happyReturn (happyIn206 r))--happyReduce_494 = happySpecReduce_3 202# happyReduction_494-happyReduction_494 happy_x_3- happy_x_2- happy_x_1- = case happyOut207 happy_x_1 of { happy_var_1 -> - case happyOut208 happy_x_3 of { happy_var_3 -> - happyIn207- (happy_var_1++[happy_var_3]- )}}--happyReduce_495 = happySpecReduce_1 202# happyReduction_495-happyReduction_495 happy_x_1- = case happyOut208 happy_x_1 of { happy_var_1 -> - happyIn207- ([happy_var_1]- )}--happyReduce_496 = happyReduce 7# 203# happyReduction_496-happyReduction_496 (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 happyOut103 happy_x_1 of { happy_var_1 -> - case happyOut150 happy_x_3 of { happy_var_3 -> - case happyOut150 happy_x_5 of { happy_var_5 -> - case happyOut150 happy_x_7 of { happy_var_7 -> - happyIn208- ((happy_var_1,happy_var_3,happy_var_5,happy_var_7)- ) `HappyStk` happyRest}}}}--happyReduce_497 = happyMonadReduce 5# 203# happyReduction_497-happyReduction_497 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut103 happy_x_1 of { happy_var_1 -> - case happyOut150 happy_x_3 of { happy_var_3 -> - case happyOut150 happy_x_5 of { happy_var_5 -> - ( getSrcSpanNull >>= (\s -> return (happy_var_1,happy_var_3,happy_var_5,NullExpr () s)))}}}- ) (\r -> happyReturn (happyIn208 r))--happyReduce_498 = happySpecReduce_1 204# happyReduction_498-happyReduction_498 happy_x_1- = case happyOut119 happy_x_1 of { happy_var_1 -> - happyIn209- (happy_var_1- )}--happyReduce_499 = happySpecReduce_1 204# happyReduction_499-happyReduction_499 happy_x_1- = case happyOut226 happy_x_1 of { happy_var_1 -> - happyIn209- (happy_var_1- )}--happyReduce_500 = happySpecReduce_3 205# happyReduction_500-happyReduction_500 happy_x_3- happy_x_2- happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - case happyOut210 happy_x_3 of { happy_var_3 -> - happyIn210- (FSeq () (spanTrans happy_var_1 happy_var_3) happy_var_1 happy_var_3- )}}--happyReduce_501 = happySpecReduce_2 205# happyReduction_501-happyReduction_501 happy_x_2- happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - happyIn210- (happy_var_1- )}--happyReduce_502 = happyMonadReduce 3# 206# happyReduction_502-happyReduction_502 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Goto () s happy_var_3))}}- ) (\r -> happyReturn (happyIn211 r))--happyReduce_503 = happyMonadReduce 6# 207# happyReduction_503-happyReduction_503 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut182 happy_x_4 of { happy_var_4 -> - case happyOut168 happy_x_6 of { happy_var_6 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ If () s happy_var_4 happy_var_6 [] Nothing))}}}- ) (\r -> happyReturn (happyIn212 r))--happyReduce_504 = happyMonadReduce 5# 208# happyReduction_504-happyReduction_504 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut214 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Inquire () s happy_var_4 []))}}- ) (\r -> happyReturn (happyIn213 r))--happyReduce_505 = happyMonadReduce 8# 208# happyReduction_505-happyReduction_505 (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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut120 happy_x_6 of { happy_var_6 -> - case happyOut230 happy_x_8 of { happy_var_8 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Inquire () s [IOLength () happy_var_6] happy_var_8))}}}- ) (\r -> happyReturn (happyIn213 r))--happyReduce_506 = happySpecReduce_3 209# happyReduction_506-happyReduction_506 happy_x_3- happy_x_2- happy_x_1- = case happyOut214 happy_x_1 of { happy_var_1 -> - case happyOut215 happy_x_3 of { happy_var_3 -> - happyIn214- (happy_var_1++[happy_var_3]- )}}--happyReduce_507 = happySpecReduce_1 209# happyReduction_507-happyReduction_507 happy_x_1- = case happyOut215 happy_x_1 of { happy_var_1 -> - happyIn214- ([happy_var_1]- )}--happyReduce_508 = happySpecReduce_1 210# happyReduction_508-happyReduction_508 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn215- (NoSpec () happy_var_1- )}--happyReduce_509 = happySpecReduce_3 210# happyReduction_509-happyReduction_509 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn215- (Unit () happy_var_3- )}--happyReduce_510 = happySpecReduce_3 210# happyReduction_510-happyReduction_510 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn215- (Read () happy_var_3- )}--happyReduce_511 = happySpecReduce_3 210# happyReduction_511-happyReduction_511 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn215- (WriteSp () happy_var_3- )}--happyReduce_512 = happyMonadReduce 3# 210# happyReduction_512-happyReduction_512 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (ID happy_var_1) -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( case (map (toLower) happy_var_1) of - "file" -> return (File () happy_var_3) - "iostat" -> return (IOStat () happy_var_3) - "exist" -> return (Exist () happy_var_3) - "opened" -> return (Opened () happy_var_3) - "number" -> return (Number () happy_var_3) - "named" -> return (Named () happy_var_3) - "name" -> return (Name () happy_var_3) - "access" -> return (Access () happy_var_3) - "sequential" -> return (Sequential () happy_var_3) - "direct" -> return (Direct () happy_var_3) - "form" -> return (Form () happy_var_3) - "formatted" -> return (Formatted () happy_var_3) - "unformatted" -> return (Unformatted () happy_var_3) - "recl" -> return (Recl () happy_var_3) - "nextrec" -> return (NextRec () happy_var_3) - "blank" -> return (Blank () happy_var_3) - "position" -> return (Position () happy_var_3) - "action" -> return (Action () happy_var_3) - "readwrite" -> return (ReadWrite () happy_var_3) - "delim" -> return (Delim () happy_var_3) - "pad" -> return (Pad () happy_var_3) - s -> parseError ("incorrect name in spec list: " ++ s))}}- ) (\r -> happyReturn (happyIn215 r))--happyReduce_513 = happyMonadReduce 5# 211# happyReduction_513-happyReduction_513 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut217 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Nullify () s happy_var_4))}}- ) (\r -> happyReturn (happyIn216 r))--happyReduce_514 = happySpecReduce_3 212# happyReduction_514-happyReduction_514 happy_x_3- happy_x_2- happy_x_1- = case happyOut217 happy_x_1 of { happy_var_1 -> - case happyOut218 happy_x_3 of { happy_var_3 -> - happyIn217- (happy_var_1++[happy_var_3]- )}}--happyReduce_515 = happySpecReduce_1 212# happyReduction_515-happyReduction_515 happy_x_1- = case happyOut218 happy_x_1 of { happy_var_1 -> - happyIn217- ([happy_var_1]- )}--happyReduce_516 = happySpecReduce_1 213# happyReduction_516-happyReduction_516 happy_x_1- = case happyOut219 happy_x_1 of { happy_var_1 -> - happyIn218- (happy_var_1- )}--happyReduce_517 = happySpecReduce_1 214# happyReduction_517-happyReduction_517 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn219- (happy_var_1- )}--happyReduce_518 = happyMonadReduce 5# 215# happyReduction_518-happyReduction_518 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut221 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Open () s happy_var_4))}}- ) (\r -> happyReturn (happyIn220 r))--happyReduce_519 = happySpecReduce_3 216# happyReduction_519-happyReduction_519 happy_x_3- happy_x_2- happy_x_1- = case happyOut221 happy_x_1 of { happy_var_1 -> - case happyOut222 happy_x_3 of { happy_var_3 -> - happyIn221- (happy_var_1++[happy_var_3]- )}}--happyReduce_520 = happySpecReduce_1 216# happyReduction_520-happyReduction_520 happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - happyIn221- ([happy_var_1]- )}--happyReduce_521 = happySpecReduce_1 217# happyReduction_521-happyReduction_521 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn222- (NoSpec () happy_var_1- )}--happyReduce_522 = happySpecReduce_3 217# happyReduction_522-happyReduction_522 happy_x_3- happy_x_2- happy_x_1- = case happyOut127 happy_x_3 of { happy_var_3 -> - happyIn222- (Unit () happy_var_3- )}--happyReduce_523 = happyMonadReduce 3# 217# happyReduction_523-happyReduction_523 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (ID happy_var_1) -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( case (map (toLower) happy_var_1) of - "iostat" -> return (IOStat () happy_var_3) - "file" -> return (File () happy_var_3) - "status" -> return (Status () happy_var_3) - "access" -> return (Access () happy_var_3) - "form" -> return (Form () happy_var_3) - "recl" -> return (Recl () happy_var_3) - "blank" -> return (Blank () happy_var_3) - "position" -> return (Position () happy_var_3) - "action" -> return (Action () happy_var_3) - "delim" -> return (Delim () happy_var_3) - "pad" -> return (Pad () happy_var_3) - s -> parseError ("incorrect name in spec list: " ++ s))}}- ) (\r -> happyReturn (happyIn222 r))--happyReduce_524 = happySpecReduce_1 218# happyReduction_524-happyReduction_524 happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - happyIn223- (happy_var_1- )}--happyReduce_525 = happySpecReduce_1 219# happyReduction_525-happyReduction_525 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn224- (happy_var_1- )}--happyReduce_526 = happySpecReduce_1 220# happyReduction_526-happyReduction_526 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn225- (happy_var_1- )}--happyReduce_527 = happyMonadReduce 4# 221# happyReduction_527-happyReduction_527 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut218 happy_x_2 of { happy_var_2 -> - case happyOut227 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ PointerAssg () s happy_var_2 happy_var_4))}}}- ) (\r -> happyReturn (happyIn226 r))--happyReduce_528 = happySpecReduce_1 222# happyReduction_528-happyReduction_528 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn227- (happy_var_1- )}--happyReduce_529 = happyMonadReduce 5# 223# happyReduction_529-happyReduction_529 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut229 happy_x_3 of { happy_var_3 -> - case happyOut230 happy_x_5 of { happy_var_5 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Print () s happy_var_3 happy_var_5))}}}- ) (\r -> happyReturn (happyIn228 r))--happyReduce_530 = happyMonadReduce 3# 223# happyReduction_530-happyReduction_530 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut229 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Print () s happy_var_3 []))}}- ) (\r -> happyReturn (happyIn228 r))--happyReduce_531 = happySpecReduce_1 224# happyReduction_531-happyReduction_531 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn229- (happy_var_1- )}--happyReduce_532 = happyMonadReduce 1# 224# happyReduction_532-happyReduction_532 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ Var () s [(VarName () "*",[])]))- ) (\r -> happyReturn (happyIn229 r))--happyReduce_533 = happySpecReduce_3 225# happyReduction_533-happyReduction_533 happy_x_3- happy_x_2- happy_x_1- = case happyOut230 happy_x_1 of { happy_var_1 -> - case happyOut231 happy_x_3 of { happy_var_3 -> - happyIn230- (happy_var_1++[happy_var_3]- )}}--happyReduce_534 = happySpecReduce_1 225# happyReduction_534-happyReduction_534 happy_x_1- = case happyOut231 happy_x_1 of { happy_var_1 -> - happyIn230- ([happy_var_1]- )}--happyReduce_535 = happySpecReduce_1 226# happyReduction_535-happyReduction_535 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn231- (happy_var_1- )}--happyReduce_536 = happySpecReduce_3 226# happyReduction_536-happyReduction_536 happy_x_3- happy_x_2- happy_x_1- = case happyOut173 happy_x_2 of { happy_var_2 -> - happyIn231- (happy_var_2- )}--happyReduce_537 = happyMonadReduce 6# 227# happyReduction_537-happyReduction_537 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut235 happy_x_4 of { happy_var_4 -> - case happyOut239 happy_x_6 of { happy_var_6 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ ReadS () s happy_var_4 happy_var_6))}}}- ) (\r -> happyReturn (happyIn232 r))--happyReduce_538 = happyMonadReduce 5# 227# happyReduction_538-happyReduction_538 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut236 happy_x_3 of { happy_var_3 -> - case happyOut239 happy_x_5 of { happy_var_5 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ ReadS () s happy_var_3 happy_var_5))}}}- ) (\r -> happyReturn (happyIn232 r))--happyReduce_539 = happyMonadReduce 5# 227# happyReduction_539-happyReduction_539 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut235 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ ReadS () s happy_var_4 []))}}- ) (\r -> happyReturn (happyIn232 r))--happyReduce_540 = happySpecReduce_3 228# happyReduction_540-happyReduction_540 happy_x_3- happy_x_2- happy_x_1- = case happyOut234 happy_x_3 of { happy_var_3 -> - happyIn233- ((Delimiter ()):happy_var_3- )}--happyReduce_541 = happySpecReduce_2 228# happyReduction_541-happyReduction_541 happy_x_2- happy_x_1- = case happyOut234 happy_x_2 of { happy_var_2 -> - happyIn233- (happy_var_2- )}--happyReduce_542 = happySpecReduce_3 229# happyReduction_542-happyReduction_542 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut234 happy_x_3 of { happy_var_3 -> - happyIn234- (happy_var_1 ++ happy_var_3- )}}--happyReduce_543 = happySpecReduce_1 229# happyReduction_543-happyReduction_543 happy_x_1- = happyIn234- ([Delimiter ()]- )--happyReduce_544 = happySpecReduce_2 229# happyReduction_544-happyReduction_544 happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - happyIn234- (happy_var_1- )}--happyReduce_545 = happySpecReduce_2 229# happyReduction_545-happyReduction_545 happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - happyIn234- (happy_var_1 ++ [Delimiter ()]- )}--happyReduce_546 = happySpecReduce_3 230# happyReduction_546-happyReduction_546 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut235 happy_x_3 of { happy_var_3 -> - happyIn235- (happy_var_1 ++ happy_var_3- )}}--happyReduce_547 = happySpecReduce_1 230# happyReduction_547-happyReduction_547 happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - happyIn235- (happy_var_1- )}--happyReduce_548 = happySpecReduce_1 231# happyReduction_548-happyReduction_548 happy_x_1- = happyIn236- ([Delimiter ()]- )--happyReduce_549 = happyMonadReduce 1# 231# happyReduction_549-happyReduction_549 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( getSrcSpanNull >>= (\s -> return $ [NoSpec () (Var () s [(VarName () "*", [])])]))- ) (\r -> happyReturn (happyIn236 r))--happyReduce_550 = happySpecReduce_1 231# happyReduction_550-happyReduction_550 happy_x_1- = case happyOutTok happy_x_1 of { (StrConst happy_var_1) -> - happyIn236- ([StringLit () happy_var_1]- )}--happyReduce_551 = happySpecReduce_2 231# happyReduction_551-happyReduction_551 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (StrConst happy_var_1) -> - happyIn236- ([StringLit () happy_var_1, Delimiter ()]- )}--happyReduce_552 = happySpecReduce_3 231# happyReduction_552-happyReduction_552 happy_x_3- happy_x_2- happy_x_1- = case happyOut241 happy_x_3 of { happy_var_3 -> - happyIn236- ([End () happy_var_3]- )}--happyReduce_553 = happySpecReduce_1 231# happyReduction_553-happyReduction_553 happy_x_1- = case happyOut238 happy_x_1 of { happy_var_1 -> - happyIn236- ([happy_var_1]- )}--happyReduce_554 = happyMonadReduce 1# 231# happyReduction_554-happyReduction_554 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut242 happy_x_1 of { happy_var_1 -> - ( getSrcSpanNull >>= (\s -> return $ [Number () (Con () s happy_var_1)]))}- ) (\r -> happyReturn (happyIn236 r))--happyReduce_555 = happySpecReduce_1 231# happyReduction_555-happyReduction_555 happy_x_1- = case happyOut237 happy_x_1 of { happy_var_1 -> - happyIn236- ([happy_var_1]- )}--happyReduce_556 = happyMonadReduce 1# 232# happyReduction_556-happyReduction_556 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (DataEditDest happy_var_1) -> - ( getSrcSpanNull >>= (\s -> return $ Floating () (NullExpr () s) (Con () s happy_var_1) ))}- ) (\r -> happyReturn (happyIn237 r))--happyReduce_557 = happyMonadReduce 2# 232# happyReduction_557-happyReduction_557 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut242 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (DataEditDest happy_var_2) -> - ( getSrcSpanNull >>= (\s -> return $ Floating () (Con () s happy_var_1) (Con () s happy_var_2)))}}- ) (\r -> happyReturn (happyIn237 r))--happyReduce_558 = happySpecReduce_1 233# happyReduction_558-happyReduction_558 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn238- (NoSpec () happy_var_1- )}--happyReduce_559 = happySpecReduce_3 234# happyReduction_559-happyReduction_559 happy_x_3- happy_x_2- happy_x_1- = case happyOut239 happy_x_1 of { happy_var_1 -> - case happyOut240 happy_x_3 of { happy_var_3 -> - happyIn239- (happy_var_1++[happy_var_3]- )}}--happyReduce_560 = happySpecReduce_1 234# happyReduction_560-happyReduction_560 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn239- ([happy_var_1]- )}--happyReduce_561 = happySpecReduce_1 235# happyReduction_561-happyReduction_561 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn240- (happy_var_1- )}--happyReduce_562 = happyMonadReduce 2# 236# happyReduction_562-happyReduction_562 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Num happy_var_2) -> - ( (getSrcSpan happy_var_1) >>= (\s -> return $ Con () s happy_var_2))}}- ) (\r -> happyReturn (happyIn241 r))--happyReduce_563 = happySpecReduce_1 237# happyReduction_563-happyReduction_563 happy_x_1- = case happyOutTok happy_x_1 of { (Num happy_var_1) -> - happyIn242- (happy_var_1- )}--happyReduce_564 = happySpecReduce_1 237# happyReduction_564-happyReduction_564 happy_x_1- = happyIn242- ("1"- )--happyReduce_565 = happySpecReduce_1 238# happyReduction_565-happyReduction_565 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn243- (happy_var_1- )}--happyReduce_566 = happyMonadReduce 2# 239# happyReduction_566-happyReduction_566 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Return () s (NullExpr () s)))}- ) (\r -> happyReturn (happyIn244 r))--happyReduce_567 = happyMonadReduce 3# 239# happyReduction_567-happyReduction_567 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut150 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Return () s happy_var_3))}}- ) (\r -> happyReturn (happyIn244 r))--happyReduce_568 = happySpecReduce_1 240# happyReduction_568-happyReduction_568 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn245- (happy_var_1- )}--happyReduce_569 = happySpecReduce_1 241# happyReduction_569-happyReduction_569 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - happyIn246- (happy_var_1- )}--happyReduce_570 = happyMonadReduce 3# 242# happyReduction_570-happyReduction_570 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Rewind () s [NoSpec () happy_var_3]))}}- ) (\r -> happyReturn (happyIn247 r))--happyReduce_571 = happyMonadReduce 5# 242# happyReduction_571-happyReduction_571 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut194 happy_x_4 of { happy_var_4 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Rewind () s happy_var_4))}}- ) (\r -> happyReturn (happyIn247 r))--happyReduce_572 = happyMonadReduce 3# 243# happyReduction_572-happyReduction_572 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut249 happy_x_3 of { happy_var_3 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Stop () s happy_var_3))}}- ) (\r -> happyReturn (happyIn248 r))--happyReduce_573 = happyMonadReduce 2# 243# happyReduction_573-happyReduction_573 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Stop () s (NullExpr () s)))}- ) (\r -> happyReturn (happyIn248 r))--happyReduce_574 = happySpecReduce_1 244# happyReduction_574-happyReduction_574 happy_x_1- = case happyOut146 happy_x_1 of { happy_var_1 -> - happyIn249- (happy_var_1- )}--happyReduce_575 = happyMonadReduce 6# 245# happyReduction_575-happyReduction_575 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut252 happy_x_4 of { happy_var_4 -> - case happyOut251 happy_x_6 of { happy_var_6 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Where () s happy_var_4 happy_var_6 Nothing))}}}- ) (\r -> happyReturn (happyIn250 r))--happyReduce_576 = happyMonadReduce 7# 245# happyReduction_576-happyReduction_576 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut252 happy_x_4 of { happy_var_4 -> - case happyOut251 happy_x_7 of { happy_var_7 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Where () s happy_var_4 happy_var_7 Nothing))}}}- ) (\r -> happyReturn (happyIn250 r))--happyReduce_577 = happyMonadReduce 14# 245# happyReduction_577-happyReduction_577 (happy_x_14 `HappyStk`- happy_x_13 `HappyStk`- happy_x_12 `HappyStk`- happy_x_11 `HappyStk`- 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) tk- = happyThen (case happyOut254 happy_x_1 of { happy_var_1 -> - case happyOut252 happy_x_4 of { happy_var_4 -> - case happyOut251 happy_x_7 of { happy_var_7 -> - case happyOut251 happy_x_11 of { happy_var_11 -> - ( getSrcSpan happy_var_1 >>= (\s -> return $ Where () s happy_var_4 happy_var_7 (Just happy_var_11)))}}}}- ) (\r -> happyReturn (happyIn250 r))--happyReduce_578 = happySpecReduce_1 246# happyReduction_578-happyReduction_578 happy_x_1- = case happyOut119 happy_x_1 of { happy_var_1 -> - happyIn251- (happy_var_1- )}--happyReduce_579 = happySpecReduce_1 247# happyReduction_579-happyReduction_579 happy_x_1- = case happyOut182 happy_x_1 of { happy_var_1 -> - happyIn252- (happy_var_1- )}--happyReduce_580 = happyMonadReduce 5# 248# happyReduction_580-happyReduction_580 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut235 happy_x_3 of { happy_var_3 -> - case happyOut230 happy_x_5 of { happy_var_5 -> - ( getSrcSpanNull >>= (\s -> return $ Write () s happy_var_3 happy_var_5))}}- ) (\r -> happyReturn (happyIn253 r))--happyReduce_581 = happyMonadReduce 4# 248# happyReduction_581-happyReduction_581 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut235 happy_x_3 of { happy_var_3 -> - ( getSrcSpanNull >>= (\s -> return $ Write () s happy_var_3 []))}- ) (\r -> happyReturn (happyIn253 r))--happyReduce_582 = happyMonadReduce 0# 249# happyReduction_582-happyReduction_582 (happyRest) tk- = happyThen (( getSrcLoc')- ) (\r -> happyReturn (happyIn254 r))--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- TokEOF -> happyDoAction 132# tk action sts stk;- Arrow -> cont 1#;- OpPower -> cont 2#;- OpConcat -> cont 3#;- OpEQ -> cont 4#;- OpNE -> cont 5#;- OpLE -> cont 6#;- OpGE -> cont 7#;- OpNOT -> cont 8#;- OpAND -> cont 9#;- OpOR -> cont 10#;- TrueConst -> cont 11#;- FalseConst -> cont 12#;- OpLT -> cont 13#;- OpGT -> cont 14#;- OpMul -> cont 15#;- OpDiv -> cont 16#;- OpAdd -> cont 17#;- OpSub -> cont 18#;- Comma -> cont 19#;- LParen -> cont 20#;- RParen -> cont 21#;- OpEquals -> cont 22#;- Period -> cont 23#;- ColonColon -> cont 24#;- Colon -> cont 25#;- SemiColon -> cont 26#;- Hash -> cont 27#;- LBrace -> cont 28#;- RBrace -> cont 29#;- LArrCon -> cont 30#;- RArrCon -> cont 31#;- DataEditDest happy_dollar_dollar -> cont 32#;- Percent -> cont 33#;- Dollar -> cont 34#;- NewLine -> cont 35#;- Key "allocate" -> cont 36#;- Key "allocatable" -> cont 37#;- Key "Assign" -> cont 38#;- Key "assignment" -> cont 39#;- Key "backspace" -> cont 40#;- Key "block" -> cont 41#;- Key "call" -> cont 42#;- Key "character" -> cont 43#;- Key "close" -> cont 44#;- Key "common" -> cont 45#;- Key "complex" -> cont 46#;- Key "contains" -> cont 47#;- Key "continue" -> cont 48#;- Key "cycle" -> cont 49#;- Key "data" -> cont 50#;- Key "deallocate" -> cont 51#;- Key "dimension" -> cont 52#;- Key "do" -> cont 53#;- Key "double precision" -> cont 54#;- Key "elemental" -> cont 55#;- Key "else" -> cont 56#;- Key "elseif" -> cont 57#;- Key "elsewhere" -> cont 58#;- Key "end" -> cont 59#;- Key "endif" -> cont 60#;- Key "enddo" -> cont 61#;- Key "endfile" -> cont 62#;- Key "equivalence" -> cont 63#;- Key "exit" -> cont 64#;- Key "external" -> cont 65#;- Key "forall" -> cont 66#;- Key "foreach" -> cont 67#;- Key "format" -> cont 68#;- Key "function" -> cont 69#;- Key "goto" -> cont 70#;- Key "iolength" -> cont 71#;- Key "if" -> cont 72#;- Key "implicit" -> cont 73#;- Key "in" -> cont 74#;- Key "include" -> cont 75#;- Key "inout" -> cont 76#;- Key "integer" -> cont 77#;- Key "intent" -> cont 78#;- Key "interface" -> cont 79#;- Key "intrinsic" -> cont 80#;- Key "inquire" -> cont 81#;- Key "kind" -> cont 82#;- Key "len" -> cont 83#;- Key "logical" -> cont 84#;- Key "module" -> cont 85#;- Key "namelist" -> cont 86#;- Key "none" -> cont 87#;- Key "nullify" -> cont 88#;- Key "null" -> cont 89#;- Key "open" -> cont 90#;- Key "operator" -> cont 91#;- Key "optional" -> cont 92#;- Key "out" -> cont 93#;- Key "parameter" -> cont 94#;- Key "pause" -> cont 95#;- Key "pointer" -> cont 96#;- Key "print" -> cont 97#;- Key "private" -> cont 98#;- Key "procedure" -> cont 99#;- Key "program" -> cont 100#;- Key "pure" -> cont 101#;- Key "public" -> cont 102#;- Key "real" -> cont 103#;- Key "read" -> cont 104#;- Key "recursive" -> cont 105#;- Key "result" -> cont 106#;- Key "return" -> cont 107#;- Key "rewind" -> cont 108#;- Key "save" -> cont 109#;- Key "sequence" -> cont 110#;- Key "sometype" -> cont 111#;- Key "sqrt" -> cont 112#;- Key "stat" -> cont 113#;- Key "stop" -> cont 114#;- StrConst happy_dollar_dollar -> cont 115#;- LitConst 'z' happy_dollar_dollar -> cont 116#;- Key "subroutine" -> cont 117#;- Key "target" -> cont 118#;- Key "then" -> cont 119#;- Key "type" -> cont 120#;- Key "unit" -> cont 121#;- Num "1" -> cont 122#;- Key "use" -> cont 123#;- Key "volatile" -> cont 124#;- Key "while" -> cont 125#;- Key "where" -> cont 126#;- Key "write" -> cont 127#;- ID happy_dollar_dollar -> cont 128#;- Num happy_dollar_dollar -> cont 129#;- Num happy_dollar_dollar -> cont 130#;- Text happy_dollar_dollar -> cont 131#;- _ -> happyError' tk- })--happyError_ 132# tk = happyError' tk-happyError_ _ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--parser = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--include_parser = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut5 x))--happySeq = happyDontSeq---getSrcLoc' = do (LH.SrcLoc f l c) <- getSrcLoc - return (SrcLoc f l (c - 1)) - --- Initial annotations from parser - --- Type of annotations - -type A0 = () - -getSrcSpan :: SrcLoc -> P (SrcLoc, SrcLoc) -getSrcSpan l = do l' <- getSrcLoc' - return $ (l, l') - --- 0-length span at current position - -getSrcSpanNull :: P (SrcLoc, SrcLoc) -getSrcSpanNull = do l <- getSrcLoc' - return $ (l, l) - -spanTrans x y = let (l, _) = srcSpan x - (_, l') = srcSpan y - in (l, l') - -spanTrans' x (_, l') = let (l, _) = srcSpan x - in (l, l') - -spanExtendR t x = let (l, l') = srcSpan t - in (l, SrcLoc (srcFilename l') (srcLine l') (srcColumn l' + x)) - -spanExtR (l, l') x = (l, SrcLoc (srcFilename l') (srcLine l') (srcColumn l' + x)) - -spanExtendL t x = let (l, l') = srcSpan t - in (SrcLoc (srcFilename l) (srcLine l) (srcColumn l - x), l') - -happyError :: P a -happyError = parseError "syntax error (from parser)" - -parseError :: String -> P a -parseError m = do srcloc <- getSrcLoc' - fail (srcFilename srcloc ++ ": line " ++ show (srcLine srcloc) ++ " column " ++ show (srcColumn srcloc) ++ ": " ++ m ++ "\n") - -tokenFollows s = case alexScan ('\0',[],s) 0 of - AlexEOF -> "end of file" - AlexError _ -> "" - AlexSkip (_,b,t) len -> tokenFollows t - AlexToken (_,b,t) len _ -> take len s - -parse :: String -> Program A0 -parse p = case (runParser parser (pre_process p)) of - (ParseOk p) -> p - (ParseFailed l e) -> error e - ---parse :: String -> [Program] ---parse = clean . parser . fixdecls . scan - -parseF :: String -> IO () -parseF f = do s <- readFile f - print (parse s) - ---scanF :: String -> IO () ---scanF f = do s <- readFile f --- print (scan s) - -fst3 (a,b,c) = a -snd3 (a,b,c) = b -trd3 (a,b,c) = c - -fst4 (a,b,c,d) = a -snd4 (a,b,c,d) = b -trd4 (a,b,c,d) = c -frh4 (a,b,c,d) = d - -cmpNames :: SubName A0 -> String -> String -> P (SubName A0) -cmpNames x "" z = return x -cmpNames (SubName a x) y z | x==y = return (SubName a x) - | otherwise = parseError (z ++ " name \""++x++"\" does not match \""++y++"\" in end " ++ z ++ " statement\n") -cmpNames s y z = parseError (z ++" names do not match\n") - -expr2array_spec (Bound _ _ e e') = (e, e') -- possibly a bit dodgy- uses undefined -expr2array_spec e = (NullExpr () (srcSpan e) , e)-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ---{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif--{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList-------{-# LINE 67 "templates/GenericTemplate.hs" #-}---{-# LINE 77 "templates/GenericTemplate.hs" #-}-----------infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}- -- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}- - (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}- -- happyShift new_state i tk st- where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i- where- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)- high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)---{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i---- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ - happyError_ i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.-
language-fortran.cabal view
@@ -1,5 +1,5 @@ name: language-fortran-version: 0.4+version: 0.5 synopsis: Fortran lexer and parser, language support, and extensions. description: Lexer and parser for Fortran roughly supporting standards from
src/Language/Fortran.hs view
@@ -53,8 +53,8 @@ data SubName p = SubName p String | NullSubName p deriving (Show, Functor, Typeable, Data, Eq)- -data VarName p = VarName p Variable ++data VarName p = VarName p Variable deriving (Show, Functor, Typeable, Data, Eq, Read) data ArgName p = ArgName p String@@ -74,7 +74,7 @@ type Program p = [ProgUnit p] - -- Prog type (type of result) name args (result) body use's + -- Prog type (type of result) name args (result) body use's data ProgUnit p = Main p SrcSpan (SubName p) (Arg p) (Block p) [ProgUnit p] | Sub p SrcSpan (Maybe (BaseType p)) (SubName p) (Arg p) (Block p) | Function p SrcSpan (Maybe (BaseType p)) (SubName p) (Arg p) (Maybe (VarName p)) (Block p)@@ -85,18 +85,22 @@ | IncludeProg p SrcSpan (Decl p) (Maybe (Fortran p)) deriving (Show, Functor, Typeable, Data, Eq) --- | Implicit none or no implicit -data Implicit p = ImplicitNone p | ImplicitNull p +-- | Implicit none or no implicit+data Implicit p = ImplicitNone p | ImplicitNull p deriving (Show, Functor, Typeable, Data, Eq) --- | renames for "use"s +-- | renames for "use"s type Renames = [(Variable, Variable)] data UseBlock p = UseBlock (Uses p) SrcLoc deriving (Show, Functor, Typeable, Data, Eq) +data Use = Use String Renames+ | UseOnly String [(Variable, Maybe Variable)]+ deriving (Show, Typeable, Data, Eq)+ -- | (second 'p' let's you annotate the 'cons' part of the cell)-data Uses p = Use p (String, Renames) (Uses p) p- | UseNil p deriving (Show, Functor, Typeable, Data, Eq)+data Uses p = Uses p Use (Uses p) p+ | UseNil p deriving (Show, Functor, Typeable, Data, Eq) -- use's implicit decls stmts data Block p = Block p (UseBlock p) (Implicit p) SrcSpan (Decl p) (Fortran p)@@ -106,7 +110,7 @@ | Namelist p [(Expr p, [Expr p])] -- namelist declaration | DataDecl p (DataForm p) | Equivalence p SrcSpan [(Expr p)]- | AttrStmt p (Attr p) [(Expr p, Expr p, Maybe Int)] + | AttrStmt p (Attr p) [(Expr p, Expr p, Maybe Int)] | AccessStmt p (Attr p) [GSpec p] -- access stmt | ExternalStmt p [String] -- external stmt | Interface p (Maybe (GSpec p)) [InterfaceSpec p] -- interface declaration@@ -120,7 +124,7 @@ | MeasureUnitDef p SrcSpan [(MeasureUnit, MeasureUnitSpec p)] deriving (Show, Functor, Typeable, Data, Eq) - -- BaseType dimensions type Attributes kind len + -- BaseType dimensions type Attributes kind len data Type p = BaseType p (BaseType p) [Attr p] (Expr p) (Expr p) | ArrayT p [(Expr p, Expr p)] (BaseType p) [Attr p] (Expr p) (Expr p) deriving (Show, Functor, Typeable, Data, Eq)@@ -133,7 +137,7 @@ data Attr p = Parameter p | Allocatable p | External p- | Intent p (IntentAttr p) + | Intent p (IntentAttr p) | Intrinsic p | Optional p | Pointer p@@ -147,8 +151,8 @@ -- units-of-measure extension | MeasureUnit p (MeasureUnitSpec p) deriving (Show, Functor, Typeable, Data, Eq)- + {- start: units-of-measure extension -} type MeasureUnit = String @@ -166,20 +170,20 @@ data GSpec p = GName p (Expr p) | GOper p (BinOp p) | GAssg p deriving (Show, Functor, Typeable, Data, Eq)- + data InterfaceSpec p = FunctionInterface p (SubName p) (Arg p) (Uses p) (Implicit p) (Decl p) | SubroutineInterface p (SubName p) (Arg p) (Uses p) (Implicit p) (Decl p) | ModuleProcedure p [(SubName p)] deriving (Show, Functor, Typeable, Data, Eq)- + data DataForm p = Data p [(Expr p, Expr p)] deriving (Show, Functor, Typeable, Data, Eq) -- data declaration- + data IntentAttr p = In p | Out p | InOut p deriving (Show, Functor, Typeable, Data, Eq)- -data Fortran p = Assg p SrcSpan (Expr p) (Expr p) ++data Fortran p = Assg p SrcSpan (Expr p) (Expr p) | For p SrcSpan (VarName p) (Expr p) (Expr p) (Expr p) (Fortran p) | DoWhile p SrcSpan (Expr p) (Fortran p) | FSeq p SrcSpan (Fortran p) (Fortran p)@@ -189,7 +193,7 @@ | Call p SrcSpan (Expr p) (ArgList p) | Open p SrcSpan [Spec p] | Close p SrcSpan [Spec p]- | Continue p SrcSpan + | Continue p SrcSpan | Cycle p SrcSpan String | DataStmt p SrcSpan (DataForm p) | Deallocate p SrcSpan [(Expr p)] (Expr p)@@ -224,7 +228,7 @@ | Unary p SrcSpan (UnaryOp p) (Expr p) | CallExpr p SrcSpan (Expr p) (ArgList p) | NullExpr p SrcSpan- | Null p SrcSpan + | Null p SrcSpan | ESeq p SrcSpan (Expr p) (Expr p) | Bound p SrcSpan (Expr p) (Expr p) | Sqrt p SrcSpan (Expr p)@@ -262,7 +266,7 @@ | ExFile p (Expr p) | Exist p (Expr p) | Eor p (Expr p)- | File p (Expr p) + | File p (Expr p) | FMT p (Expr p) | Form p (Expr p) | Formatted p (Expr p)@@ -276,20 +280,20 @@ | Floating p (Expr p) (Expr p) | NextRec p (Expr p) | NML p (Expr p)- | Opened p (Expr p) + | Opened p (Expr p) | Pad p (Expr p) | Position p (Expr p) | Read p (Expr p) | ReadWrite p (Expr p)- | Rec p (Expr p) - | Recl p (Expr p) + | Rec p (Expr p)+ | Recl p (Expr p) | Sequential p (Expr p) | Size p (Expr p) | Status p (Expr p)- | StringLit p String + | StringLit p String | Unit p (Expr p) | WriteSp p (Expr p)- | Delimiter p + | Delimiter p deriving (Show, Functor,Typeable,Data, Eq) -- Extract span information from the source tree@@ -343,7 +347,7 @@ srcSpan (Backspace x sp _) = sp srcSpan (Call x sp e as) = sp srcSpan (Open x sp s) = sp- srcSpan (Close x sp s) = sp + srcSpan (Close x sp s) = sp srcSpan (Continue x sp) = sp srcSpan (Cycle x sp s) = sp srcSpan (DataStmt x sp _) = sp@@ -356,9 +360,9 @@ srcSpan (Nullify x sp e) = sp srcSpan (Inquire x sp s e) = sp srcSpan (Pause x sp _) = sp- srcSpan (Rewind x sp s) = sp + srcSpan (Rewind x sp s) = sp srcSpan (Stop x sp e) = sp- srcSpan (Where x sp e f _) = sp + srcSpan (Where x sp e f _) = sp srcSpan (Write x sp s e) = sp srcSpan (PointerAssg x sp e1 e2) = sp srcSpan (Return x sp e) = sp@@ -368,10 +372,10 @@ srcSpan (TextStmt x sp s) = sp srcSpan (NullStmt x sp) = sp --- Extract the tag +-- Extract the tag class Tagged d where- tag :: d a -> a + tag :: d a -> a instance Tagged Attr where tag (Parameter x) = x@@ -412,14 +416,14 @@ tag (ImplicitNone x) = x tag (ImplicitNull x) = x -instance Tagged Uses where - tag (Use x _ _ _) = x+instance Tagged Uses where+ tag (Uses x _ _ _) = x tag (UseNil x) = x instance Tagged Arg where tag (Arg x _ _) = x -instance Tagged ArgList where +instance Tagged ArgList where tag (ArgList x _) = x instance Tagged ArgName where@@ -466,7 +470,7 @@ tag (Backspace x sp _) = x tag (Call x sp e as) = x tag (Open x sp s) = x- tag (Close x sp s) = x + tag (Close x sp s) = x tag (Continue x sp) = x tag (Cycle x sp s) = x tag (DataStmt x sp _) = x@@ -479,9 +483,9 @@ tag (Nullify x sp e) = x tag (Inquire x sp s e) = x tag (Pause x sp _) = x- tag (Rewind x sp s) = x + tag (Rewind x sp s) = x tag (Stop x sp e) = x- tag (Where x sp e f _) = x + tag (Where x sp e f _) = x tag (Write x sp s e) = x tag (PointerAssg x sp e1 e2) = x tag (Return x sp e) = x
src/Language/Fortran/Lexer.x view
@@ -12,6 +12,7 @@ import Language.Fortran import Language.Haskell.ParseMonad import Debug.Trace +import Control.Monad (replicateM_) } @@ -31,7 +32,7 @@ @name = ($letter | $underscore) ($letter | $digit | $underscore | $currency_symbol | $at_sign)* @digit_string = $digit+ @signed_digit_string = $sign? @digit_string -@line_space = ($white # \n)* +@line_space = ($white # \n)* @kind_param = @digit_string | @name @int_literal_constant = @digit_string (\_ @kind_param)? @@ -44,7 +45,7 @@ @e = @int_literal_constant @data_edit_desc = (("I"|"B"|"O"|"Z") @w ( \. @m)?) | "F" @w \. @d | (("E"|"EN"|"ES"|"G") @w \. @d ("E" @e)?) | "L" @w | "A" @w? | @w "X" | "D" @w \. @d ("E" @e)? | "R" @w | "Q" -@continuation_line_alt = \n$white*"&" | \n$white*"$" | \n$white*"+" +@continuation_line_alt = \n$white*"&" | \n$white*"$" | \n$white*"+" @binary_constant_prefix = ("B" \' $digit+ \') | ("B" \" $digit+ \") @octal_constant_prefix = ("O" \' $digit+ \') | ("O" \" $digit+ \") @@ -110,10 +111,10 @@ "$" { \s -> Dollar } "NULL()" { \s -> Key "null" } -- "&" ; -- ignore & anywhere - @continuation_line_alt { \s -> ContLineAlt } - \n "!".* \n $white*"&" { \s -> ContLineWithComment } - $white*"&"$white*\n { \s -> ContLine } -- ignore & and spaces followed by '\n' (continuation line) - ($white # \r # \n)*"&" { \s -> ContLineNoNewLine } + \n "!".* \n $white*"&" { \s -> ContLineWithComment 2 } + "&" $white* ("!" .*)? \n ($white*"!".* \n)+ { \s -> ContLineWithComment (length (filter (== '\n') s)) } + "&" $white* ("!" .*)? \n { \s -> ContLine } -- ignore & and spaces followed by '\n' (continuation line) + "&" { \s -> ContLineNoNewLine } "!".*$ ; "%" { \s -> Percent } "{" { \s -> LBrace } @@ -139,13 +140,13 @@ { -- Each action has type :: String -> Token - + -- Fixes continuation lines in the middle of strings - removes the continuation line part cutOutContLine cs = [head cs] ++ (reverse (cutOut cs' (Just []))) ++ [head cs] where cs' = (take (length cs - 2) (drop 1 cs)) cutOut [] Nothing = [] -cutOut [] (Just xs) = xs +cutOut [] (Just xs) = xs cutOut ('&':cs) Nothing = cutOut cs (Just []) cutOut ('$':cs) Nothing = cutOut cs (Just []) cutOut ('+':cs) Nothing = cutOut cs (Just []) @@ -158,14 +159,14 @@ -- The token type: data Token = Key String | LitConst Char String | OpPower | OpMul | OpDiv | OpAdd | OpSub | OpConcat - | OpEQ | OpNE | OpLT | OpLE | OpGT | OpGE | OpLG + | OpEQ | OpNE | OpLT | OpLE | OpGT | OpGE | OpLG | OpNOT | OpAND | OpOR | OpXOR | OpEQV | OpNEQV | BinConst String | OctConst String | HexConst String | ID String | Num String | Comma | Bang | Percent | LParen | RParen | LArrCon | RArrCon | OpEquals | RealConst String | StopParamStart | SingleQuote | StrConst String | Period | Colon | ColonColon | SemiColon | DataEditDest String | Arrow | MArrow | TrueConst | FalseConst | Dollar - | Hash | LBrace | RBrace | NewLine | TokEOF | Text String | ContLine | ContLineAlt | ContLineWithComment | ContLineNoNewLine + | Hash | LBrace | RBrace | NewLine | TokEOF | Text String | ContLine | ContLineAlt | ContLineWithComment Int | ContLineNoNewLine deriving (Eq,Show) keywords :: [String] @@ -211,20 +212,21 @@ lexer = runL lexer' lexer' :: Lex a Token -lexer' = do s <- getInput +lexer' = do s <- getInput startToken case alexScan ('\0',[],s) 0 of - AlexEOF -> return TokEOF + AlexEOF -> return TokEOF AlexError (c,b,s') -> getInput >>= (\i -> fail ("unrecognizable token: " ++ show c ++ "(" ++ (show $ ord c) ++ "). ")) AlexSkip (_,b,s') len -> discard len >> lexer' AlexToken (_,b,s') len act -> do let tok = act (take len s) -- turn on for useful debugging info on lexing -- (show (tok, (take 20 s), len) ++ "\n") `trace` return () + return () case tok of NewLine -> lexNewline >> (return tok) ContLine -> (discard (len - 1)) >> lexNewline >> lexer' ContLineNoNewLine -> (discard len) >> lexer' ContLineAlt -> lexNewline >> (discard (len - 1)) >> lexer' - ContLineWithComment -> lexNewline >> lexNewline >> (discard (len - 2)) >> lexer' + ContLineWithComment lines -> replicateM_ lines lexNewline >> (discard (len - lines)) >> lexer' _ -> (discard len) >> (return tok) }
src/Language/Fortran/Parser.y view
@@ -17,7 +17,7 @@ import Language.Fortran.PreProcess import qualified Language.Haskell.Syntax as LH (SrcLoc(..)) -import Language.Haskell.ParseMonad +import Language.Haskell.ParseMonad import Language.Fortran.Lexer import Data.Char (toLower) import Debug.Trace @@ -74,7 +74,7 @@ --'Z' { LitMark $$ } --'o' { LitMark $$ } --'O' { LitMark $$ } --- OBSOLETE '!' { Bang } +-- OBSOLETE '!' { Bang } '%' { Percent } '$' { Dollar } -- OBSOLETE '!{' { StopParamStart } @@ -137,7 +137,7 @@ NONE { Key "none" } NULLIFY { Key "nullify" } NULL { Key "null" } --- ONLY { Key "only" } + ONLY { Key "only" } OPEN { Key "open" } OPERATOR { Key "operator" } OPTIONAL { Key "optional" } @@ -187,14 +187,14 @@ %% include_program :: { Program A0 } -include_program -: srcloc newline specification_part_top {% do { s <- getSrcSpan $1; +include_program +: srcloc newline specification_part_top {% do { s <- getSrcSpan $1; return [IncludeProg () s $3 Nothing] }} executable_program :: { Program A0 } executable_program : program_unit_list { $1 } - + program_unit_list :: { Program A0 } program_unit_list : program_unit_list newline0 program_unit { $1++[$3] } @@ -208,21 +208,21 @@ | block_data { $1 } plist :: { [String] } -plist +plist : plist ',' id2 { $1++[$3] } | id2 { [$1] } vlist :: { [Expr A0] } -vlist +vlist : variable ',' vlist { $1:$3 } | variable { [$1] } newline :: {} -newline : '\n' newline0 {} +newline : '\n' newline0 {} -- | ';' newline0 {} newline0 :: {} -newline0 : newline {} +newline0 : newline {} | {- empty -} {} main_program :: { ProgUnit A0 } @@ -238,7 +238,7 @@ program_stmt :: { (SubName A0, Arg A0) } program_stmt : PROGRAM subname args_p newline { ($2, $3) } - | PROGRAM subname srcloc newline { ($2, (Arg () (NullArg ())) ($3, $3)) } + | PROGRAM subname srcloc newline { ($2, (Arg () (NullArg ())) ($3, $3)) } end_program_stmt :: { String } end_program_stmt @@ -254,10 +254,10 @@ external_subprogram :: { ProgUnit A0} external_subprogram : function_subprogram { $1 } - | subroutine_subprogram { $1 } + | subroutine_subprogram { $1 } subroutine_subprogram :: { ProgUnit A0 } -subroutine_subprogram +subroutine_subprogram : srcloc subroutine_stmt srcloc use_stmt_list implicit_part srcloc specification_part_top execution_part end_subroutine_stmt newline0 {% do { s <- getSrcSpan $1; s' <- getSrcSpan $6; @@ -285,22 +285,22 @@ block_data :: { ProgUnit A0 } block_data - : srcloc block_data_stmt use_stmt_list implicit_part specification_part_top end_block_data_stmt + : srcloc block_data_stmt use_stmt_list implicit_part specification_part_top end_block_data_stmt {% do { s <- getSrcSpan $1; name <- cmpNames $2 $6 "block data"; return (BlockData () s name $3 $4 $5); } } - + block_data_stmt :: { SubName A0 } block_data_stmt - : BLOCK DATA subname { $3 } - | BLOCK DATA { "foobar" `trace` NullSubName () } + : BLOCK DATA subname { $3 } + | BLOCK DATA { "foobar" `trace` NullSubName () } end_block_data_stmt :: { String } end_block_data_stmt : END BLOCK DATA id2 { $4 } | END BLOCK DATA { "" } | END { "" } - + module :: { ProgUnit A0 } module : srcloc module_stmt use_stmt_list implicit_part specification_part_top module_subprogram_part end_module_stmt newline0 @@ -310,7 +310,7 @@ module_stmt :: { SubName A0 } module_stmt - : MODULE subname newline { $2 } + : MODULE subname newline { $2 } end_module_stmt :: { String } end_module_stmt @@ -321,34 +321,41 @@ module_subprogram_part :: { Program A0 } module_subprogram_part : CONTAINS newline internal_subprogram_list { $3 } -| {- empty -} { [] } - +| {- empty -} { [] } + internal_subprogram_list :: { Program A0 } internal_subprogram_list - : internal_subprogram_list internal_subprogram newline0 { $1++[$2] } + : internal_subprogram_list internal_subprogram newline0 { $1++[$2] } | {- empty -} { [] } - + internal_subprogram :: { ProgUnit A0 } internal_subprogram : subroutine_subprogram { $1 } | function_subprogram { $1 } - + use_stmt_list :: { Uses A0 } use_stmt_list -: use_stmt use_stmt_list { Use () $1 $2 () } +: use_stmt use_stmt_list { Uses () $1 $2 () } | {- empty -} { UseNil () } -use_stmt :: { (String, Renames) } +use_stmt :: { Use } use_stmt -: USE id2 newline { ($2, []) } -| USE COMMON ',' renames newline { ("common", $4) } -- Since "common" is a valid module name -| USE id2 ',' renames newline { ($2, $4) } +: USE id2 newline { (Use $2 []) } +| USE COMMON ',' renames newline { (Use "common" $4) } -- Since "common" is a valid module name +| USE id2 ',' renames newline { (Use $2 $4) } +| USE COMMON ',' ONLY ':' only_list newline { (UseOnly "common" $6) } -- Since "common" is a valid module name +| USE id2 ',' ONLY ':' only_list newline { (UseOnly $2 $6) } +only_list :: { [(Variable, Maybe Variable)] } +: id2 '=>' id2 { [($1, Just $3)] } + | id2 { [($1, Nothing)] } + | only_list ',' only_list { $1 ++ $3 } + renames :: { [(Variable, Variable)] } : id2 '=>' id2 { [($1, $3)] } | renames ',' renames { $1 ++ $3 } - - + + -- [DO: Allows the specification part of a module to be empty] specification_part_top :: { Decl A0 } specification_part_top @@ -359,8 +366,8 @@ specification_part : declaration_construct_l specification_part { DSeq () $1 $2 } | declaration_construct_l { $1 } - + declaration_construct_l :: { Decl A0 } declaration_construct_l : declaration_construct_p newline { $1 } @@ -376,12 +383,12 @@ declaration_construct :: { Decl A0 } declaration_construct - : srcloc type_spec_p attr_spec_list '::' entity_decl_list - {% (getSrcSpan $1) >>= (\s -> return $ if null (fst $3) + : srcloc type_spec_p attr_spec_list '::' entity_decl_list + {% (getSrcSpan $1) >>= (\s -> return $ if null (fst $3) then Decl () s $5 ((BaseType () (fst3 $2) (snd $3) (snd3 $2) (trd3 $2))) else Decl () s $5 ((ArrayT () (fst $3) (fst3 $2) (snd $3) (snd3 $2) (trd3 $2)))) } - | srcloc type_spec_p attr_spec_list entity_decl_list - {% (getSrcSpan $1) >>= (\s -> return $ if null (fst $3) + | srcloc type_spec_p attr_spec_list entity_decl_list + {% (getSrcSpan $1) >>= (\s -> return $ if null (fst $3) then Decl () s $4 ((BaseType () (fst3 $2) (snd $3) (snd3 $2) (trd3 $2))) else Decl () s $4 ((ArrayT () (fst $3) (fst3 $2) (snd $3) (snd3 $2) (trd3 $2)))) } | interface_block { $1 } @@ -402,12 +409,12 @@ entity_decl -- : srcloc ID '=' expr {% getSrcSpan $1 >>= (\s -> return $ (Var () s [(VarName () $2,[])], $4, Nothing)) } : variable '=' expr { ($1, $3, Nothing) } -| variable {% getSrcSpanNull >>= (\s -> return $ ($1, NullExpr () s, Nothing)) } -| variable '*' num {% getSrcSpanNull >>= (\s -> return $ ($1, NullExpr () s, Just $ read $3)) } +| variable {% getSrcSpanNull >>= (\s -> return $ ($1, NullExpr () s, Nothing)) } +| variable '*' num {% getSrcSpanNull >>= (\s -> return $ ($1, NullExpr () s, Just $ read $3)) } --- | id2 {% getSrcSpanNull >>= (\s -> return $ (Var () s [(VarName () $1,[])], NullExpr () s, Nothing)) } - +-- | id2 {% getSrcSpanNull >>= (\s -> return $ (Var () s [(VarName () $1,[])], NullExpr () s, Nothing)) } + object_name :: { String } object_name : id2 { $1 } @@ -432,7 +439,7 @@ | COMPLEX '*' length_value {% getSrcSpanNull >>= (\s -> return $ (Complex (), $3, NullExpr () s)) } | COMPLEX {% getSrcSpanNull >>= (\s -> return $ (Complex (),NullExpr () s, NullExpr () s)) } | CHARACTER char_selector { (Character (), snd $2, fst $2) } -| CHARACTER '*' length_value {% getSrcSpanNull >>= (\s -> return $ (Character (), $3, NullExpr () s)) } +| CHARACTER '*' length_value {% getSrcSpanNull >>= (\s -> return $ (Character (), $3, NullExpr () s)) } | CHARACTER {% getSrcSpanNull >>= (\s -> return $ (Character (), NullExpr () s, NullExpr () s)) } | LOGICAL kind_selector {% getSrcSpanNull >>= (\s -> return $ (Logical (), $2, NullExpr () s)) } | LOGICAL '*' length_value {% getSrcSpanNull >>= (\s -> return $ (Logical (), $3, NullExpr () s)) } @@ -440,14 +447,14 @@ | TYPE '(' type_name ')' {% getSrcSpanNull >>= (\s -> return $ (DerivedType () $3, NullExpr () s, NullExpr () s)) } -- | POINTER '(' pointer_name ',' pointee_name ['(' array_spec ')' ] ')' ---[',' '(' pointer_name ',' pointee_name ['(' array_spec ')' ] ')' ] +--[',' '(' pointer_name ',' pointee_name ['(' array_spec ')' ] ')' ] kind_selector :: { Expr A0 } : '(' KIND '=' expr ')' { $4 } | '(' expr ')' { $2 } char_selector :: { (Expr A0, Expr A0) } -- (LEN, KIND) -char_selector +char_selector : length_selector {% getSrcSpanNull >>= (\s -> return $ ($1,NullExpr () s)) } | '(' LEN '=' char_len_param_value ',' KIND '=' expr ')' { ($4,$8) } | '(' char_len_param_value ',' KIND '=' expr ')' { ($2,$6) } @@ -456,7 +463,7 @@ | '(' KIND '=' expr ')' {% getSrcSpanNull >>= (\s -> return $ (NullExpr () s,$4)) } length_selector :: { Expr A0 } -length_selector +length_selector : '(' LEN '=' char_len_param_value ')' { $4 } | '(' char_len_param_value ')' { $2 } @@ -555,7 +562,7 @@ signed_num : '-' num { "-" ++ $2 } | num { $1 } - + -- end array_spec :: { [(Expr A0, Expr A0)] } @@ -569,7 +576,7 @@ explicit_shape_spec :: { Expr A0 } explicit_shape_spec - : expr { $1 } + : expr { $1 } | bound { $1 } include_stmt :: { Decl A0 } @@ -577,7 +584,7 @@ specification_expr :: { Expr A0 } specification_expr - : expr { $1 } + : expr { $1 } intent_spec :: { IntentAttr A0 } intent_spec @@ -602,7 +609,7 @@ -- | optional_stmt { $1 } -- | pointer_stmt { $1 } | save_stmt { $1 } --- | target_stmt { $1 } +-- | target_stmt { $1 } save_stmt :: { Decl A0 } : SAVE { AccessStmt () (Save ()) [] } @@ -620,42 +627,42 @@ interface_stmt : INTERFACE generic_spec { Just $2 } | INTERFACE { Nothing } - + interface_spec_list :: { [InterfaceSpec A0] } interface_spec_list : interface_spec_list interface_spec { $1++[$2] } | interface_spec { [$1] } - + interface_spec :: { InterfaceSpec A0 } interface_spec : interface_body { $1 } | module_procedure_stmt { $1 } - + end_interface_stmt :: { Maybe (GSpec A0) } end_interface_stmt : END INTERFACE generic_spec { Just $3 } | END INTERFACE { Nothing } -interface_body :: { InterfaceSpec A0 } +interface_body :: { InterfaceSpec A0 } interface_body - : function_stmt use_stmt_list implicit_part specification_part end_function_stmt + : function_stmt use_stmt_list implicit_part specification_part end_function_stmt {% do { name <- cmpNames (fst4 $1) $5 "interface declaration"; return (FunctionInterface () name (snd4 $1) $2 $3 $4); }} - | function_stmt end_function_stmt + | function_stmt end_function_stmt {% do { name <- cmpNames (fst4 $1) $2 "interface declaration"; s <- getSrcSpanNull; - return (FunctionInterface () name (snd4 $1) (UseNil ()) (ImplicitNull ()) (NullDecl () s)); } } + return (FunctionInterface () name (snd4 $1) (UseNil ()) (ImplicitNull ()) (NullDecl () s)); } } | subroutine_stmt use_stmt_list implicit_part specification_part end_subroutine_stmt {% do { name <- cmpNames (fst3 $1) $5 "interface declaration"; return (SubroutineInterface () name (snd3 $1) $2 $3 $4); } } - | subroutine_stmt end_subroutine_stmt + | subroutine_stmt end_subroutine_stmt {% do { name <- cmpNames (fst3 $1) $2 "interface declaration"; s <- getSrcSpanNull; return (SubroutineInterface () name (snd3 $1) (UseNil ()) (ImplicitNull ()) (NullDecl () s)); }} - + module_procedure_stmt :: { InterfaceSpec A0 } module_procedure_stmt : MODULE PROCEDURE sub_name_list { ModuleProcedure () $3 } @@ -686,7 +693,7 @@ type_name :: { SubName A0 } type_name -: ID { SubName () $1 } +: ID { SubName () $1 } private_sequence_stmt :: { [Attr A0] } private_sequence_stmt @@ -695,7 +702,7 @@ | PRIVATE { [Private ()] } | SEQUENCE { [Sequence ()] } | {- empty -} { [] } - + component_def_stmt_list :: { [Decl A0 ] } component_def_stmt_list : component_def_stmt_list component_def_stmt { $1++[$2] } @@ -703,9 +710,9 @@ component_def_stmt :: { Decl A0 } component_def_stmt - : srcloc type_spec_p component_attr_spec_list '::' entity_decl_list - {% (getSrcSpan $1) >>= (\s -> return $ - if null (fst $3) + : srcloc type_spec_p component_attr_spec_list '::' entity_decl_list + {% (getSrcSpan $1) >>= (\s -> return $ + if null (fst $3) then Decl () s $5 ((BaseType () (fst3 $2) (snd $3) (snd3 $2) (trd3 $2))) else Decl () s $5 ((ArrayT () (fst $3) (fst3 $2) (snd $3) (snd3 $2) (trd3 $2)))) } @@ -720,40 +727,40 @@ | dim_spec { ($1,[]) } attr_stmt :: { Decl A0 } -attr_stmt : attr_spec_p '(' entity_decl_list ')' { AttrStmt () (head $ snd $1) ($3 ++ (map (\(x, y) -> (x, y, Nothing)) (fst $1))) } - | attr_spec_p { AttrStmt () (head $ snd $1) ((map (\(x, y) -> (x, y, Nothing)) (fst $1))) } -| dim_spec_p { AttrStmt () (Dimension () $1) [] } +attr_stmt : attr_spec_p '(' entity_decl_list ')' { AttrStmt () (head $ snd $1) ($3 ++ (map (\(x, y) -> (x, y, Nothing)) (fst $1))) } + | attr_spec_p { AttrStmt () (head $ snd $1) ((map (\(x, y) -> (x, y, Nothing)) (fst $1))) } +| dim_spec_p { AttrStmt () (Dimension () $1) [] } access_stmt :: { Decl A0 } access_stmt : access_spec '::' access_id_list { AccessStmt () $1 $3 } | access_spec access_id_list { AccessStmt () $1 $2 } | access_spec { AccessStmt () $1 [] } - + access_id_list :: { [GSpec A0] } access_id_list : access_id_list ',' access_id { $1++[$3] } | access_id { [$1] } access_id :: { GSpec A0 } -access_id +access_id : generic_spec { $1 } - + generic_spec :: { GSpec A0 } generic_spec -: srcloc ID {% getSrcSpan $1 >>= (\s -> return $ GName () (Var () s [(VarName () $2,[])])) } +: srcloc ID {% getSrcSpan $1 >>= (\s -> return $ GName () (Var () s [(VarName () $2,[])])) } | OPERATOR '(' defined_operator ')' { GOper () $3 } | ASSIGNMENT '(' '=' ')' { GAssg () } - + data_stmt :: { DataForm A0 } data_stmt : DATA data_stmt_set_list { Data () $2 } - + data_stmt_set_list :: { [(Expr A0, Expr A0)] } data_stmt_set_list : data_stmt_set_list ',' data_stmt_set { $1++[$3] } | data_stmt_set { [$1] } - + data_stmt_set :: { (Expr A0, Expr A0) } data_stmt_set : data_stmt_object_list '/' data_stmt_value_list '/' { ($1,$3) } @@ -766,8 +773,8 @@ data_stmt_object :: { Expr A0 } data_stmt_object : variable { $1 } - + data_stmt_value_list :: { Expr A0 } data_stmt_value_list : data_stmt_value_list ',' data_stmt_value { ESeq () (spanTrans $1 $3) $1 $3 } @@ -776,13 +783,13 @@ data_stmt_value :: { Expr A0 } data_stmt_value : primaryP { $1 } - - + + external_stmt :: { Decl A0 } external_stmt : EXTERNAL '::' name_list { ExternalStmt () $3 } | EXTERNAL name_list { ExternalStmt () $2 } - + name_list :: { [String] } name_list : name_list ',' id2 { $1++[$3] } @@ -798,10 +805,10 @@ | id_keywords_2 { $1 } id_keywords_2 :: { String } -id_keywords_2 : IN { "in" } +id_keywords_2 : IN { "in" } | OUT { "out" } | LEN { "len" } - + defined_operator :: { BinOp A0 } defined_operator -- : defined_binary_op @@ -817,13 +824,13 @@ | rel_op { $1 } -- | '.NOT.' { Not () } | '.AND.' { And () } - | '.OR.' { Or () } + | '.OR.' { Or () } namelist_stmt :: { Decl A0 } namelist_stmt : NAMELIST namelist_list { Namelist () $2 } - + namelist_list :: { [(Expr A0, [Expr A0])] } namelist_list : namelist_list ',' '/' constant_p '/' namelist_group_object_list { $1++[($4,$6)] } @@ -833,26 +840,26 @@ namelist_group_object_list : namelist_group_object_list ',' constant_p { $1++[$3] } | constant_p { [$1] } - + subroutine_stmt :: { (SubName A0, Arg A0, Maybe (BaseType A0)) } subroutine_stmt : SUBROUTINE subname args_p newline { ($2,$3,Nothing) } | SUBROUTINE subname srcloc newline {% (getSrcSpan $3) >>= (\s -> return $ ($2,Arg () (NullArg ()) s,Nothing)) } | prefix SUBROUTINE subname args_p newline { ($3,$4,Just (fst3 $1)) } - + function_stmt :: { (SubName A0, Arg A0, Maybe (BaseType A0), Maybe (VarName A0)) } function_stmt : prefix FUNCTION subname args_p RESULT '(' id2 ')' newline { ($3,$4,Just (fst3 $1),Just (VarName () $7)) } | prefix FUNCTION subname args_p newline { ($3,$4,Just (fst3 $1),Nothing) } | FUNCTION subname args_p RESULT '(' id2 ')' newline { ($2,$3,Nothing,Just (VarName () $6)) } | FUNCTION subname args_p newline { ($2,$3,Nothing,Nothing) } - + subname :: { SubName A0 } subname : ID { SubName () $1 } | id_keywords { SubName () $1 } - + prefix :: { (BaseType A0, Expr A0, Expr A0) } prefix : type_spec { $1 } @@ -869,7 +876,7 @@ : dummy_arg_list2 { Arg () $1 } | {- empty -} { Arg () (NullArg ()) } -dummy_arg_list2 :: { ArgName A0 } +dummy_arg_list2 :: { ArgName A0 } dummy_arg_list2 : dummy_arg_list2 ',' dummy_arg { ASeq () $1 $3 } | dummy_arg { $1 } @@ -878,7 +885,7 @@ dummy_arg : ID { ArgName () $1 } | '*' { ArgName () "*" } - + assignment_stmt :: { Fortran A0 } assignment_stmt : variable '=' expr { Assg () (spanTrans $1 $3) $1 $3 } @@ -903,10 +910,10 @@ : ID '(' section_subscript_list ')' { (VarName () $1, $3) } | ID '(' ')' {% getSrcSpanNull >>= (\s -> return $ (VarName () $1, [NullExpr () s])) } | ID { (VarName () $1, []) } -| id_keywords_2 {% getSrcSpanNull >>= (\s -> return $ (VarName () $1, [NullExpr () s])) } +| id_keywords_2 {% getSrcSpanNull >>= (\s -> return $ (VarName () $1, [NullExpr () s])) } -- | TYPE { (VarName () "type", []) } -- a bit of a hack but 'type' allowed as var name --- -- but causes REDUCE REDUCE conflicts! +-- -- but causes REDUCE REDUCE conflicts! -- bound comes through int_expr subscript :: { Expr A0 } @@ -925,7 +932,7 @@ section_subscript_list : section_subscript_list ',' section_subscript { $1++[$3] } | section_subscript { [$1] } - + section_subscript :: { Expr A0 } section_subscript : subscript { $1 } @@ -957,64 +964,64 @@ : level_4_expr { $1 } level_4_expr :: { Expr A0 } -level_4_expr +level_4_expr : level_4_expr rel_op level_3_expr { Bin () (spanTrans $1 $3) $2 $1 $3 } | level_3_expr { $1 } level_3_expr :: { Expr A0 } -level_3_expr +level_3_expr : level_3_expr '//' level_2_expr { Bin () (spanTrans $1 $3) (Concat ()) $1 $3 } | level_2_expr { $1 } level_2_expr :: { Expr A0 } -level_2_expr +level_2_expr : level_2_expr '+' add_operand { Bin () (spanTrans $1 $3) (Plus ()) $1 $3 } | level_2_expr '-' add_operand { Bin () (spanTrans $1 $3) (Minus ()) $1 $3 } | add_operand { $1 } add_operand :: { Expr A0 } -add_operand +add_operand : add_operand '*' mult_operand { Bin () (spanTrans $1 $3) (Mul ()) $1 $3 } | add_operand '/' mult_operand { Bin () (spanTrans $1 $3) (Div ()) $1 $3 } | mult_operand { $1 } mult_operand :: { Expr A0 } -mult_operand +mult_operand : level_1_expr '**' mult_operand { Bin () (spanTrans $1 $3) (Power ()) $1 $3 } | level_1_expr { $1 } level_1_expr :: { Expr A0 } -level_1_expr +level_1_expr : srcloc '-' primary {% getSrcSpan $1 >>= (\s -> return $ Unary () s (UMinus ()) $3) } | srcloc '.NOT.' primary {% getSrcSpan $1 >>= (\s -> return $ Unary () s (Not ()) $3) } | primary { $1 } primaryP :: { Expr A0 } -primaryP : +primaryP : srcloc num '*' primary {% getSrcSpan $1 >>= (\s -> return $ Bin () s (Mul ()) (Con () s $2) $4) } | srcloc '-' primary {% getSrcSpan $1 >>= (\s -> return $ Unary () s (UMinus ()) $3) } | primary { $1 } primary :: { Expr A0 } -primary +primary : constant { $1 } | variable { $1 } | srcloc type_cast '(' expr ')' {% getSrcSpan $1 >>= (\s -> return $ Var () s [(VarName () $2, [$4])]) } - + | array_constructor { $1 } | '(' expr ')' { $2 } | srcloc SQRT '(' expr ')' {% getSrcSpan $1 >>= (\s -> return $ Sqrt () s $4) } type_cast :: { String } -type_cast +type_cast : REAL { "REAL" } -- The following supports the type cast notioatn | INTEGER { "INTEGER" } | LOGICAL { "LOGICAL" } | CHARACTER { "CHARACTER" } - | DOUBLE_PRECISION { "DOUBLE PRECISION" } + | DOUBLE_PRECISION { "DOUBLE PRECISION" } -- Bit of a conflict here- not entirely sure when this is needed @@ -1024,37 +1031,37 @@ fields : fields '.' id2 { $1++[$3] } | id2 { [$1] } - + array_constructor :: { Expr A0 } array_constructor -: srcloc '(/' expr_list '/)' {% getSrcSpan $1 >>= (\s -> return $ ArrayCon () s $3) } +: srcloc '(/' expr_list '/)' {% getSrcSpan $1 >>= (\s -> return $ ArrayCon () s $3) } expr_list :: { [Expr A0] } expr_list : expr_list ',' expr { $1++[$3] } | expr { [$1] } - + constant_p :: { Expr A0 } constant_p : constant_p2 { $1 } - + constant_p2 :: { Expr A0 } constant_p2 : srcloc ID {% getSrcSpan $1 >>= (\s -> return $ Var () s [(VarName () $2,[])]) } - + constant :: { Expr A0 } -constant +constant : literal_constant { $1 } literal_constant :: { Expr A0 } -literal_constant +literal_constant : srcloc num {% (getSrcSpan $1) >>= (\s -> return $ Con () s $2) } | srcloc ZLIT {% (getSrcSpan $1) >>= (\s -> return $ ConL () s 'z' $2) } | srcloc STR {% (getSrcSpan $1) >>= (\s -> return $ ConS () s $2) } | logical_literal_constant { $1 } --lit_mark :: { Char } ---lit_mark +--lit_mark --: 'z' { $1 } --| 'Z' { $1 } --| 'b' { $1 } @@ -1063,7 +1070,7 @@ --| 'O' { $1 } logical_literal_constant :: { Expr A0 } -logical_literal_constant +logical_literal_constant : srcloc '.TRUE.' {% (getSrcSpan $1) >>= (\s -> return $ Con () s ".TRUE.") } | srcloc '.FALSE.' {% (getSrcSpan $1) >>= (\s -> return $ Con () s ".FALSE.") } @@ -1079,7 +1086,7 @@ int_expr : expr { $1 } -do_variable :: { VarName A0 } +do_variable :: { VarName A0 } do_variable : ID { VarName () $1 } @@ -1087,28 +1094,28 @@ do_construct : block_do_construct { $1 } -block_do_construct :: { Fortran A0 } -block_do_construct -: srcloc nonlabel_do_stmt newline do_block {% getSrcSpan $1 >>= (\s -> return $ For () s (fst4 $2) (snd4 $2) (trd4 $2) (frh4 $2) $4) } +block_do_construct :: { Fortran A0 } +block_do_construct +: srcloc nonlabel_do_stmt newline do_block {% getSrcSpan $1 >>= (\s -> return $ For () s (fst4 $2) (snd4 $2) (trd4 $2) (frh4 $2) $4) } | srcloc DO WHILE '(' logical_expr ')' newline do_block {% getSrcSpan $1 >>= (\s -> return $ DoWhile () s $5 $8) } -| srcloc DO num ',' loop_control newline do_block_num +| srcloc DO num ',' loop_control newline do_block_num {% do { (fs, n) <- return $ $7; s <- getSrcSpan $1; - if (n == $3) then + if (n == $3) then return $ For () s (fst4 $5) (snd4 $5) (trd4 $5) (frh4 $5) fs else parseError "DO/END DO labels don't match" } } -| srcloc DO num loop_control newline do_block_num +| srcloc DO num loop_control newline do_block_num {% do { (fs, n) <- return $ $6; s <- getSrcSpan $1; - if (n == $3) then + if (n == $3) then return $ For () s (fst4 $4) (snd4 $4) (trd4 $4) (frh4 $4) fs else parseError "DO/END DO labels don't match" } } -| srcloc DO num loop_control newline do_block_cont +| srcloc DO num loop_control newline do_block_cont {% do { (fs, n) <- return $ $6; s <- getSrcSpan $1; - if (n == $3) then + if (n == $3) then return $ For () s (fst4 $4) (snd4 $4) (trd4 $4) (frh4 $4) fs else return $ NullStmt () s -- parseError $ "DO/CONTINUE labels don't match" -- NEEDS FIXING! } } @@ -1139,25 +1146,25 @@ do_block_cont :: { (Fortran A0, String) } -do_block_cont : +do_block_cont : num CONTINUE {% getSrcSpanNull >>= (\s -> return $ (NullStmt () s, $1)) } | line newline do_block_cont { let (fs, n) = $3 in (FSeq () (spanTrans $1 fs) $1 fs, n) } line :: { Fortran A0 } -line : num executable_constructP {% getSrcSpanNull >>= (\s -> return $ Label () s $1 $2 ) } - | executable_constructP { $1 } +line : executable_constructP { $1 } + | label executable_constructP {% getSrcSpanNull >>= (\s -> return $ Label () s $1 $2 ) } end_do :: { } end_do : END DO {} -| ENDDO {} +| ENDDO {} block :: { Fortran A0 } block : executable_construct_list { $1 } - + execution_part :: { Fortran A0 } -execution_part +execution_part : executable_construct_list { $1 } executable_construct_list :: { Fortran A0 } @@ -1179,9 +1186,9 @@ | if_construct { $1 } | action_stmt { $1 } - + equivalence_stmt :: { Decl A0 } -equivalence_stmt +equivalence_stmt : srcloc EQUIVALENCE '(' vlist ')' {% getSrcSpan $1 >>= (\s -> return $ Equivalence () s $4) } action_stmt :: { Fortran A0 } @@ -1232,7 +1239,7 @@ call_name :: { Expr A0 } call_name -: srcloc id2 {% (getSrcSpan $1) >>= (\s -> return $ Var () s [(VarName () $2,[])]) } +: srcloc id2 {% (getSrcSpan $1) >>= (\s -> return $ Var () s [(VarName () $2,[])]) } actual_arg_spec_list :: { Expr A0 } actual_arg_spec_list @@ -1261,12 +1268,12 @@ : ELSE if_then_stmt { $2 } if_then_stmt :: { Expr A0 } -if_then_stmt +if_then_stmt : IF '(' logical_expr ')' THEN newline { $3 } - + else_if_then_stmt :: { Expr A0 } -else_if_then_stmt +else_if_then_stmt : ELSEIF '(' logical_expr ')' THEN newline { $3 } | ELSE IF '(' logical_expr ')' THEN newline { $4 } @@ -1278,23 +1285,23 @@ if_construct :: { Fortran A0 } if_construct -: +: -- FORTRAN 77 numerical comparison IFs - srcloc IF '(' logical_expr ')' num ',' num ',' num + srcloc IF '(' logical_expr ')' num ',' num ',' num {% getSrcSpan $1 >>= (\s -> return $ If () s (Bin () s (RelLT ()) $4 (Con () s "0")) (Goto () s $6) [(Bin () s (RelEQ ()) $4 (Con () s "0"), (Goto () s $8)), (Bin () s (RelGT ()) $4 (Con () s "0"), (Goto () s $10))] Nothing) } -- Other If forms -| srcloc if_then_stmt block end_if_stmt +| srcloc if_then_stmt block end_if_stmt {% getSrcSpan $1 >>= (\s -> return $ If () s $2 $3 [] Nothing) } -| srcloc if_then_stmt block else_if_list end_if_stmt +| srcloc if_then_stmt block else_if_list end_if_stmt {% getSrcSpan $1 >>= (\s -> return $ If () s $2 $3 $4 Nothing) } -| srcloc if_then_stmt block else_if_list ELSE newline block end_if_stmt +| srcloc if_then_stmt block else_if_list ELSE newline block end_if_stmt {% getSrcSpan $1 >>= (\s -> return $ If () s $2 $3 $4 (Just $7)) } --| if_then_stmt block ELSE block end_if_stmt {% getSrcSpan $1 (\s -> If s $1 $2 [] (Just $4)) } @@ -1305,14 +1312,14 @@ --| if_then_stmt block END IF { (If $1 $2 [] Nothing) } --| if_then_stmt block ELSE block END IF { (If $1 $2 [] (Just $4)) } --- : if_then_stmt block ----- else_if_list --- else_opt +-- : if_then_stmt block +---- else_if_list +-- else_opt -- END IF { (If $1 $2 $3) } end_if_stmt :: {} end_if_stmt : END IF { } - | ENDIF { } + | ENDIF { } logical_expr :: { Expr A0 } @@ -1321,10 +1328,10 @@ allocate_stmt :: { Fortran A0 } allocate_stmt - : srcloc ALLOCATE '(' allocation_list ',' STAT '=' variable ')' + : srcloc ALLOCATE '(' allocation_list ',' STAT '=' variable ')' {% getSrcSpan $1 >>= (\s -> return $ Allocate () s $4 $8) } - | srcloc ALLOCATE '(' allocation_list ')' + | srcloc ALLOCATE '(' allocation_list ')' {% getSrcSpanNull >>= (\e -> getSrcSpan $1 >>= (\s -> return $ Allocate () s $4 (NullExpr () e))) } @@ -1403,7 +1410,7 @@ close_spec : expr { NoSpec () $1 } | UNIT '=' expr { Unit () $3 } -- units-of-measure -| ID '=' expr +| ID '=' expr {% case (map (toLower) $1) of "iostat" -> return (IOStat () $3) "status" -> return (Status () $3) @@ -1424,7 +1431,7 @@ deallocate_stmt :: { Fortran A0 } deallocate_stmt -: srcloc DEALLOCATE '(' allocate_object_list ',' STAT '=' variable ')' +: srcloc DEALLOCATE '(' allocate_object_list ',' STAT '=' variable ')' {% getSrcSpan $1 >>= (\s -> return $ Deallocate () s $4 $8) } | srcloc DEALLOCATE '(' allocate_object_list ')' @@ -1441,15 +1448,15 @@ | srcloc EXIT {% getSrcSpan $1 >>= (\s -> return $ Exit () s "") } forall_stmt :: { Fortran A0 } -forall_stmt -: srcloc FORALL forall_header forall_assignment_stmt +forall_stmt +: srcloc FORALL forall_header forall_assignment_stmt {% getSrcSpan $1 >>= (\s -> return $ Forall () s $3 $4) } - | srcloc FORALL forall_header newline forall_assignment_stmt_list forall_stmt_end + | srcloc FORALL forall_header newline forall_assignment_stmt_list forall_stmt_end {% getSrcSpan $1 >>= (\s -> return $ Forall () s $3 $5) } forall_stmt_end :: {} -forall_stmt_end +forall_stmt_end : END FORALL {} | {- empty -} {} @@ -1475,7 +1482,7 @@ forall_assignment_stmt_list :: { Fortran A0 } -forall_assignment_stmt_list +forall_assignment_stmt_list : forall_assignment_stmt newline forall_assignment_stmt_list { FSeq () (spanTrans $1 $3) $1 $3 } | forall_assignment_stmt newline { $1 } @@ -1490,9 +1497,9 @@ inquire_stmt :: { Fortran A0 } inquire_stmt -: srcloc INQUIRE '(' inquire_spec_list ')' - {% getSrcSpan $1 >>= (\s -> return $ Inquire () s $4 []) } - | srcloc INQUIRE '(' IOLENGTH '=' variable ')' output_item_list +: srcloc INQUIRE '(' inquire_spec_list ')' + {% getSrcSpan $1 >>= (\s -> return $ Inquire () s $4 []) } + | srcloc INQUIRE '(' IOLENGTH '=' variable ')' output_item_list {% getSrcSpan $1 >>= (\s -> return $ Inquire () s [IOLength () $6] $8) } @@ -1576,7 +1583,7 @@ connect_spec :: { Spec A0 } connect_spec : expr { NoSpec () $1 } -| UNIT '=' expr { Unit () $3 } +| UNIT '=' expr { Unit () $3 } | ID '=' expr {% case (map (toLower) $1) of "iostat" -> return (IOStat () $3) "file" -> return (File () $3) @@ -1622,7 +1629,7 @@ format :: { Expr A0 } format : expr { $1 } --- | literal_constant { (Con $1) } -- label +| STR {% getSrcSpanNull >>= (\s -> return $ (Con () s $1)) } -- string literal | '*' {% getSrcSpanNull >>= (\s -> return $ Var () s [(VarName () "*",[])]) } output_item_list :: { [Expr A0] } @@ -1651,15 +1658,15 @@ {- -| '(/' ',' io_control_spec_list '/)' { ((Delimiter ()):$3) ++ [Delimiter ()] } +| '(/' ',' io_control_spec_list '/)' { ((Delimiter ()):$3) ++ [Delimiter ()] } | '(' io_control_spec_list '/)' { $2 ++ [Delimiter ()] } - '(/' ',' io_control_spec_list ',' '/)' { ((Delimiter ()):$3) ++ [Delimiter ()] } + '(/' ',' io_control_spec_list ',' '/)' { ((Delimiter ()):$3) ++ [Delimiter ()] } | '(' io_control_spec_list ',' '/)' { $2 ++ [Delimiter ()] } -} io_control_spec_list_d2 :: { [Spec A0] } -io_control_spec_list_d2 : +io_control_spec_list_d2 : io_control_spec ',' io_control_spec_list_d2 { $1 ++ $3 } | '/)' { [Delimiter ()] } | io_control_spec ')' { $1 } @@ -1667,20 +1674,20 @@ io_control_spec_list :: { [Spec A0] } -io_control_spec_list : +io_control_spec_list : io_control_spec ',' io_control_spec_list { $1 ++ $3 } | io_control_spec { $1 } -- (unit, fmt = format), (rec, advance = expr), (nml, iostat, id = var), (err, end, eor = label) -io_control_spec :: { [Spec A0] } +io_control_spec :: { [Spec A0] } io_control_spec : --format { [NoSpec () $1] } '/' { [Delimiter ()] } | '*' {% getSrcSpanNull >>= (\s -> return $ [NoSpec () (Var () s [(VarName () "*", [])])]) } | STR { [StringLit () $1] } | STR '/' { [StringLit () $1, Delimiter ()] } -| END '=' label { [End () $3] } +| END '=' labelExpr { [End () $3] } | io_control_spec_id { [$1] } | num {% getSrcSpanNull >>= (\s -> return $ [Number () (Con () s $1)]) } | floating_spec { [$1] } @@ -1693,15 +1700,15 @@ io_control_spec_id :: { Spec A0 } : variable { NoSpec () $1 } --| UNIT '=' format { Unit () $3 } ---| ID '=' format {% case (map (toLower) $1) of --- "fmt" -> return (FMT () $3) --- "rec" -> return (Rec () $3) --- "advance" -> return (Advance () $3) --- "nml" -> return (NML () $3) --- "iostat" -> return (IOStat () $3) --- "size" -> return (Size () $3) --- "eor" -> return (Eor () $3) --- s -> parseError ("incorrect name in spec list: " ++ s) } +| ID '=' format {% case (map (toLower) $1) of + "fmt" -> return (FMT () $3) + "rec" -> return (Rec () $3) + "advance" -> return (Advance () $3) + "nml" -> return (NML () $3) + "iostat" -> return (IOStat () $3) + "size" -> return (Size () $3) + "eor" -> return (Eor () $3) + s -> parseError ("incorrect name in spec list: " ++ s) } -- | namelist_group_name { NoSpec $1 } @@ -1722,9 +1729,15 @@ -- | '*' { (Var [(VarName () "*",[])]) } -- | internal_file_unit { $1 } -label :: { Expr A0 } +label :: { String } label +: LABEL { $1 } +-- | ID ':' { $1 } + +labelExpr :: {Expr A0} +labelExpr : srcloc LABEL {% (getSrcSpan $1) >>= (\s -> return $ Con () s $2) } +-- | srcloc ID {% (getSrcSpan $1) >>= (\s -> return $ Con () s $2) } num :: { String } num @@ -1772,14 +1785,14 @@ stop_code :: { Expr A0 } stop_code : constant { $1 } - + where_stmt :: { Fortran A0 } where_stmt -: srcloc WHERE '(' mask_expr ')' where_assignment_stmt {% getSrcSpan $1 >>= (\s -> return $ Where () s $4 $6 Nothing) } -| srcloc WHERE '(' mask_expr ')' newline where_assignment_stmt {% getSrcSpan $1 >>= (\s -> return $ Where () s $4 $7 Nothing) } -| srcloc WHERE '(' mask_expr ')' newline where_assignment_stmt newline ELSEWHERE newline where_assignment_stmt +: srcloc WHERE '(' mask_expr ')' where_assignment_stmt {% getSrcSpan $1 >>= (\s -> return $ Where () s $4 $6 Nothing) } +| srcloc WHERE '(' mask_expr ')' newline where_assignment_stmt {% getSrcSpan $1 >>= (\s -> return $ Where () s $4 $7 Nothing) } +| srcloc WHERE '(' mask_expr ')' newline where_assignment_stmt newline ELSEWHERE newline where_assignment_stmt newline END WHERE {% getSrcSpan $1 >>= (\s -> return $ Where () s $4 $7 (Just $11)) } where_assignment_stmt :: { Fortran A0 } @@ -1807,7 +1820,7 @@ -- Type of annotations -type A0 = () +type A0 = () getSrcSpan :: SrcLoc -> P (SrcLoc, SrcLoc) getSrcSpan l = do l' <- getSrcLoc' @@ -1848,7 +1861,7 @@ AlexToken (_,b,t) len _ -> take len s parse :: String -> Program A0 -parse p = case (runParser parser (pre_process p)) of +parse p = case (runParser parser (pre_process p)) of (ParseOk p) -> p (ParseFailed l e) -> error e
src/Language/Fortran/Pretty.hs view
@@ -1,7 +1,7 @@--- --- Pretty.hs - +--+-- Pretty.hs - -- Based on code by Martin Erwig from Parameterized Fortran--- Fortran pretty printer +-- Fortran pretty printer {-# LANGUAGE ExistentialQuantification, FlexibleContexts, FlexibleInstances, UndecidableInstances, MultiParamTypeClasses, DeriveDataTypeable, QuasiQuotes, DeriveFunctor, ImplicitParams, OverlappingInstances, ConstraintKinds #-} @@ -19,11 +19,11 @@ data DefaultPP = DefaultPP -- Default behaviour -- | The set of all types which can be used to switch between pretty printer versions-class PPVersion a +class PPVersion a instance PPVersion DefaultPP -- Pretty printable types predicate (aliases the PrintMaster constraint)-type PrettyPrintable t = PrintMaster t DefaultPP +type PrettyPrintable t = PrintMaster t DefaultPP -- | Master print behaviour class PrintMaster t v where@@ -47,7 +47,7 @@ instance (PrintIndMaster t DefaultPP) => PrintIndSlave t DefaultPP where printIndSlave = printIndMaster --- | Behaviours that all slaves must have, i.e., for all versions v +-- | Behaviours that all slaves must have, i.e., for all versions v instance PPVersion v => PrintSlave String v where printSlave = id @@ -60,11 +60,11 @@ instance (PPVersion v, PrintSlave (ProgUnit p) v) => PrintMaster [ProgUnit p] v where printMaster xs = concat $ intersperse "\n" (map printSlave xs) -instance (PrintSlave (Arg p) v, +instance (PrintSlave (Arg p) v, PrintSlave (BaseType p) v, PrintSlave (Block p) v, PrintSlave (Decl p) v,- PrintSlave (Fortran p) v, + PrintSlave (Fortran p) v, PrintSlave (Implicit p) v, PrintSlave (SubName p) v, PrintSlave (VarName p) v,@@ -88,11 +88,11 @@ printMaster (Function _ _ Nothing n a Nothing b) = "function "++(printSlave n)++printSlave a++"\n"++ printSlave b++ "\nend function "++(printSlave n)++"\n"- printMaster (Main _ _ n a b []) = "program "++(printSlave n) ++ + printMaster (Main _ _ n a b []) = "program "++(printSlave n) ++ (if not (isEmptyArg a) then (printSlave a) else ""++"\n") ++ printSlave b ++ "\nend program "++ (printSlave n) ++"\n"- printMaster (Main _ _ n a b ps) = "program "++(printSlave n) ++ + printMaster (Main _ _ n a b ps) = "program "++(printSlave n) ++ (if not (isEmptyArg a) then (printSlave a) else ""++"\n") ++ printSlave b ++ "\ncontains\n" ++@@ -118,7 +118,7 @@ "end block data " ++ (printSlave n)++"\n" printMaster (Prog _ _ p) = printSlave p printMaster (NullProg _ _) = ""- printMaster (IncludeProg _ _ ds Nothing) = printSlave ds + printMaster (IncludeProg _ _ ds Nothing) = printSlave ds printMaster (IncludeProg _ _ ds (Just f)) = printSlave ds ++ "\n" ++ printSlave f instance (PrintSlave (Fortran p) v, PrintSlave (Decl p) v, PrintSlave (Implicit p) v, PPVersion v) =>@@ -127,22 +127,22 @@ instance (PrintSlave (Expr p) v) => PrintMaster (DataForm p) v where- printMaster (Data _ ds) = "data "++(concat (intersperse "\n" (map show_data ds))) + printMaster (Data _ ds) = "data "++(concat (intersperse "\n" (map show_data ds))) -instance (Indentor (Decl p), +instance (Indentor (Decl p), PrintSlave (Arg p) v, PrintSlave (ArgList p) v, PrintSlave (Attr p) v, PrintSlave (BinOp p) v, PrintSlave (Decl p) v, PrintSlave (DataForm p) v,- PrintSlave (Expr p) v, - PrintSlave (GSpec p) v, + PrintSlave (Expr p) v,+ PrintSlave (GSpec p) v, PrintSlave (Implicit p) v,- PrintSlave (InterfaceSpec p) v, + PrintSlave (InterfaceSpec p) v, PrintSlave (MeasureUnitSpec p) v, PrintSlave (SubName p) v,- PrintSlave (UnaryOp p) v, + PrintSlave (UnaryOp p) v, PrintSlave (VarName p) v, PrintSlave (Type p) v, PPVersion v) => PrintMaster (Decl p) v where@@ -155,7 +155,7 @@ printMaster (AccessStmt _ p gs) = ind 1++printSlave p ++ " :: " ++ (concat . intersperse ", " . map printSlave) gs++"\n" printMaster (ExternalStmt _ xs) = ind 1++"external :: " ++ (concat (intersperse "," xs)) ++ "\n" printMaster (Interface _ (Just g) is) = ind 1 ++ "interface " ++ printSlave g ++ printMasterInterfaceSpecs is ++ ind 1 ++ "end interface" ++ printSlave g ++ "\n"- printMaster (Common _ _ name exps) = ind 1++"common " ++ (case name of + printMaster (Common _ _ name exps) = ind 1++"common " ++ (case name of Just n -> "/" ++ n ++ "/ " Nothing -> "") ++ (concat (intersperse "," (map printMaster exps))) ++ "\n" printMaster (Interface _ Nothing is) = ind 1 ++ "interface " ++ printMasterInterfaceSpecs is ++ ind 1 ++ "end interface\n"@@ -164,7 +164,7 @@ printMaster (Include _ i) = "include "++printSlave i printMaster (DSeq _ d d') = printSlave d++printSlave d' printMaster (NullDecl _ _) = ""- + printMasterInterfaceSpecs xs = concat $ intersperse "\n" (map printMaster xs) show_namelist ((x,xs):[]) = "/" ++ printSlave x ++ "/" ++ (concat (intersperse ", " (map printSlave xs)))@@ -178,8 +178,8 @@ showDU (name,spec) = printMaster name++" = "++printMaster spec -instance (PrintSlave (ArgList p) v, - PrintSlave (BinOp p) v, +instance (PrintSlave (ArgList p) v,+ PrintSlave (BinOp p) v, PrintSlave (UnaryOp p) v, PrintSlave (BaseType p) v, PrintSlave (Expr p) v,@@ -200,8 +200,8 @@ printMaster (ArrayT _ rs bt as e e') = printSlave bt++" (len="++printSlave e'++"kind="++printSlave e++")"++" , dimension ("++showRanges rs++")"++printMasterList as -instance (PrintSlave (ArgList p) v, PrintSlave (BinOp p) v, PrintSlave (Expr p) v, PrintSlave (UnaryOp p) v, - PrintSlave (VarName p) v, +instance (PrintSlave (ArgList p) v, PrintSlave (BinOp p) v, PrintSlave (Expr p) v, PrintSlave (UnaryOp p) v,+ PrintSlave (VarName p) v, PrintSlave (MeasureUnitSpec p) v, PPVersion v) => PrintMaster (Attr p) v where --new printMaster (Allocatable _) = "allocatable " printMaster (Parameter _) = "parameter "@@ -258,7 +258,7 @@ printMaster (SomeType _) = error "sometype not valid in output source file" -- Printing statements and expressions--- +-- instance (PrintSlave (ArgList p) v, PrintSlave (BinOp p) v, PrintSlave (Expr p) v,@@ -290,13 +290,13 @@ instance (PrintSlave (ArgName p) v, PPVersion v) => PrintMaster (Arg p) v where printMaster (Arg _ vs _) = "("++ printSlave vs ++")"- + instance (PrintSlave (Expr p) v, PPVersion v) => PrintMaster (ArgList p) v where printMaster (ArgList _ es) = "("++printSlave es++")" -- asTuple printSlave es- + instance PPVersion v => PrintMaster (BinOp p) v where printMaster (Plus _) ="+"- printMaster (Minus _) ="-" + printMaster (Minus _) ="-" printMaster (Mul _) ="*" printMaster (Div _) ="/" printMaster (Or _) =".or."@@ -313,12 +313,12 @@ instance PPVersion v => PrintMaster (UnaryOp p) v where printMaster (UMinus _) = "-" printMaster (Not _) = ".not."- + instance PPVersion v => PrintMaster (VarName p) v where- printMaster (VarName _ v) = v + printMaster (VarName _ v) = v instance (PrintSlave (VarName p) v, PrintSlave (ArgName p) v, PPVersion v) => PrintMaster (ArgName p) v where- printMaster (ArgName _ a) = a + printMaster (ArgName _ a) = a printMaster (ASeq _ (NullArg _) (NullArg _)) = "" printMaster (ASeq _ (NullArg _) a') = printSlave a' printMaster (ASeq _ a (NullArg _)) = printSlave a@@ -332,7 +332,7 @@ instance PPVersion v => PrintMaster ( Implicit p) v where printMaster (ImplicitNone _) = " implicit none\n" printMaster (ImplicitNull _) = ""- + instance (PrintSlave (Expr p) v, PPVersion v) => PrintMaster (Spec p) v where printMaster (Access _ s) = "access = " ++ printSlave s printMaster (Action _ s) = "action = "++printSlave s@@ -385,11 +385,16 @@ showUse :: Uses p -> String showUse (UseNil _) = ""-showUse (Use _ (n, []) us _) = ((ind 1)++"use "++n++"\n") ++ (showUse us)-showUse (Use _ (n, renames) us _) = ((ind 1)++"use "++n++", " ++ +showUse (Uses _ (Use n []) us _) = ((ind 1)++"use "++n++"\n") ++ (showUse us)+showUse (Uses _ (Use n renames) us _) = ((ind 1)++"use "++n++", " ++ (concat $ intersperse ", " (map (\(a, b) -> a ++ " => " ++ b) renames)) ++ "\n") ++ (showUse us)-+showUse (Uses _ (UseOnly n renames) us _) = ((ind 1)++"use "++n++", only: " +++ (concat $ intersperse ", " (map showOnly renames)) +++ "\n") ++ (showUse us)+ where+ showOnly (a, Just b) = a ++ " => " ++ b+ showOnly (a, Nothing) = a isEmptyArg (Arg _ as _) = and (isEmptyArgName as) isEmptyArgName (ASeq _ a a') = isEmptyArgName a ++ isEmptyArgName a'@@ -408,7 +413,7 @@ opPrec (RelEQ _) = 2 opPrec (RelNE _) = 2 opPrec (RelLT _) = 2-opPrec (RelLE _) = 2 +opPrec (RelLE _) = 2 opPrec (RelGT _) = 2 opPrec (RelGE _) = 2 opPrec (Concat _) = 3@@ -425,18 +430,18 @@ instance Indentor (p ()) where indR t i = ind i -instance (Indentor (Fortran p), +instance (Indentor (Fortran p), PrintSlave (VarName p) v, PrintSlave (Expr p) v, PrintSlave (UnaryOp p) v,- PrintSlave (BinOp p) v, + PrintSlave (BinOp p) v, PrintSlave (ArgList p) v, PrintIndSlave (Fortran p) v,- PrintSlave (DataForm p) v, + PrintSlave (DataForm p) v, PrintSlave (Fortran p) v, PrintSlave (Spec p) v, PPVersion v) => PrintIndMaster (Fortran p) v where printIndMaster i t@(Assg _ _ v e) = (indR t i)++printSlave v++" = "++printSlave e- printIndMaster i t@(DoWhile _ _ e f) = (indR t i)++"do while (" ++ printSlave e ++ ")\n" ++ + printIndMaster i t@(DoWhile _ _ e f) = (indR t i)++"do while (" ++ printSlave e ++ ")\n" ++ printIndSlave (i+1) f ++ "\n" ++ (indR t i) ++ "end do" printIndMaster i t@(For _ _ (VarName _ "") e e' e'' f) = (indR t i)++"do \n"++ (printIndSlave (i+1) f)++"\n"++(indR t i)++"end do"@@ -509,7 +514,7 @@ -- Indenting -ind = indent 3 +ind = indent 3 indent i l = take (i*l) (repeat ' ') @@ -527,13 +532,13 @@ asParagraphs = printList ["\n","\n\n","\n"] -- Auxiliary functions--- +-- optTuple :: (?variant :: v, PPVersion v, PrintSlave (UnaryOp p) v, PrintMaster (Expr p) v) => [Expr p] -> String optTuple [] = "" optTuple xs = asTuple printMaster xs -- *optTuple xs = "" -- indent and showInd enable indented printing--- +-- showUnits :: (PPVersion v, ?variant :: v, PrintMaster (Fraction p) v) => [(MeasureUnit, Fraction p)] -> String showUnits units@@ -554,8 +559,8 @@ showRanges :: (PPVersion v, ?variant :: v, PrintMaster (Expr p) v) => [(Expr p, Expr p)] -> String showRanges = asSeq showBounds -showPartRefList :: (PPVersion v, ?variant :: v, PrintSlave (VarName p) v, +showPartRefList :: (PPVersion v, ?variant :: v, PrintSlave (VarName p) v, PrintSlave (UnaryOp p) v, PrintMaster (Expr p) v) => [(VarName p,[Expr p])] -> String showPartRefList [] = ""-showPartRefList ((v,es):[]) = printSlave v ++ optTuple es +showPartRefList ((v,es):[]) = printSlave v ++ optTuple es showPartRefList ((v,es):xs) = printSlave v ++ optTuple es ++ "%" ++ showPartRefList xs