diff --git a/gen/haskell/AbsABS.hs b/gen/haskell/AbsABS.hs index 4fb9208..ffdb943 100644 --- a/gen/haskell/AbsABS.hs +++ b/gen/haskell/AbsABS.hs @@ -130,8 +130,9 @@ data Stm = | SSuspend | SSkip | SAssert PureExp - | SAwait Guard + | SAwait AwaitGuard | SThrow PureExp + | SGive PureExp PureExp | STryCatchFinally AnnotStm [CatchBranch] MaybeFinally | SPrint PureExp deriving (Eq,Ord,Show,Read) @@ -145,11 +146,13 @@ data MaybeFinally = | NoFinally deriving (Eq,Ord,Show,Read) -data Guard = - VarGuard LIdent - | FieldGuard LIdent +data AwaitGuard = + FutGuard LIdent + | ProGuard LIdent + | FutFieldGuard LIdent + | ProFieldGuard LIdent | ExpGuard PureExp - | AndGuard Guard Guard + | AndGuard AwaitGuard AwaitGuard deriving (Eq,Ord,Show,Read) data Exp = @@ -216,6 +219,9 @@ data EffExp = | AsyncMethCall PureExp LIdent [PureExp] | ThisAsyncMethCall LIdent [PureExp] | Get PureExp + | ProGet PureExp + | ProNew + | ProEmpty PureExp | Spawns PureExp Type [PureExp] deriving (Eq,Ord,Show,Read) diff --git a/gen/haskell/DocABS.txt b/gen/haskell/DocABS.txt index c537129..8eee386 100644 --- a/gen/haskell/DocABS.txt +++ b/gen/haskell/DocABS.txt @@ -40,7 +40,8 @@ The reserved words used in ABS are the following: | ``fimport`` | ``finally`` | ``from`` | ``get`` | ``if`` | ``implements`` | ``import`` | ``in`` | ``interface`` | ``let`` | ``local`` | ``module`` - | ``new`` | ``null`` | ``println`` | ``return`` + | ``new`` | ``null`` | ``println`` | ``pro_get`` + | ``pro_give`` | ``pro_isempty`` | ``pro_new`` | ``return`` | ``skip`` | ``spawns`` | ``suspend`` | ``then`` | ``this`` | ``thisDC`` | ``throw`` | ``try`` | ``type`` | ``while`` | | @@ -49,11 +50,11 @@ The symbols used in ABS are the following: | , | ; | * | _ | < | > | . | = | ( | ) | | | { - | } | => | ? | & - | || | && | == | != - | <= | >= | + | - - | / | % | ~ | [ - | ] | ! | : | + | } | => | ? | $ + | & | || | && | == + | != | <= | >= | + + | - | / | % | ~ + | [ | ] | ! | : ===Comments=== Single-line comments begin with //.Multiple-line comments are enclosed with /* and */. @@ -152,8 +153,9 @@ All other symbols are terminals. | | **|** | ``suspend`` ``;`` | | **|** | ``skip`` ``;`` | | **|** | ``assert`` //PureExp// ``;`` - | | **|** | ``await`` //Guard// ``;`` + | | **|** | ``await`` //AwaitGuard// ``;`` | | **|** | ``throw`` //PureExp// ``;`` + | | **|** | //PureExp// ``.`` ``pro_give`` ``(`` //PureExp// ``)`` ``;`` | | **|** | ``try`` //AnnotStm// ``catch`` ``{`` //[CatchBranch]// ``}`` //MaybeFinally// | | **|** | ``println`` //PureExp// ``;`` | //CatchBranch// | -> | //Pattern// ``=>`` //AnnotStm// @@ -161,10 +163,12 @@ All other symbols are terminals. | | **|** | //CatchBranch// //[CatchBranch]// | //MaybeFinally// | -> | ``finally`` //AnnotStm// | | **|** | **eps** - | //Guard// | -> | //LIdent// ``?`` + | //AwaitGuard// | -> | //LIdent// ``?`` + | | **|** | //LIdent// ``$`` | | **|** | ``this`` ``.`` //LIdent// ``?`` + | | **|** | ``this`` ``.`` //LIdent// ``$`` | | **|** | //PureExp// - | | **|** | //Guard// ``&`` //Guard// + | | **|** | //AwaitGuard// ``&`` //AwaitGuard// | //Exp// | -> | //PureExp// | | **|** | //EffExp// | //[PureExp]// | -> | **eps** @@ -229,6 +233,9 @@ All other symbols are terminals. | | **|** | //PureExp// ``!`` //LIdent// ``(`` //[PureExp]// ``)`` | | **|** | ``this`` ``!`` //LIdent// ``(`` //[PureExp]// ``)`` | | **|** | //PureExp// ``.`` ``get`` + | | **|** | //PureExp// ``.`` ``pro_get`` + | | **|** | ``pro_new`` + | | **|** | //PureExp// ``.`` ``pro_isempty`` | | **|** | //PureExp// ``spawns`` //Type// ``(`` //[PureExp]// ``)`` | //Annot// | -> | ``[`` //Annot_// ``]`` | //[Annot]// | -> | **eps** diff --git a/gen/haskell/LexABS.hs b/gen/haskell/LexABS.hs index a77db89..bfa11e6 100644 --- a/gen/haskell/LexABS.hs +++ b/gen/haskell/LexABS.hs @@ -32,10 +32,10 @@ alex_base :: AlexAddr alex_base = AlexA# "\xf8\xff\xff\xff\x4d\x00\x00\x00\xcd\x00\x00\x00\x4d\x01\x00\x00\x4d\x02\x00\x00\x0d\x02\x00\x00\x00\x00\x00\x00\x7e\x02\x00\x00\x7e\x03\x00\x00\x56\x00\x00\x00\x3e\x03\x00\x00\x14\x04\x00\x00\x00\x00\x00\x00\x80\x03\x00\x00\x14\x05\x00\x00\x15\x05\x00\x00\x58\x05\x00\x00\x98\x05\x00\x00\x58\x06\x00\x00\x18\x06\x00\x00\x00\x00\x00\x00\x0e\x07\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xe3\xff\xff\xff\xc9\xff\xff\xff\xd1\xff\xff\xff\x00\x00\x00\x00\x8b\xff\xff\xff\xea\xff\xff\xff\xe7\x07\x00\x00\x4a\x08\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00"# alex_table :: AlexAddr -alex_table = AlexA# "\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1b\x00\x1b\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x0b\x00\x1b\x00\x1b\x00\x1b\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x19\x00\x0e\x00\x00\x00\x00\x00\x1b\x00\x1d\x00\x17\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x18\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x1b\x00\x1b\x00\x19\x00\x1a\x00\x19\x00\x1b\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1b\x00\x00\x00\x1b\x00\x00\x00\x1b\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1b\x00\x1c\x00\x1b\x00\x1b\x00\x01\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x16\x00\x0e\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\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\x04\x00\x05\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\x12\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x02\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\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\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x13\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\x00\x05\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\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x20\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x09\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x08\x00\x0a\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x12\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x13\x00\x02\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0d\x00\x03\x00\x06\x00\x06\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\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\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\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x11\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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_table = AlexA# "\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1b\x00\x1b\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x0b\x00\x1b\x00\x1b\x00\x1b\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x19\x00\x0e\x00\x00\x00\x1b\x00\x1b\x00\x1d\x00\x17\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x18\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x1b\x00\x1b\x00\x19\x00\x1a\x00\x19\x00\x1b\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1b\x00\x00\x00\x1b\x00\x00\x00\x1b\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1b\x00\x1c\x00\x1b\x00\x1b\x00\x01\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x16\x00\x0e\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\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\x04\x00\x05\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\x12\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x02\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\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\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x13\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\x00\x05\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\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x20\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x09\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x08\x00\x0a\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x12\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x14\x00\x13\x00\x02\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0d\x00\x03\x00\x06\x00\x06\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\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\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\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x11\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3d\x00\x7c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2a\x00\x3d\x00\x3e\x00\x26\x00\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\xff\xff\x25\x00\x26\x00\x20\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\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\x5b\x00\xff\xff\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x2a\x00\x22\x00\xff\xff\xff\xff\xff\xff\x2f\x00\x27\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\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\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\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2a\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\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\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\xff\xff\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\xff\xff\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xff\xff\xc2\x00\xc3\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\xff\xff\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\xff\xff\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\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\xff\xff\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\xff\xff\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\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\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\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\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\xc3\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\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"# +alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3d\x00\x7c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2a\x00\x3d\x00\x3e\x00\x26\x00\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\x24\x00\x25\x00\x26\x00\x20\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\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\x5b\x00\xff\xff\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x2a\x00\x22\x00\xff\xff\xff\xff\xff\xff\x2f\x00\x27\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\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\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\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2a\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\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\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\xff\xff\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\xff\xff\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xff\xff\xc2\x00\xc3\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\xff\xff\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\xff\xff\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\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\xff\xff\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\xff\xff\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\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\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\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\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\xc3\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\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"# alex_deflt :: AlexAddr alex_deflt = AlexA# "\xff\xff\x0b\x00\xff\xff\xff\xff\x0b\x00\x0b\x00\x0c\x00\x0c\x00\x0e\x00\xff\xff\x0e\x00\x0b\x00\x14\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x15\x00\x15\x00\x15\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"# @@ -97,7 +97,7 @@ eitherResIdent tv s = treeFind resWords | s > a = treeFind right | s == a = t -resWords = b "else" 35 (b "=" 18 (b "+" 9 (b "&&" 5 (b "%" 3 (b "!=" 2 (b "!" 1 N N) N) (b "&" 4 N N)) (b ")" 7 (b "(" 6 N N) (b "*" 8 N N))) (b ":" 14 (b "." 12 (b "-" 11 (b "," 10 N N) N) (b "/" 13 N N)) (b "<" 16 (b ";" 15 N N) (b "<=" 17 N N)))) (b "assert" 27 (b "?" 23 (b ">" 21 (b "=>" 20 (b "==" 19 N N) N) (b ">=" 22 N N)) (b "]" 25 (b "[" 24 N N) (b "_" 26 N N))) (b "catch" 31 (b "builtin" 29 (b "await" 28 N N) (b "case" 30 N N)) (b "data" 33 (b "class" 32 N N) (b "def" 34 N N))))) (b "println" 53 (b "implements" 44 (b "finally" 40 (b "extends" 38 (b "export" 37 (b "exception" 36 N N) N) (b "fimport" 39 N N)) (b "get" 42 (b "from" 41 N N) (b "if" 43 N N))) (b "local" 49 (b "interface" 47 (b "in" 46 (b "import" 45 N N) N) (b "let" 48 N N)) (b "new" 51 (b "module" 50 N N) (b "null" 52 N N)))) (b "try" 62 (b "then" 58 (b "spawns" 56 (b "skip" 55 (b "return" 54 N N) N) (b "suspend" 57 N N)) (b "thisDC" 60 (b "this" 59 N N) (b "throw" 61 N N))) (b "|" 66 (b "while" 64 (b "type" 63 N N) (b "{" 65 N N)) (b "}" 68 (b "||" 67 N N) (b "~" 69 N N))))) +resWords = b "export" 38 (b "=" 19 (b "+" 10 (b "&" 5 (b "$" 3 (b "!=" 2 (b "!" 1 N N) N) (b "%" 4 N N)) (b ")" 8 (b "(" 7 (b "&&" 6 N N) N) (b "*" 9 N N))) (b ":" 15 (b "." 13 (b "-" 12 (b "," 11 N N) N) (b "/" 14 N N)) (b "<" 17 (b ";" 16 N N) (b "<=" 18 N N)))) (b "await" 29 (b "?" 24 (b ">" 22 (b "=>" 21 (b "==" 20 N N) N) (b ">=" 23 N N)) (b "_" 27 (b "]" 26 (b "[" 25 N N) N) (b "assert" 28 N N))) (b "data" 34 (b "catch" 32 (b "case" 31 (b "builtin" 30 N N) N) (b "class" 33 N N)) (b "else" 36 (b "def" 35 N N) (b "exception" 37 N N))))) (b "pro_isempty" 57 (b "interface" 48 (b "get" 43 (b "finally" 41 (b "fimport" 40 (b "extends" 39 N N) N) (b "from" 42 N N)) (b "import" 46 (b "implements" 45 (b "if" 44 N N) N) (b "in" 47 N N))) (b "null" 53 (b "module" 51 (b "local" 50 (b "let" 49 N N) N) (b "new" 52 N N)) (b "pro_get" 55 (b "println" 54 N N) (b "pro_give" 56 N N)))) (b "throw" 66 (b "suspend" 62 (b "skip" 60 (b "return" 59 (b "pro_new" 58 N N) N) (b "spawns" 61 N N)) (b "this" 64 (b "then" 63 N N) (b "thisDC" 65 N N))) (b "|" 71 (b "while" 69 (b "type" 68 (b "try" 67 N N) N) (b "{" 70 N N)) (b "}" 73 (b "||" 72 N N) (b "~" 74 N N))))) where b s n = let bs = id s in B bs (TS bs n) diff --git a/gen/haskell/LexABS.x b/gen/haskell/LexABS.x index e381fbe..f2cf665 100644 --- a/gen/haskell/LexABS.x +++ b/gen/haskell/LexABS.x @@ -20,7 +20,7 @@ $i = [$l $d _ '] -- identifier character $u = [\0-\255] -- universal: any character @rsyms = -- symbols and non-identifier-like reserved words - \, | \; | \* | \_ | \< | \> | \. | \= | \( | \) | \| | \{ | \} | \= \> | \? | \& | \| \| | \& \& | \= \= | \! \= | \< \= | \> \= | \+ | \- | \/ | \% | \~ | \[ | \] | \! | \: + \, | \; | \* | \_ | \< | \> | \. | \= | \( | \) | \| | \{ | \} | \= \> | \? | \$ | \& | \| \| | \& \& | \= \= | \! \= | \< \= | \> \= | \+ | \- | \/ | \% | \~ | \[ | \] | \! | \: :- "//" [.]* ; -- Toss single line comments @@ -92,7 +92,7 @@ eitherResIdent tv s = treeFind resWords | s > a = treeFind right | s == a = t -resWords = b "else" 35 (b "=" 18 (b "+" 9 (b "&&" 5 (b "%" 3 (b "!=" 2 (b "!" 1 N N) N) (b "&" 4 N N)) (b ")" 7 (b "(" 6 N N) (b "*" 8 N N))) (b ":" 14 (b "." 12 (b "-" 11 (b "," 10 N N) N) (b "/" 13 N N)) (b "<" 16 (b ";" 15 N N) (b "<=" 17 N N)))) (b "assert" 27 (b "?" 23 (b ">" 21 (b "=>" 20 (b "==" 19 N N) N) (b ">=" 22 N N)) (b "]" 25 (b "[" 24 N N) (b "_" 26 N N))) (b "catch" 31 (b "builtin" 29 (b "await" 28 N N) (b "case" 30 N N)) (b "data" 33 (b "class" 32 N N) (b "def" 34 N N))))) (b "println" 53 (b "implements" 44 (b "finally" 40 (b "extends" 38 (b "export" 37 (b "exception" 36 N N) N) (b "fimport" 39 N N)) (b "get" 42 (b "from" 41 N N) (b "if" 43 N N))) (b "local" 49 (b "interface" 47 (b "in" 46 (b "import" 45 N N) N) (b "let" 48 N N)) (b "new" 51 (b "module" 50 N N) (b "null" 52 N N)))) (b "try" 62 (b "then" 58 (b "spawns" 56 (b "skip" 55 (b "return" 54 N N) N) (b "suspend" 57 N N)) (b "thisDC" 60 (b "this" 59 N N) (b "throw" 61 N N))) (b "|" 66 (b "while" 64 (b "type" 63 N N) (b "{" 65 N N)) (b "}" 68 (b "||" 67 N N) (b "~" 69 N N))))) +resWords = b "export" 38 (b "=" 19 (b "+" 10 (b "&" 5 (b "$" 3 (b "!=" 2 (b "!" 1 N N) N) (b "%" 4 N N)) (b ")" 8 (b "(" 7 (b "&&" 6 N N) N) (b "*" 9 N N))) (b ":" 15 (b "." 13 (b "-" 12 (b "," 11 N N) N) (b "/" 14 N N)) (b "<" 17 (b ";" 16 N N) (b "<=" 18 N N)))) (b "await" 29 (b "?" 24 (b ">" 22 (b "=>" 21 (b "==" 20 N N) N) (b ">=" 23 N N)) (b "_" 27 (b "]" 26 (b "[" 25 N N) N) (b "assert" 28 N N))) (b "data" 34 (b "catch" 32 (b "case" 31 (b "builtin" 30 N N) N) (b "class" 33 N N)) (b "else" 36 (b "def" 35 N N) (b "exception" 37 N N))))) (b "pro_isempty" 57 (b "interface" 48 (b "get" 43 (b "finally" 41 (b "fimport" 40 (b "extends" 39 N N) N) (b "from" 42 N N)) (b "import" 46 (b "implements" 45 (b "if" 44 N N) N) (b "in" 47 N N))) (b "null" 53 (b "module" 51 (b "local" 50 (b "let" 49 N N) N) (b "new" 52 N N)) (b "pro_get" 55 (b "println" 54 N N) (b "pro_give" 56 N N)))) (b "throw" 66 (b "suspend" 62 (b "skip" 60 (b "return" 59 (b "pro_new" 58 N N) N) (b "spawns" 61 N N)) (b "this" 64 (b "then" 63 N N) (b "thisDC" 65 N N))) (b "|" 71 (b "while" 69 (b "type" 68 (b "try" 67 N N) N) (b "{" 70 N N)) (b "}" 73 (b "||" 72 N N) (b "~" 74 N N))))) where b s n = let bs = id s in B bs (TS bs n) diff --git a/gen/haskell/ParABS.hs b/gen/haskell/ParABS.hs index 75b5d57..449a37d 100644 --- a/gen/haskell/ParABS.hs +++ b/gen/haskell/ParABS.hs @@ -263,10 +263,10 @@ happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x happyOut44 :: (HappyAbsSyn ) -> (MaybeFinally) happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut44 #-} -happyIn45 :: (Guard) -> (HappyAbsSyn ) +happyIn45 :: (AwaitGuard) -> (HappyAbsSyn ) happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn45 #-} -happyOut45 :: (HappyAbsSyn ) -> (Guard) +happyOut45 :: (HappyAbsSyn ) -> (AwaitGuard) happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut45 #-} happyIn46 :: (Exp) -> (HappyAbsSyn ) @@ -428,21 +428,21 @@ happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x happyActOffsets :: HappyAddr -happyActOffsets = HappyA# "\x00\x00\xb2\x04\x00\x00\xaf\x04\xc5\x04\x00\x00\xae\x04\x00\x00\xe6\x04\xe8\x04\x00\x00\x00\x00\xab\x04\x00\x00\xbb\x04\x00\x00\xcc\x04\x0f\x01\x0a\x00\x00\x00\x00\x00\xd0\x04\xad\x04\xac\x04\x00\x00\xb7\x04\x06\x00\xed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x08\x00\x00\xbd\x04\x9c\x04\x09\x01\xb8\x04\x00\x00\x9a\x04\x00\x00\x67\x04\x67\x04\x09\x01\x00\x00\x00\x00\x00\x00\x67\x04\x67\x04\x00\x00\x67\x04\x00\x00\x00\x00\x00\x00\xd2\x00\x67\x04\x67\x04\xf7\xff\x67\x04\x67\x04\x67\x04\x00\x00\x6a\x04\x67\x02\x69\x00\xa7\x04\x9d\x04\x5e\x04\x83\x04\x00\x00\x66\x02\xfd\xff\x00\x00\x00\x00\x93\x04\x4a\x01\x80\x04\xfc\xff\x4b\x04\x4a\x04\x87\x04\x19\x00\xe5\x01\xbe\x01\x1d\x02\x00\x00\x00\x00\x00\x00\x72\x04\x50\x01\x56\x01\x50\x01\x50\x01\x74\x04\x00\x00\x5f\x04\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x04\x00\x00\x26\x04\xf7\xff\xbe\x00\x20\x02\x00\x00\x11\x00\x00\x00\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x56\x01\x81\x00\x50\x01\xf7\xff\x50\x01\x50\x01\x50\x01\xf7\xff\x22\x04\x00\x00\x22\x04\x22\x04\x43\x01\x00\x00\xf7\xff\x22\x04\x00\x00\x22\x04\xf7\xff\x2f\x00\x00\x00\x00\x00\xe7\x00\x19\x04\x00\x00\x4f\x04\x0e\x00\x00\x00\x50\x01\x2a\x01\x24\x01\xda\x00\xfe\x00\xa0\x00\x42\x04\x3f\x04\x25\x01\xfe\x00\x00\x00\x47\x04\x00\x00\x3d\x04\x40\x04\x14\x04\x07\x04\xcf\x03\x17\x04\xc5\x03\x13\x04\x06\x04\xf7\xff\xc4\x03\xc9\x03\xe2\x03\xe5\x03\xd9\x00\xb1\x03\xaa\x03\xe9\x03\xe1\x03\xd3\x03\xfa\xff\xd8\x03\xa6\x03\xdd\x03\xc8\x03\xd5\x03\xfe\x00\xfe\x00\xd2\x03\x19\x00\xe5\x01\xe5\x01\x53\x00\x53\x00\x53\x00\x53\x00\x1d\x02\x1d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x96\x04\xfe\x00\xbf\x03\x00\x00\xb0\x03\xe2\xff\xbb\x03\x00\x00\xa9\x03\x7b\x03\xa3\x03\x00\x00\x00\x00\x00\x00\x9d\x03\xae\x03\x00\x00\x00\x00\xf7\xff\x00\x00\xfe\x00\x00\x00\xf7\xff\x68\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x07\x00\x80\x03\x00\x00\x5b\x03\x79\x03\x86\x03\x00\x00\xf7\xff\x00\x00\x43\x03\x00\x00\x6c\x00\x75\x03\x00\x00\x71\x03\x3a\x03\x00\x00\x1a\x03\xfe\x00\x62\x03\x6a\x00\x36\x03\x36\x03\x00\x00\x00\x00\x4b\x03\x04\x01\x5f\x00\x53\x03\xf7\xff\xfe\x00\x8e\x01\xd5\x00\x14\x03\x44\x03\x24\x00\x06\x03\xde\xff\xf7\xff\x00\x00\xb4\x01\xa0\x00\x3f\x03\x00\x00\xa0\x00\x47\x03\x45\x03\x00\x00\x24\x03\x00\x00\xe0\x02\xf8\x00\x00\x00\x00\x00\x0d\x00\x1f\x03\xcc\x00\x00\x00\xd2\x02\x00\x00\x51\x01\x16\x03\x00\x00\xd9\x02\x09\x00\x00\x00\x00\x00\xf7\xff\x00\x00\xd0\x02\x00\x00\xd4\x02\x00\x00\x00\x00\xeb\x02\xf6\x02\x00\x00\xb3\x02\xb2\x00\xb3\x01\xad\x00\xb3\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x96\x04\x96\x04\xcc\x00\xcc\x00\xdb\xff\xb7\x02\xf2\x02\xea\x02\x00\x00\xae\x02\xad\x00\xb1\x02\x00\x00\xf7\xff\x00\x00\xcc\x00\x00\x00\xe1\x02\xf7\xff\x9a\x00\x00\x00\xe9\x02\xd7\x02\x00\x00\x00\x00\xcc\x00\xcc\x00\x74\x00\xdf\x02\xdd\x02\xcc\x00\xfb\xff\xcb\x02\xb2\x02\xcc\x00\xcc\x00\xcc\x00\xbb\x02\x00\x00\x00\x00\xc0\x02\xb9\x02\xb8\x02\x00\x00\x9b\x02\xb6\x02\x00\x00\xac\x02\x94\x02\x92\x02\x62\x04\x00\x00\x00\x00\xf7\xff\x89\x02\x54\x02\x00\x00\x8e\x02\x00\x00\x1e\x00\x8d\x02\xaa\x00\x00\x00\x00\x00\x96\x04\x00\x00\xcc\x00\x53\x02\x00\x00\xa7\x00\x89\x00\x00\x00\x52\x02\x00\x00\x77\x02\x00\x00\x73\x02\x00\x00\x51\x02\x3a\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\x55\x00\x00\x00\x00\x00\x00\x00\x4f\x00\x46\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyActOffsets = HappyA# "\x00\x00\xea\x04\x00\x00\xe6\x04\x00\x05\x00\x00\xe5\x04\x00\x00\x21\x05\x22\x05\x00\x00\x00\x00\xe3\x04\x00\x00\x08\x05\x00\x00\x1d\x05\x95\x00\x09\x00\x00\x00\x00\x00\x12\x05\xf2\x04\xf1\x04\x00\x00\x0a\x05\x06\x00\xd4\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x03\x00\x00\xe9\x04\xd7\x04\x6e\x01\xe4\x04\x00\x00\xd6\x04\x00\x00\xa5\x04\xa5\x04\x6e\x01\x00\x00\x00\x00\x00\x00\xa5\x04\xa5\x04\x00\x00\xa5\x04\x00\x00\x00\x00\x00\x00\xa0\x00\xa5\x04\xa5\x04\x66\x00\xa5\x04\xa5\x04\xa5\x04\x00\x00\xa0\x04\xbc\x02\xed\xff\xde\x04\xc8\x04\x87\x04\xc5\x04\x00\x00\xb1\x02\xfc\xff\x00\x00\x00\x00\xc7\x04\x4e\x01\xc4\x04\xfb\xff\x74\x04\x76\x04\xb7\x04\x31\x01\xde\x01\x9f\x02\x29\x00\x00\x00\x00\x00\x00\x00\x9f\x04\x3c\x01\x29\x01\x3c\x01\x3c\x01\xb1\x04\x00\x00\x9b\x04\x00\x00\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x04\x00\x00\x59\x04\x66\x00\x1d\x01\x60\x02\x00\x00\x14\x00\x00\x00\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x32\x01\x3c\x01\x66\x00\x3c\x01\x3c\x01\x3c\x01\x66\x00\x57\x04\x00\x00\x57\x04\x57\x04\x23\x01\x00\x00\x66\x00\x57\x04\x00\x00\x57\x04\x66\x00\x32\x00\x00\x00\x00\x00\xc6\x00\x54\x04\x00\x00\x91\x04\x0d\x00\x00\x00\x3c\x01\x0c\x01\x06\x01\xc8\x00\xd6\x00\x00\x00\x63\x00\x7e\x04\x7d\x04\x78\x01\xd6\x00\x00\x00\x82\x04\x00\x00\x78\x04\x7b\x04\x6f\x04\x34\x04\x2e\x04\x68\x04\x36\x04\x67\x04\x69\x04\x66\x00\x2f\x04\x25\x04\x48\x04\x41\x04\xf3\x00\x07\x04\xfb\x03\x40\x04\x31\x04\x26\x04\x12\x00\x27\x04\xe4\x03\x22\x04\x15\x04\x21\x04\xd6\x00\xd6\x00\x24\x04\xfb\x00\xde\x01\xde\x01\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x29\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\xd6\x00\x20\x04\x00\x00\xf8\x03\xe4\xff\x03\x04\x00\x00\xf9\x03\xbe\x03\xf1\x03\x00\x00\x00\x00\x00\x00\xe5\x03\xf3\x03\x00\x00\x00\x00\x66\x00\x00\x00\xd6\x00\x00\x00\x66\x00\x8d\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\xeb\xff\xd9\x03\x00\x00\x9e\x03\xd3\x03\xcf\x03\x00\x00\x66\x00\x00\x00\x9a\x03\x00\x00\x05\x00\xc8\x03\x00\x00\xc3\x03\x88\x03\x00\x00\x8a\x03\xd6\x00\xb2\x03\x18\x00\x83\x03\x83\x03\x00\x00\x00\x00\xc0\x03\x04\x00\x6b\x01\x17\x00\xc7\x03\x66\x00\xd6\x00\xeb\x01\x7e\x00\x87\x03\xbd\x03\x15\x00\x6d\x03\x6a\x01\x66\x00\x00\x00\xe6\x00\x63\x00\xa5\x03\x00\x00\x63\x00\xb3\x03\x9d\x03\x00\x00\x00\x00\x99\x03\x00\x00\x98\x03\x00\x00\x4f\x03\xd0\x00\x00\x00\x00\x00\x00\x00\x13\x00\x8f\x03\x9a\x00\x00\x00\x47\x03\x9f\x01\x00\x00\x72\x00\x8d\x03\x00\x00\x4d\x03\x10\x00\x00\x00\x00\x00\x66\x00\x00\x00\x22\x03\x00\x00\x48\x03\x00\x00\x00\x00\x58\x03\x62\x03\x00\x00\x1f\x03\xed\x00\x5f\x02\xbd\x00\x1f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x00\x00\x00\xf2\x01\xf2\x01\x9a\x00\x9a\x00\x76\x00\x1a\x03\x59\x03\x54\x03\x00\x00\x18\x03\xbd\x00\x17\x03\x00\x00\x66\x00\x00\x00\x9a\x00\x00\x00\x2c\x03\x66\x00\x6a\x00\x00\x00\x31\x03\x27\x03\x00\x00\x00\x00\x9a\x00\x9a\x00\x63\x00\x2e\x03\x25\x03\x9a\x00\xfa\xff\x29\x03\x0a\x00\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x1c\x03\x00\x00\x00\x00\x23\x03\x21\x03\x08\x00\x00\x03\x00\x00\x00\x00\xdf\x02\xf2\x02\x00\x00\xf7\x02\xf1\x02\xf0\x02\xbe\x01\x00\x00\x00\x00\x66\x00\xe7\x02\xae\x02\x00\x00\xd3\x02\x00\x00\x11\x00\xd2\x02\xb7\x00\x00\x00\x00\x00\xf2\x01\x00\x00\x9a\x00\x91\x02\x00\x00\xae\x00\x87\x00\x00\x00\x92\x02\x00\x00\xc4\x02\x00\x00\xca\x02\x00\x00\xbb\x02\xa5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x81\x00\x9d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyGotoOffsets :: HappyAddr -happyGotoOffsets = HappyA# "\x16\x00\x00\x00\x00\x00\x00\x00\x42\x02\x00\x00\x6b\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x4a\x02\x9e\x01\x00\x00\x00\x00\x1d\x00\x29\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x02\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x35\x05\x23\x05\x0d\x02\x00\x00\x00\x00\x00\x00\xc8\x01\xb3\x00\x00\x00\xae\x01\x00\x00\x00\x00\x00\x00\xa0\x01\x47\x02\x43\x02\x04\x05\x80\x00\x27\x02\x1f\x02\xb9\x01\x23\x02\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x07\x43\x08\x6b\x07\x5e\x07\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\xba\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x08\x07\x08\xdb\x07\xd3\x07\xa7\x07\x38\x05\x8f\x04\xa8\x03\x74\x03\x40\x03\xb0\x02\x7c\x02\x0c\x03\x00\x00\x97\x05\x15\x03\x2a\x07\x63\x05\x2f\x05\x25\x08\xd1\x04\xcd\x01\x0a\x01\x8c\x01\x00\x00\x00\x00\xdc\x03\x28\x04\xaa\x01\x93\x00\xf7\x04\xd4\x01\x00\x00\x00\x00\x00\x00\xc1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x07\xfb\x04\xe9\x06\xc6\x04\xdc\x06\xa4\x02\x00\x00\x00\x00\x00\x00\xa8\x06\x22\x02\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\xb5\x01\x00\x00\x00\x00\x79\x05\x86\x00\x00\x00\x00\x00\x00\x00\x45\x02\x00\x00\x97\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x04\xba\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\x8b\x00\x9b\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02\x00\x00\x86\x04\x00\x00\xe6\x03\x00\x00\x00\x00\x89\x01\x90\x01\x00\x00\x55\x01\x50\x00\x00\x00\x00\x00\x62\x01\x00\x00\x00\x00\x00\x00\xe5\x02\x00\x00\x49\x02\x17\x01\x5b\x04\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x0b\x02\x67\x06\x00\x00\x00\x00\x8a\x01\x7a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x04\x5a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\x73\x01\x1a\x04\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x3c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x52\x04\x00\x00\x00\x00\x00\x00\x00\x00\x45\x04\x00\x00\x5a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x04\x00\x00\x47\x01\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x01\x66\x01\x00\x00\x11\x02\xe1\x01\x0b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x06\x00\x00\x21\x00\x4b\x01\x19\x06\xe5\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x01\x00\x00\xef\x00\xb2\x03\x00\x00\xd8\x05\x00\x00\x00\x00\x7e\x03\x11\x04\x00\x00\x00\x00\x00\x00\xf4\x01\xb7\x00\x04\x04\xd0\x03\x08\x02\x00\x00\x00\x00\x9c\x03\xa3\x01\x00\x00\x00\x00\x68\x03\x34\x03\x00\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\x86\x01\x00\x00\x00\x00\x4a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x01\xdb\x00\xba\x00\x7b\x00\x00\x00\xa4\x05\x00\x00\x00\x00\x66\x01\xa9\x01\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\xd0\xff\x00\x00\xd8\x02\x00\x00\x37\x00\x00\x00\x66\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyGotoOffsets = HappyA# "\xa2\x01\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x13\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x90\x02\x00\x01\x00\x00\x00\x00\x5e\x00\x52\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x02\x0f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\x71\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x05\xa4\x04\x1e\x02\x00\x00\x00\x00\x00\x00\x58\x04\x93\x00\x00\x00\xc0\x01\x00\x00\x00\x00\x00\x00\x7e\x01\x8a\x02\x75\x02\xe2\x04\x82\x00\x6f\x02\x6e\x02\x2d\x02\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x07\x62\x08\x7d\x07\x49\x07\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x02\x07\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x08\x26\x08\xfa\x07\xf2\x07\xc6\x07\xbe\x07\x16\x05\x6d\x04\x86\x03\x52\x03\x1e\x03\x8e\x02\xea\x02\x00\x00\x75\x05\xeb\x03\x3c\x07\x41\x05\x0d\x05\x44\x08\x06\x04\x08\x02\x97\x00\xe7\x00\x00\x00\x00\x00\xa1\x04\x27\x02\xf9\x01\x85\x00\xd5\x04\xb2\x01\x00\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\xd9\x04\xfb\x06\x79\x04\xc7\x06\x00\x00\x82\x02\x00\x00\x00\x00\x00\x00\xba\x06\x4d\x02\x00\x00\xc7\x01\x00\x00\x00\x00\x00\x00\x03\x01\x00\x00\x00\x00\xd8\x01\x00\x00\x00\x00\x57\x05\x60\x00\x00\x00\x00\x00\x00\x00\x57\x02\x00\x00\xd2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x04\x98\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\x2c\x01\x86\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x02\x00\x00\x64\x04\x00\x00\xae\x04\x00\x00\x00\x00\xb4\x01\xc8\x01\x00\x00\x80\x01\x40\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x00\x00\x00\x00\xc3\x02\x00\x00\x94\x01\xfd\x00\x5d\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x06\x02\x79\x06\x00\x00\x00\x00\x81\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x04\x45\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x01\x5f\x01\x2c\x04\x00\x00\x00\x00\x4e\x02\x00\x00\x00\x00\x1a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x01\x30\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x04\x00\x00\x4c\x01\x46\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x03\x00\x00\x16\x01\x00\x00\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x8b\x02\x00\x00\x23\x02\x8c\x01\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x06\x00\x00\x90\x00\xf0\x00\x04\x06\xf7\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x01\x00\x00\xde\x00\x90\x03\x00\x00\xc3\x05\x00\x00\x00\x00\x5c\x03\xef\x03\x00\x00\x00\x00\x00\x00\xe9\x01\xaf\x00\xe2\x03\xae\x03\xe6\x01\x00\x00\x00\x00\x7a\x03\xcb\x01\x00\x00\x00\x00\x46\x03\xb6\x05\x12\x03\xde\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\x98\x01\x00\x00\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x02\x9c\x00\x45\x00\x8a\x00\x00\x00\x82\x05\x00\x00\x00\x00\x8b\x02\xbb\x01\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x01\x50\x01\x00\x00\xb6\x02\x00\x00\x44\x00\x00\x00\x8b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyDefActions :: HappyAddr -happyDefActions = HappyA# "\xf5\xff\x00\x00\xfe\xff\x00\x00\xf6\xff\xf4\xff\x00\x00\xdd\xff\x00\x00\xdc\xff\xde\xff\xfc\xff\x00\x00\xee\xff\xe9\xff\xdb\xff\x00\x00\x4b\xff\x00\x00\xf9\xff\xfa\xff\xf8\xff\xf2\xff\xf0\xff\xfb\xff\x00\x00\x00\x00\x53\xff\xe7\xff\xe6\xff\xed\xff\xf3\xff\x00\x00\x4a\xff\xf9\xff\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\xe8\xff\x00\x00\x00\x00\x00\x00\xf7\xff\xf1\xff\xef\xff\x00\x00\xd8\xff\xec\xff\x00\x00\x4c\xff\xb5\xff\x52\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x53\xff\x00\x00\x00\x00\xc9\xff\x00\x00\x00\x00\xe4\xff\xe5\xff\x00\x00\x00\x00\x5e\xff\x5d\xff\xdd\xff\x73\xff\x00\x00\x70\xff\x00\x00\x50\xff\x8f\xff\x8a\xff\x87\xff\x82\xff\x7f\xff\x7b\xff\x78\xff\x6e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\xff\x60\xff\x5f\xff\x00\x00\xfd\xff\xeb\xff\xd9\xff\xd7\xff\xea\xff\x70\xff\x7a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x79\xff\x00\x00\x54\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\x71\xff\x93\xff\x00\x00\x00\x00\x93\xff\x93\xff\xb3\xff\x00\x00\xb8\xff\x00\x00\x00\x00\x00\x00\xd4\xff\xc5\xff\x00\x00\x48\xff\x00\x00\x00\x00\x00\x00\x4d\xff\xb6\xff\x73\xff\x00\x00\x4f\xff\x00\x00\x95\xff\x94\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x00\x00\x53\xff\x00\x00\x4e\xff\x00\x00\xc2\xff\x00\x00\x53\xff\x00\x00\xe0\xff\xc7\xff\xc4\xff\x00\x00\xb3\xff\x00\x00\xc0\xff\x00\x00\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\xb2\xff\x00\x00\x92\xff\x00\x00\x51\xff\xe2\xff\x00\x00\x00\x00\x93\xff\x93\xff\x90\xff\x8b\xff\x89\xff\x88\xff\x83\xff\x84\xff\x85\xff\x86\xff\x80\xff\x81\xff\x7d\xff\x7e\xff\x7c\xff\x6d\xff\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x00\x00\x64\xff\x66\xff\x00\x00\x00\x00\x00\x00\x65\xff\x62\xff\x60\xff\x00\x00\x00\x00\x6f\xff\xe3\xff\x00\x00\x77\xff\x93\xff\x75\xff\xb3\xff\x00\x00\xb0\xff\xb8\xff\x00\x00\xb7\xff\xb8\xff\x00\x00\x00\x00\xd3\xff\x00\x00\x00\x00\x00\x00\xc8\xff\xc5\xff\xc6\xff\x00\x00\x48\xff\x00\x00\x00\x00\xcf\xff\x00\x00\x00\x00\xd6\xff\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xff\xa4\xff\x00\x00\x60\xff\x00\x00\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x97\xff\x60\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\x00\x00\xa9\xff\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\xa3\xff\x00\x00\x00\x00\xa2\xff\x99\xff\x00\x00\x00\x00\x93\xff\x9f\xff\x00\x00\xac\xff\x72\xff\x00\x00\xa1\xff\x00\x00\x00\x00\xae\xff\xc1\xff\x00\x00\x47\xff\x00\x00\x49\xff\x53\xff\xdf\xff\xc3\xff\x00\x00\x00\x00\xbf\xff\x00\x00\x00\x00\x00\x00\x53\xff\x00\x00\xb8\xff\xb1\xff\x91\xff\xe1\xff\x76\xff\x74\xff\x00\x00\x8c\xff\x6b\xff\x69\xff\x00\x00\x00\x00\x00\x00\x8d\xff\x00\x00\x68\xff\x6a\xff\x6c\xff\x53\xff\x00\x00\xb8\xff\xb3\xff\xbb\xff\x00\x00\xcd\xff\x00\x00\xb3\xff\x00\x00\xce\xff\x00\x00\x00\x00\x53\xff\x9d\xff\x93\xff\x93\xff\x00\x00\x72\xff\x00\x00\x93\xff\x6d\xff\x96\xff\x72\xff\x93\xff\x93\xff\x93\xff\x00\x00\xab\xff\xa8\xff\x00\x00\x00\x00\x00\x00\x98\xff\xa7\xff\x00\x00\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xad\xff\xd5\xff\xb3\xff\x00\x00\xbd\xff\xbe\xff\x00\x00\xd2\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb8\xff\x69\xff\x63\xff\x00\x00\x8e\xff\x67\xff\x00\x00\x53\xff\xcb\xff\x00\x00\xba\xff\x00\x00\xd1\xff\x00\x00\x9c\xff\x00\x00\x9a\xff\x57\xff\x59\xff\xaa\xff\x5b\xff\x53\xff\x58\xff\x5a\xff\x55\xff\xa6\xff\xa0\xff\x53\xff\x53\xff\xbc\xff\x00\x00\xb9\xff\xb8\xff\xcc\xff\x00\x00\x00\x00\x9e\xff\x9b\xff\xd0\xff\xca\xff"# +happyDefActions = HappyA# "\xf5\xff\x00\x00\xfe\xff\x00\x00\xf6\xff\xf4\xff\x00\x00\xdd\xff\x00\x00\xdc\xff\xde\xff\xfc\xff\x00\x00\xee\xff\xe9\xff\xdb\xff\x00\x00\x45\xff\x00\x00\xf9\xff\xfa\xff\xf8\xff\xf2\xff\xf0\xff\xfb\xff\x00\x00\x00\x00\x4d\xff\xe7\xff\xe6\xff\xed\xff\xf3\xff\x00\x00\x44\xff\xf9\xff\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\xe8\xff\x00\x00\x00\x00\x00\x00\xf7\xff\xf1\xff\xef\xff\x00\x00\xd8\xff\xec\xff\x00\x00\x46\xff\xb5\xff\x4c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xff\x4d\xff\x00\x00\x00\x00\xc9\xff\x00\x00\x00\x00\xe4\xff\xe5\xff\x00\x00\x00\x00\x5b\xff\x5a\xff\xdd\xff\x70\xff\x00\x00\x6d\xff\x00\x00\x4a\xff\x8c\xff\x87\xff\x84\xff\x7f\xff\x7c\xff\x78\xff\x75\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\xff\x5d\xff\x5c\xff\x00\x00\xfd\xff\xeb\xff\xd9\xff\xd7\xff\xea\xff\x6d\xff\x77\xff\x00\x00\x00\x00\x00\x00\x00\x00\x76\xff\x00\x00\x4e\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\x6e\xff\x90\xff\x00\x00\x00\x00\x90\xff\x90\xff\xb3\xff\x00\x00\xb8\xff\x00\x00\x00\x00\x00\x00\xd4\xff\xc5\xff\x00\x00\x42\xff\x00\x00\x00\x00\x00\x00\x47\xff\xb6\xff\x70\xff\x00\x00\x49\xff\x00\x00\x92\xff\x91\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xff\x00\x00\x00\x00\x00\x00\x5d\xff\x00\x00\x4d\xff\x00\x00\x48\xff\x00\x00\xc2\xff\x00\x00\x4d\xff\x00\x00\xe0\xff\xc7\xff\xc4\xff\x00\x00\xb3\xff\x00\x00\xc0\xff\x00\x00\x00\x00\x4d\xff\x00\x00\x00\x00\x00\x00\xb2\xff\x00\x00\x8f\xff\x00\x00\x4b\xff\xe2\xff\x00\x00\x00\x00\x90\xff\x90\xff\x8d\xff\x88\xff\x86\xff\x85\xff\x80\xff\x81\xff\x82\xff\x83\xff\x7d\xff\x7e\xff\x7a\xff\x7b\xff\x79\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x6f\xff\x00\x00\x00\x00\x61\xff\x63\xff\x00\x00\x00\x00\x00\x00\x62\xff\x5f\xff\x5d\xff\x00\x00\x00\x00\x6c\xff\xe3\xff\x00\x00\x74\xff\x90\xff\x72\xff\xb3\xff\x00\x00\xb0\xff\xb8\xff\x00\x00\xb7\xff\xb8\xff\x00\x00\x00\x00\xd3\xff\x00\x00\x00\x00\x00\x00\xc8\xff\xc5\xff\xc6\xff\x00\x00\x42\xff\x00\x00\x00\x00\xcf\xff\x00\x00\x00\x00\xd6\xff\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xff\xa4\xff\x00\x00\x92\xff\x5d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x70\xff\x00\x00\x94\xff\x5d\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\x00\x00\xa9\xff\x00\x00\x00\x00\x00\x00\x53\xff\x52\xff\x00\x00\x50\xff\x00\x00\xa3\xff\x00\x00\x00\x00\xa2\xff\x97\xff\x98\xff\x00\x00\x00\x00\x90\xff\x9e\xff\x00\x00\x00\x00\xac\xff\x6f\xff\x00\x00\xa1\xff\x00\x00\x00\x00\xae\xff\xc1\xff\x00\x00\x41\xff\x00\x00\x43\xff\x4d\xff\xdf\xff\xc3\xff\x00\x00\x00\x00\xbf\xff\x00\x00\x00\x00\x00\x00\x4d\xff\x00\x00\xb8\xff\xb1\xff\x8e\xff\xe1\xff\x73\xff\x71\xff\x00\x00\x89\xff\x68\xff\x66\xff\x00\x00\x00\x00\x00\x00\x8a\xff\x00\x00\x65\xff\x67\xff\x69\xff\x4d\xff\x00\x00\xb8\xff\xb3\xff\xbb\xff\x00\x00\xcd\xff\x00\x00\xb3\xff\x00\x00\xce\xff\x00\x00\x00\x00\x4d\xff\x9c\xff\x90\xff\x90\xff\x00\x00\x6f\xff\x00\x00\x90\xff\x6a\xff\x93\xff\x6f\xff\x90\xff\x00\x00\x90\xff\x90\xff\x00\x00\xab\xff\xa8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x95\xff\x96\xff\xa7\xff\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\xad\xff\xd5\xff\xb3\xff\x00\x00\xbd\xff\xbe\xff\x00\x00\xd2\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb8\xff\x66\xff\x60\xff\x00\x00\x8b\xff\x64\xff\x00\x00\x4d\xff\xcb\xff\x00\x00\xba\xff\x00\x00\xd1\xff\x00\x00\x9b\xff\x00\x00\x99\xff\x54\xff\x56\xff\xaa\xff\x58\xff\x4d\xff\x55\xff\x00\x00\x57\xff\x4f\xff\xa0\xff\xa6\xff\x9f\xff\x4d\xff\x4d\xff\xbc\xff\x00\x00\xb9\xff\xb8\xff\xcc\xff\x00\x00\x00\x00\x9d\xff\x9a\xff\xd0\xff\xca\xff"# happyCheck :: HappyAddr -happyCheck = HappyA# "\xff\xff\x06\x00\x06\x00\x06\x00\x0a\x00\x23\x00\x0b\x00\x02\x00\x2a\x00\x2e\x00\x0e\x00\x3b\x00\x10\x00\x3d\x00\x08\x00\x01\x00\x07\x00\x1a\x00\x08\x00\x18\x00\x07\x00\x1a\x00\x1b\x00\x1c\x00\x07\x00\x1e\x00\x0c\x00\x02\x00\x06\x00\x07\x00\x43\x00\x18\x00\x1b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x43\x00\x2b\x00\x49\x00\x0b\x00\x2c\x00\x0d\x00\x30\x00\x13\x00\x0f\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x0f\x00\x39\x00\x06\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x0b\x00\x40\x00\x41\x00\x43\x00\x41\x00\x48\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x49\x00\x38\x00\x18\x00\x41\x00\x1a\x00\x1b\x00\x1c\x00\x43\x00\x1e\x00\x48\x00\x49\x00\x43\x00\x43\x00\x48\x00\x49\x00\x43\x00\x34\x00\x35\x00\x20\x00\x37\x00\x38\x00\x2b\x00\x06\x00\x09\x00\x40\x00\x0b\x00\x30\x00\x0b\x00\x43\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x43\x00\x39\x00\x1a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x0f\x00\x40\x00\x41\x00\x21\x00\x1d\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0f\x00\x06\x00\x00\x00\x01\x00\x02\x00\x03\x00\x0b\x00\x2b\x00\x3b\x00\x02\x00\x3d\x00\x18\x00\x30\x00\x1a\x00\x06\x00\x02\x00\x34\x00\x3a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x26\x00\x3b\x00\x3c\x00\x1e\x00\x44\x00\x2c\x00\x02\x00\x28\x00\x48\x00\x18\x00\x18\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x2b\x00\x06\x00\x1b\x00\x43\x00\x1a\x00\x30\x00\x0b\x00\x06\x00\x33\x00\x34\x00\x41\x00\x41\x00\x0b\x00\x17\x00\x43\x00\x1b\x00\x3b\x00\x3c\x00\x36\x00\x37\x00\x38\x00\x48\x00\x02\x00\x21\x00\x1d\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x34\x00\x35\x00\x1a\x00\x37\x00\x38\x00\x1a\x00\x2b\x00\x21\x00\x1a\x00\x15\x00\x16\x00\x30\x00\x2b\x00\x1a\x00\x44\x00\x34\x00\x3a\x00\x30\x00\x48\x00\x06\x00\x33\x00\x34\x00\x3b\x00\x3c\x00\x0b\x00\x06\x00\x04\x00\x20\x00\x3b\x00\x3c\x00\x0b\x00\x27\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0f\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x44\x00\x1a\x00\x06\x00\x44\x00\x48\x00\x1e\x00\x44\x00\x48\x00\x1a\x00\x1a\x00\x48\x00\x44\x00\x2b\x00\x3a\x00\x12\x00\x48\x00\x20\x00\x30\x00\x2b\x00\x06\x00\x18\x00\x34\x00\x43\x00\x30\x00\x0b\x00\x06\x00\x01\x00\x34\x00\x3b\x00\x3c\x00\x0b\x00\x02\x00\x31\x00\x02\x00\x3b\x00\x3c\x00\x20\x00\x0c\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x44\x00\x22\x00\x32\x00\x18\x00\x48\x00\x48\x00\x2b\x00\x1c\x00\x1b\x00\x01\x00\x3b\x00\x30\x00\x2b\x00\x06\x00\x20\x00\x34\x00\x41\x00\x30\x00\x0b\x00\x06\x00\x0c\x00\x34\x00\x3b\x00\x3c\x00\x0b\x00\x27\x00\x3b\x00\x4b\x00\x3b\x00\x3c\x00\x3f\x00\x2d\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x06\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x2b\x00\x06\x00\x48\x00\x49\x00\x10\x00\x30\x00\x2b\x00\x06\x00\x06\x00\x34\x00\x42\x00\x30\x00\x0b\x00\x06\x00\x03\x00\x34\x00\x3b\x00\x3c\x00\x0b\x00\x18\x00\x12\x00\x02\x00\x3b\x00\x3c\x00\x03\x00\x02\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0e\x00\x20\x00\x03\x00\x11\x00\x12\x00\x13\x00\x18\x00\x2b\x00\x03\x00\x03\x00\x1c\x00\x02\x00\x30\x00\x36\x00\x37\x00\x38\x00\x34\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x34\x00\x3b\x00\x3c\x00\x03\x00\x02\x00\x12\x00\x13\x00\x3b\x00\x3c\x00\x03\x00\x06\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x03\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x00\x00\x01\x00\x02\x00\x03\x00\x18\x00\x17\x00\x18\x00\x09\x00\x1c\x00\x20\x00\x0c\x00\x02\x00\x26\x00\x3b\x00\x0e\x00\x3d\x00\x02\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x03\x00\x06\x00\x11\x00\x12\x00\x13\x00\x37\x00\x38\x00\x11\x00\x12\x00\x13\x00\x0f\x00\x0f\x00\x03\x00\x12\x00\x12\x00\x09\x00\x1f\x00\x0b\x00\x02\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x3c\x00\x3e\x00\x3b\x00\x02\x00\x3d\x00\x03\x00\x0e\x00\x02\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x42\x00\x20\x00\x11\x00\x12\x00\x13\x00\x10\x00\x11\x00\x12\x00\x13\x00\x10\x00\x11\x00\x3e\x00\x03\x00\x25\x00\x15\x00\x16\x00\x1f\x00\x03\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x3a\x00\x02\x00\x03\x00\x04\x00\x05\x00\x02\x00\x02\x00\x03\x00\x04\x00\x05\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x03\x00\x02\x00\x11\x00\x12\x00\x13\x00\x08\x00\x14\x00\x15\x00\x16\x00\x02\x00\x0d\x00\x02\x00\x03\x00\x04\x00\x05\x00\x3b\x00\x1f\x00\x3d\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x02\x00\x03\x00\x04\x00\x02\x00\x3b\x00\x02\x00\x3d\x00\x02\x00\x08\x00\x02\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0a\x00\x0f\x00\x11\x00\x12\x00\x13\x00\x10\x00\x11\x00\x12\x00\x13\x00\x3b\x00\x3b\x00\x3d\x00\x3d\x00\x41\x00\x28\x00\x43\x00\x1f\x00\x14\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x10\x00\x10\x00\x12\x00\x12\x00\x07\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0f\x00\x12\x00\x11\x00\x12\x00\x13\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x41\x00\x07\x00\x07\x00\x43\x00\x43\x00\x0f\x00\x07\x00\x2a\x00\x07\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0f\x00\x02\x00\x07\x00\x23\x00\x07\x00\x07\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x07\x00\x0e\x00\x17\x00\x0f\x00\x11\x00\x12\x00\x13\x00\x2a\x00\x04\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x24\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x07\x00\x06\x00\x0f\x00\x02\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x06\x00\x0f\x00\x43\x00\x41\x00\x0e\x00\x0a\x00\x1d\x00\x11\x00\x12\x00\x13\x00\x07\x00\x43\x00\x48\x00\x06\x00\x12\x00\x19\x00\x1a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x02\x00\x44\x00\x49\x00\x41\x00\x49\x00\x06\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0f\x00\x06\x00\x11\x00\x12\x00\x13\x00\x49\x00\x06\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x06\x00\x02\x00\x06\x00\x0f\x00\x49\x00\x0c\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x43\x00\x0e\x00\x06\x00\x0f\x00\x11\x00\x12\x00\x13\x00\x44\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x49\x00\x02\x00\x1f\x00\x48\x00\x12\x00\x0f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x48\x00\x0e\x00\x07\x00\x15\x00\x11\x00\x12\x00\x13\x00\x12\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x48\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x49\x00\x02\x00\x07\x00\x19\x00\x14\x00\x0f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x44\x00\x0e\x00\x06\x00\x12\x00\x11\x00\x12\x00\x13\x00\x07\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x05\x00\x30\x00\x31\x00\x32\x00\x33\x00\x07\x00\x15\x00\x02\x00\x07\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x00\x02\x00\x43\x00\x0e\x00\x0a\x00\x19\x00\x11\x00\x12\x00\x13\x00\x07\x00\x0f\x00\x41\x00\x49\x00\x0e\x00\x19\x00\x1a\x00\x11\x00\x12\x00\x13\x00\x15\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x42\x00\x48\x00\x07\x00\x49\x00\x02\x00\x41\x00\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x02\x00\x0a\x00\x11\x00\x12\x00\x13\x00\x0a\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x15\x00\x02\x00\x11\x00\x12\x00\x13\x00\x1d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x0a\x00\x44\x00\x0f\x00\x06\x00\x0f\x00\x06\x00\x02\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x02\x00\x0f\x00\x11\x00\x12\x00\x13\x00\x49\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x48\x00\x0c\x00\x11\x00\x12\x00\x13\x00\x49\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x1e\x00\x06\x00\x29\x00\x1a\x00\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x19\x00\x05\x00\x43\x00\x0e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x10\x00\x49\x00\x3a\x00\x34\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x3b\x00\x3c\x00\x0c\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x44\x00\x49\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0f\x00\x06\x00\x44\x00\x48\x00\x1a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x30\x00\x31\x00\x32\x00\x33\x00\x29\x00\x0c\x00\x29\x00\x0f\x00\x38\x00\x02\x00\x0c\x00\x34\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x3b\x00\x3c\x00\x02\x00\x0e\x00\x29\x00\x29\x00\x11\x00\x12\x00\x13\x00\x0a\x00\x0f\x00\x46\x00\x47\x00\x48\x00\x49\x00\x25\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x48\x00\x0c\x00\x0f\x00\x48\x00\x32\x00\x46\x00\x02\x00\x4b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x02\x00\xff\xff\x11\x00\x12\x00\x13\x00\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\x29\x00\x02\x00\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x11\x00\x12\x00\x13\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\x02\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x02\x00\x11\x00\x12\x00\x13\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x38\x00\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x00\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# +happyCheck = HappyA# "\xff\xff\x07\x00\x07\x00\x07\x00\x19\x00\x01\x00\x0c\x00\x33\x00\x24\x00\x02\x00\x0f\x00\x28\x00\x11\x00\x03\x00\x01\x00\x09\x00\x08\x00\x0d\x00\x09\x00\x19\x00\x27\x00\x1b\x00\x1c\x00\x1d\x00\x08\x00\x1f\x00\x0d\x00\x08\x00\x08\x00\x0b\x00\x19\x00\x18\x00\x1b\x00\x10\x00\x18\x00\x1c\x00\x50\x00\x10\x00\x2c\x00\x10\x00\x10\x00\x2d\x00\x02\x00\x31\x00\x48\x00\x04\x00\x34\x00\x35\x00\x36\x00\x46\x00\x09\x00\x46\x00\x3a\x00\x3b\x00\x3c\x00\x0e\x00\x3e\x00\x07\x00\x40\x00\x41\x00\x42\x00\x43\x00\x0c\x00\x45\x00\x46\x00\x3d\x00\x46\x00\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4e\x00\x3d\x00\x19\x00\x48\x00\x1b\x00\x1c\x00\x1d\x00\x48\x00\x1f\x00\x4d\x00\x4d\x00\x4e\x00\x48\x00\x4d\x00\x4e\x00\x48\x00\x48\x00\x48\x00\x48\x00\x48\x00\x48\x00\x2c\x00\x48\x00\x48\x00\x21\x00\x02\x00\x31\x00\x20\x00\x20\x00\x34\x00\x35\x00\x36\x00\x0b\x00\x07\x00\x0d\x00\x3a\x00\x3b\x00\x3c\x00\x0c\x00\x3e\x00\x07\x00\x40\x00\x41\x00\x42\x00\x43\x00\x0c\x00\x45\x00\x46\x00\x07\x00\x3a\x00\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1b\x00\x1f\x00\x05\x00\x02\x00\x13\x00\x21\x00\x02\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x10\x00\x2c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x31\x00\x02\x00\x2c\x00\x34\x00\x35\x00\x02\x00\x18\x00\x31\x00\x1b\x00\x3a\x00\x40\x00\x35\x00\x1b\x00\x07\x00\x1b\x00\x40\x00\x41\x00\x2f\x00\x0c\x00\x07\x00\x15\x00\x16\x00\x40\x00\x41\x00\x0c\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1b\x00\x4d\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1f\x00\x2d\x00\x1b\x00\x20\x00\x28\x00\x48\x00\x1f\x00\x36\x00\x37\x00\x38\x00\x2e\x00\x34\x00\x35\x00\x2c\x00\x37\x00\x38\x00\x1b\x00\x49\x00\x31\x00\x2c\x00\x07\x00\x4d\x00\x35\x00\x49\x00\x31\x00\x1b\x00\x46\x00\x4d\x00\x35\x00\x27\x00\x07\x00\x1b\x00\x13\x00\x40\x00\x41\x00\x0c\x00\x07\x00\x02\x00\x19\x00\x40\x00\x41\x00\x0c\x00\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x02\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x18\x00\x1f\x00\x10\x00\x49\x00\x1c\x00\x13\x00\x32\x00\x4d\x00\x2c\x00\x02\x00\x20\x00\x18\x00\x49\x00\x31\x00\x2c\x00\x1c\x00\x4d\x00\x35\x00\x49\x00\x31\x00\x1b\x00\x09\x00\x4d\x00\x35\x00\x0c\x00\x07\x00\x1b\x00\x14\x00\x40\x00\x41\x00\x0c\x00\x07\x00\x20\x00\x4d\x00\x40\x00\x41\x00\x0c\x00\x03\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1f\x00\x36\x00\x37\x00\x38\x00\x21\x00\x07\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x07\x00\x22\x00\x2c\x00\x02\x00\x11\x00\x0c\x00\x49\x00\x31\x00\x2c\x00\x07\x00\x4d\x00\x35\x00\x49\x00\x31\x00\x3b\x00\x42\x00\x4d\x00\x35\x00\x3a\x00\x07\x00\x41\x00\x14\x00\x40\x00\x41\x00\x0c\x00\x03\x00\x3b\x00\x19\x00\x40\x00\x41\x00\x3f\x00\x03\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x07\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1f\x00\x3f\x00\x03\x00\x35\x00\x02\x00\x34\x00\x35\x00\x03\x00\x37\x00\x38\x00\x48\x00\x03\x00\x19\x00\x2c\x00\x40\x00\x41\x00\x0e\x00\x01\x00\x31\x00\x11\x00\x12\x00\x13\x00\x35\x00\x02\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x0d\x00\x01\x00\x03\x00\x1e\x00\x40\x00\x41\x00\x00\x00\x01\x00\x02\x00\x03\x00\x12\x00\x13\x00\x03\x00\x0d\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x3b\x00\x0e\x00\x3d\x00\x02\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2b\x00\x02\x00\x3a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x10\x00\x11\x00\x12\x00\x13\x00\x20\x00\x37\x00\x38\x00\x39\x00\x10\x00\x11\x00\x12\x00\x13\x00\x06\x00\x07\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x3b\x00\x4e\x00\x3d\x00\x3c\x00\x4d\x00\x4e\x00\x02\x00\x26\x00\x3b\x00\x0e\x00\x3d\x00\x02\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x2b\x00\x03\x00\x11\x00\x12\x00\x13\x00\x37\x00\x38\x00\x11\x00\x12\x00\x13\x00\x20\x00\x03\x00\x37\x00\x25\x00\x39\x00\x1b\x00\x1f\x00\x03\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x3a\x00\x4e\x00\x03\x00\x11\x00\x12\x00\x02\x00\x07\x00\x35\x00\x16\x00\x17\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x40\x00\x41\x00\x11\x00\x12\x00\x13\x00\x18\x00\x19\x00\x3e\x00\x3b\x00\x49\x00\x3d\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x1b\x00\x1f\x00\x03\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x02\x00\x03\x00\x04\x00\x05\x00\x3b\x00\x02\x00\x3d\x00\x35\x00\x20\x00\x02\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x40\x00\x41\x00\x11\x00\x12\x00\x13\x00\x10\x00\x11\x00\x12\x00\x13\x00\x42\x00\x03\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x3b\x00\x1f\x00\x3d\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x02\x00\x03\x00\x04\x00\x05\x00\x03\x00\x02\x00\x02\x00\x03\x00\x04\x00\x05\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x07\x00\x03\x00\x11\x00\x12\x00\x13\x00\x3e\x00\x14\x00\x15\x00\x16\x00\x10\x00\x02\x00\x02\x00\x13\x00\x02\x00\x03\x00\x04\x00\x1f\x00\x02\x00\x2a\x00\x22\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x3b\x00\x0a\x00\x3d\x00\x0c\x00\x02\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\x3b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0a\x00\x08\x00\x11\x00\x12\x00\x13\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x3b\x00\x46\x00\x3d\x00\x48\x00\x0a\x00\x1f\x00\x0c\x00\x2a\x00\x10\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x39\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x11\x00\x10\x00\x13\x00\x02\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x11\x00\x29\x00\x13\x00\x15\x00\x0e\x00\x08\x00\x1d\x00\x11\x00\x12\x00\x13\x00\x13\x00\x46\x00\x48\x00\x08\x00\x08\x00\x19\x00\x1a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x02\x00\x48\x00\x10\x00\x08\x00\x08\x00\x08\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0f\x00\x24\x00\x11\x00\x12\x00\x13\x00\x10\x00\x08\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x02\x00\x08\x00\x10\x00\x08\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x07\x00\x0e\x00\x10\x00\x07\x00\x11\x00\x12\x00\x13\x00\x10\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x46\x00\x02\x00\x0b\x00\x48\x00\x08\x00\x48\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x07\x00\x0e\x00\x13\x00\x4d\x00\x11\x00\x12\x00\x13\x00\x4e\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x49\x00\x02\x00\x46\x00\x07\x00\x4e\x00\x07\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x4e\x00\x0e\x00\x07\x00\x07\x00\x11\x00\x12\x00\x13\x00\x07\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x10\x00\x30\x00\x31\x00\x32\x00\x33\x00\x07\x00\x4e\x00\x02\x00\x19\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x21\x00\x22\x00\x23\x00\x0e\x00\x25\x00\x0d\x00\x11\x00\x12\x00\x13\x00\x07\x00\x48\x00\x10\x00\x4e\x00\x20\x00\x49\x00\x30\x00\x4d\x00\x13\x00\x08\x00\x10\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x4d\x00\x44\x00\x16\x00\x46\x00\x4d\x00\x13\x00\x02\x00\x4e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0f\x00\x08\x00\x11\x00\x12\x00\x13\x00\x1a\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x15\x00\x49\x00\x02\x00\x10\x00\x07\x00\x13\x00\x1d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x08\x00\x08\x00\x06\x00\x16\x00\x48\x00\x0b\x00\x02\x00\x08\x00\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x02\x00\x0b\x00\x11\x00\x12\x00\x13\x00\x1a\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x08\x00\x4e\x00\x11\x00\x12\x00\x13\x00\x46\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x16\x00\x10\x00\x29\x00\x02\x00\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x08\x00\x0b\x00\x0b\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x02\x00\x4d\x00\x49\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x4e\x00\x16\x00\x0b\x00\x0e\x00\x10\x00\x07\x00\x11\x00\x12\x00\x13\x00\x10\x00\x10\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x30\x00\x31\x00\x32\x00\x33\x00\x10\x00\x4e\x00\x02\x00\x4d\x00\x38\x00\x02\x00\x4e\x00\x0d\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x02\x00\x07\x00\x11\x00\x12\x00\x13\x00\x11\x00\x12\x00\x13\x00\x07\x00\x1a\x00\x19\x00\x1a\x00\x0e\x00\x06\x00\x48\x00\x11\x00\x12\x00\x13\x00\x4e\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\x0f\x00\x0d\x00\x4e\x00\x11\x00\x02\x00\x10\x00\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x02\x00\x07\x00\x11\x00\x12\x00\x13\x00\x49\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0e\x00\x0d\x00\x4d\x00\x11\x00\x12\x00\x13\x00\x0d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x2a\x00\x2a\x00\x29\x00\x02\x00\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x11\x00\x12\x00\x13\x00\x02\x00\x00\x00\x01\x00\x02\x00\x03\x00\x10\x00\x2a\x00\x2a\x00\x0b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x11\x00\x12\x00\x13\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x10\x00\x26\x00\x0d\x00\x4d\x00\x10\x00\x4d\x00\x33\x00\xff\xff\x4b\x00\x50\x00\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x02\x00\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x24\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\xff\xff\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x38\x00\x23\x00\x24\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\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"# happyTable :: HappyAddr -happyTable = HappyA# "\x00\x00\x53\xff\x7f\x00\x84\x00\xe4\x00\x49\x01\x53\xff\xa6\x00\x1c\x01\x89\x01\xe4\xff\x8f\x00\x80\x00\xa9\x01\x28\x00\x11\x01\x5e\x01\x46\x00\x18\x00\x53\xff\x66\x01\x53\xff\x53\xff\x53\xff\xcf\x00\x53\xff\x12\x01\x7a\x00\x03\x00\x04\x00\x7d\x00\x37\x00\x2e\x01\x48\x00\x49\x00\xd5\x00\xd6\x00\x7d\x00\x53\xff\x19\x00\x19\x00\x85\x00\x1a\x00\x53\xff\x7b\x00\x90\x01\x53\xff\x53\xff\x53\xff\x53\xff\x53\xff\x1e\x01\x53\xff\x5a\x00\x53\xff\x53\xff\x53\xff\x53\xff\x5b\x00\x53\xff\x53\xff\x7d\x00\x86\x00\x0c\x00\x53\xff\x53\xff\x53\xff\x53\xff\x53\xff\xe4\xff\x13\x01\x37\x00\x3e\x00\x46\x00\x99\x00\x9a\x00\x7d\x00\x5c\x00\x0c\x00\x19\x00\x7d\x00\x7d\x00\x0c\x00\x19\x00\x7d\x00\xd7\x00\x4e\x01\xa7\x01\xd9\x00\xda\x00\x9b\x00\x5a\x00\x74\x00\x1b\x00\x75\x00\x5e\x00\x5b\x00\x7d\x00\x9c\x00\x5f\x00\x9d\x00\x9e\x00\x9f\x00\x7d\x00\xa0\x00\x46\x00\xa1\x00\x61\x00\xa2\x00\xa3\x00\x26\x01\xa4\x00\xa5\x00\x34\x00\x7f\x01\x5c\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x2b\x01\x5a\x00\x48\x00\x49\x00\xd5\x00\xd6\x00\x5b\x00\x5d\x00\x8f\x00\x41\x00\xaa\x01\x37\x00\x5e\x00\x46\x00\xc0\x00\xa6\x00\x5f\x00\x35\x00\x48\x00\x49\x00\xd5\x00\xd6\x00\x8c\x00\x60\x00\x61\x00\x5c\x00\xad\x01\x3e\x01\xa6\x00\x9f\x01\x0c\x00\x42\x00\xc1\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5d\x00\x5a\x00\xf0\x00\x7d\x00\x46\x00\x5e\x00\x5b\x00\x5a\x00\x9c\x00\x5f\x00\x3f\x01\x8d\x00\x5b\x00\x33\x00\x7d\x00\xa7\x00\x07\x01\x61\x00\x8a\x01\x4d\x01\xda\x00\x0c\x00\x64\x00\x34\x00\x7f\x01\x5c\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\xd7\x00\xd8\x00\x46\x00\xd9\x00\xda\x00\x46\x00\x5d\x00\xa4\x01\x46\x00\x25\x00\x65\x00\x5e\x00\x5d\x00\x46\x00\xb4\xff\x5f\x00\x35\x00\x5e\x00\x0c\x00\x5a\x00\x9c\x00\x5f\x00\x60\x00\x61\x00\x5b\x00\x5a\x00\x20\x01\x8b\x01\x07\x01\x61\x00\x5b\x00\x78\x01\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x21\x01\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\xa7\x01\x46\x00\x82\x00\x8e\x01\x0c\x00\x5c\x00\xb4\xff\x0c\x00\x46\x00\x46\x00\x0c\x00\x57\x01\x5d\x00\xd1\x00\x16\x01\x0c\x00\x8c\x01\x5e\x00\x5d\x00\x5a\x00\x83\x00\x5f\x00\x7d\x00\x5e\x00\x5b\x00\x5a\x00\x02\x01\x5f\x00\x60\x00\x61\x00\x5b\x00\x41\x00\x0a\x01\xa6\x00\x60\x00\x61\x00\x83\x01\x27\x01\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\xb4\xff\x1f\x00\xb4\xff\xb0\x00\x0c\x00\x0c\x00\x5d\x00\x57\x01\xb2\x00\x02\x01\xf7\x00\x5e\x00\x5d\x00\x0b\x01\x50\x01\x5f\x00\xf8\x00\x5e\x00\x5b\x00\x5a\x00\x03\x01\x5f\x00\x0f\x01\x61\x00\x5b\x00\x1d\x00\x20\x00\xb4\xff\x60\x00\x61\x00\x21\x00\x1e\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\xaf\x00\x5b\x01\x48\x00\x49\x00\xd5\x00\xd6\x00\x5d\x00\x82\x00\x0c\x00\x19\x00\xb0\x00\x5e\x00\x5d\x00\x5a\x00\x61\x01\x5f\x00\x33\x01\x5e\x00\x5b\x00\x5a\x00\x62\x01\x5f\x00\x60\x00\x61\x00\x5b\x00\x83\x00\x62\x01\x41\x00\x0f\x01\x61\x00\x67\x01\x07\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\xe9\x00\x3a\x01\x1a\x01\x44\x00\x09\x00\x0a\x00\xb0\x00\x5d\x00\x1c\x01\x28\x01\x38\x01\x07\x00\x5e\x00\x4c\x01\x4d\x01\xda\x00\x5f\x00\xea\x00\x48\x00\x49\x00\xd5\x00\xd6\x00\x5f\x00\x60\x00\x61\x00\x29\x01\x41\x00\x09\x00\x0f\x00\x60\x00\x61\x00\x3b\x01\x82\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\xe7\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xb0\x00\x22\x01\x83\x00\x10\x00\xb1\x00\x3c\x01\x11\x00\x07\x00\x93\x01\x8f\x00\x4c\x00\x9e\x01\x07\x00\x4d\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xe9\x00\xf4\x00\x54\x01\x44\x00\x09\x00\x0a\x00\x94\x01\xda\x00\x63\x00\x09\x00\x0a\x00\x55\x01\x18\x01\x14\x01\x56\x01\x19\x01\x74\x00\xea\x00\x75\x00\x07\x00\xa5\x01\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x92\x00\x57\x00\x66\x00\x09\x00\x0a\x00\x58\x00\xfd\x00\x8f\x00\x07\x00\x72\x01\xd2\x00\x93\x00\x07\x00\xec\x00\x4d\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xe9\x00\xa8\x00\xb3\x00\x44\x00\x09\x00\x0a\x00\x51\x01\xaa\x00\x09\x00\x0a\x00\x76\x00\x77\x00\x3e\x00\x7d\x00\x94\x00\x78\x00\x79\x00\xea\x00\x88\x00\x95\x00\x85\x01\x96\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x35\x00\x13\x00\x14\x00\x15\x00\x2c\x00\x07\x00\x22\x00\x14\x00\x15\x00\x23\x00\xec\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xe9\x00\x71\x00\x3f\x00\x44\x00\x09\x00\x0a\x00\x72\x00\x24\x00\x25\x00\x26\x00\x40\x00\x73\x00\x13\x00\x14\x00\x15\x00\x16\x00\x8f\x00\xea\x00\x79\x01\x75\x01\x52\x01\x96\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x13\x00\x14\x00\x31\x00\x46\x00\x8f\x00\x07\x00\x90\x00\x47\x00\x05\x00\x07\x00\xec\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xe9\x00\x0e\x00\xac\x01\x44\x00\x09\x00\x0a\x00\x34\x01\xaa\x00\x09\x00\x0a\x00\x8f\x00\x8f\x00\xff\x00\x90\x00\xd0\x00\xa1\x01\x7d\x00\xea\x00\xa2\x01\x6b\x01\xeb\x00\x96\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x87\x00\x8e\x00\x88\x00\x8f\x00\xa3\x01\x07\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xec\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xbc\x00\x41\x01\xa4\x01\x44\x00\x09\x00\x0a\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x3e\x00\x8f\x01\x91\x01\x7d\x00\x7d\x00\x92\x01\x97\x01\x16\x01\x98\x01\x96\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\xc2\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x99\x01\x07\x00\x9a\x01\x9b\x01\x9c\x01\x9d\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x9e\x01\xb5\x00\x72\x01\x6e\x01\x44\x00\x09\x00\x0a\x00\x05\x01\x20\x01\x96\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\xd1\x00\xc3\x00\x53\x00\x54\x00\x55\x00\x56\x00\x75\x01\x61\x01\x7b\x01\x07\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x7c\x01\x81\x01\x7d\x00\x85\x01\xab\x00\x87\x01\xa8\x01\x44\x00\x09\x00\x0a\x00\x88\x01\x7d\x00\x0c\x00\x59\x01\x5a\x01\xac\x00\x35\x01\x48\x00\x49\x00\x4a\x00\x4b\x00\x7d\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x07\x00\x5b\x01\x19\x00\x5f\x01\x19\x00\x60\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xbc\x00\xbd\x00\x65\x01\x44\x00\x09\x00\x0a\x00\x19\x00\x69\x01\x6e\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc1\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x6a\x01\x07\x00\x6b\x01\x6d\x01\x19\x00\x1f\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x7d\x00\xb5\x00\x25\x01\x28\x01\x44\x00\x09\x00\x0a\x00\x2e\x01\x6f\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x92\x01\xb7\x00\xc4\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x19\x00\x07\x00\x2c\x01\x0c\x00\x30\x01\x31\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x0c\x00\xb5\x00\x37\x01\x38\x01\x44\x00\x09\x00\x0a\x00\x3a\x01\x70\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x7f\x01\xb7\x00\x0c\x00\xc5\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x19\x00\x07\x00\x43\x01\x44\x01\x45\x01\x47\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x46\x01\xb5\x00\x48\x01\x4a\x01\x44\x00\x09\x00\x0a\x00\xd4\x00\x73\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x82\x01\xb7\x00\x7c\x00\xc6\x00\x54\x00\x55\x00\x56\x00\xe0\x00\xe1\x00\x07\x00\xe3\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xe2\x00\x07\x00\x7d\x00\xab\x00\xe6\x00\xe5\x00\x44\x00\x09\x00\x0a\x00\xe7\x00\xef\x00\xe9\x00\x19\x00\xb5\x00\xac\x00\xad\x00\x44\x00\x09\x00\x0a\x00\xee\x00\x76\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x3f\x01\xb7\x00\xf0\x00\x0c\x00\xf3\x00\x19\x00\x07\x00\xf7\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x5c\x01\x07\x00\xf4\x00\x44\x00\x09\x00\x0a\x00\xf6\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x19\x01\xfb\x00\x07\x00\x44\x00\x09\x00\x0a\x00\x7c\x01\x77\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xa9\x00\xaa\x00\x09\x00\x0a\x00\x57\x00\x7d\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xfc\x00\xfa\x00\xfd\x00\xff\x00\x04\x01\x7f\x00\x07\x00\x05\x01\x48\x00\x49\x00\x4a\x00\x0b\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x23\x01\x07\x00\x14\x01\x44\x00\x09\x00\x0a\x00\x19\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x31\x01\x0c\x00\x6a\x00\x44\x00\x09\x00\x0a\x00\x19\x00\x63\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x32\x01\x6b\x00\x66\x01\xdc\x00\x57\x00\x0d\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x70\x00\x7c\x00\x7d\x00\x81\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x80\x00\x19\x00\x35\x00\x5f\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xdd\x00\x61\x00\xd9\xff\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x96\x01\x19\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x8a\x00\x8b\x00\x92\x00\x0c\x00\xdc\x00\x40\x01\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc7\x00\x54\x00\x55\x00\x56\x00\x30\x00\x31\x00\x33\x00\x29\x00\x57\x00\x07\x00\xd9\xff\x5f\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xdd\x00\x61\x00\x07\x00\x08\x01\x2a\x00\x2b\x00\x44\x00\x09\x00\x0a\x00\x2c\x00\x1f\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x13\x00\xb4\x00\xaa\x00\x09\x00\x0a\x00\xdd\x00\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x0c\x00\x0d\x00\x0e\x00\x0c\x00\x07\x00\x03\x00\x07\x00\xff\xff\x48\x00\x49\x00\x4a\x00\x0b\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xa5\x00\x07\x00\x00\x00\x44\x00\x09\x00\x0a\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x43\x00\x00\x00\x00\x00\x44\x00\x09\x00\x0a\x00\x00\x00\xde\x00\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x0c\x01\x07\x00\x57\x00\x0d\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x2d\x00\x09\x00\x0a\x00\x07\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x2e\x00\x09\x00\x0a\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc8\x00\x54\x00\x55\x00\x56\x00\x00\x00\x07\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x44\x00\x09\x00\x0a\x00\x00\x00\xba\x00\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xf1\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\xb9\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x89\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x4a\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x4f\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x2c\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x6b\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\xbb\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x6c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc9\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\xcb\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x44\x00\x09\x00\x0a\x00\xcc\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\xcd\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x56\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x57\x00\x00\x00\x6d\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyTable = HappyA# "\x00\x00\x4d\xff\x7f\x00\x84\x00\x37\x00\x13\x01\x4d\xff\xb4\xff\x50\x01\x41\x00\xe4\xff\xab\x01\x80\x00\x7b\x01\x13\x01\x28\x00\xa7\x01\x2e\x01\x18\x00\x4d\xff\x8c\x00\x4d\xff\x4d\xff\x4d\xff\x65\x01\x4d\xff\x14\x01\x6d\x01\xd0\x00\xe5\x00\x37\x00\xb1\x00\x46\x00\x9a\x01\x7c\x01\x5e\x01\xb4\xff\x23\x01\x4d\xff\x2c\x01\x32\x01\x85\x00\xa7\x00\x4d\xff\x7d\x00\x71\x00\x4d\xff\x4d\xff\x4d\xff\x3e\x00\x72\x00\x8d\x00\x4d\xff\x4d\xff\x4d\xff\x73\x00\x4d\xff\x5a\x00\x4d\xff\x4d\xff\x4d\xff\x4d\xff\x5b\x00\x4d\xff\x4d\xff\x15\x01\x86\x00\x35\x01\x4d\xff\x4d\xff\x4d\xff\x4d\xff\x4d\xff\xe4\xff\x15\x01\x37\x00\x7d\x00\x46\x00\x99\x00\x9a\x00\x7d\x00\x5c\x00\x0c\x00\x0c\x00\x19\x00\x7d\x00\x0c\x00\x19\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x9b\x00\x7d\x00\x7d\x00\x34\x00\xa7\x00\x5e\x00\xb3\x01\x95\x01\x9c\x00\x5f\x00\x9d\x00\x19\x00\x5a\x00\x1a\x00\x9e\x00\x9f\x00\xa0\x00\x5b\x00\xa1\x00\x5a\x00\xa2\x00\x61\x00\xa3\x00\xa4\x00\x5b\x00\xa5\x00\xa6\x00\x68\x01\x35\x00\xf1\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x46\x00\x5c\x00\x25\x01\x41\x00\x69\x01\xb0\x01\xa7\x00\x89\x01\x5c\x00\x48\x00\x49\x00\xd6\x00\xd7\x00\x26\x01\x5d\x00\x48\x00\x49\x00\xd6\x00\xd7\x00\x5e\x00\x64\x00\x5d\x00\x9c\x00\x5f\x00\xa7\x00\x42\x00\x5e\x00\x46\x00\x9e\x00\x1b\x00\x5f\x00\xa8\x00\x5a\x00\x46\x00\x09\x01\x61\x00\x93\x01\x5b\x00\x5a\x00\x25\x00\x65\x00\x60\x00\x61\x00\x5b\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\xb3\x00\x0c\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\x45\x01\x46\x00\x96\x01\x1d\x00\x7d\x00\x5c\x00\x94\x01\x54\x01\xdb\x00\x1e\x00\xd8\x00\x55\x01\x5d\x00\xda\x00\xdb\x00\x46\x00\xb9\x01\x5e\x00\x5d\x00\x82\x00\x0c\x00\x5f\x00\xb4\xff\x5e\x00\x46\x00\x46\x01\x0c\x00\x5f\x00\x82\x01\x5a\x00\x46\x00\x18\x01\x60\x00\x61\x00\x5b\x00\x5a\x00\x41\x00\x83\x00\x60\x00\x61\x00\x5b\x00\x46\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x41\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\x48\x00\x49\x00\xd6\x00\xd7\x00\xb1\x00\x5c\x00\x1a\x01\xb3\x01\x3f\x01\x1b\x01\x0c\x01\x0c\x00\x5d\x00\x7a\x00\x8d\x01\xb1\x00\x98\x01\x5e\x00\x5d\x00\xb2\x00\x0c\x00\x5f\x00\xb4\xff\x5e\x00\x46\x00\x10\x00\x0c\x00\x5f\x00\x11\x00\x0d\x01\x46\x00\x7b\x00\x11\x01\x61\x00\x5b\x00\x5a\x00\x57\x01\x0c\x00\x60\x00\x61\x00\x5b\x00\x62\x01\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x33\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\x53\x01\x54\x01\xdb\x00\x34\x00\xb0\x00\x5c\x00\x48\x00\x49\x00\xd6\x00\xd7\x00\x5a\x00\x1f\x00\x5d\x00\x7a\x00\xb1\x00\x5b\x00\x5e\x01\x5e\x00\x5d\x00\xc1\x00\x0c\x00\x5f\x00\xb4\xff\x5e\x00\xf8\x00\x3a\x01\x0c\x00\x5f\x00\x35\x00\x5a\x00\xf9\x00\x7b\x00\x60\x00\x61\x00\x5b\x00\x1c\x01\x20\x00\xc2\x00\x11\x01\x61\x00\x21\x00\x69\x01\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x82\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x5c\x00\xd2\x00\x6e\x01\x5f\x00\x07\x00\xd8\x00\xd9\x00\x1c\x01\xda\x00\xdb\x00\x7d\x00\x21\x01\x83\x00\x5d\x00\x60\x00\x61\x00\x38\x01\x03\x01\x5e\x00\x44\x00\x09\x00\x0a\x00\x5f\x00\x07\x00\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x2d\x01\x03\x01\x2f\x01\x39\x01\x60\x00\x61\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x09\x00\x0f\x00\x30\x01\x04\x01\x62\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x8f\x00\x4c\x00\xb5\x01\x07\x00\x4d\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x1e\x01\x07\x00\x35\x00\x48\x00\x49\x00\xd6\x00\xd7\x00\x58\x01\xab\x00\x09\x00\x0a\x00\x41\x01\x1f\x01\x20\x01\x21\x01\x3b\x01\xab\x00\x09\x00\x0a\x00\x03\x00\x04\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x92\x00\x57\x00\x8f\x00\x19\x00\xb6\x01\x58\x00\x0c\x00\x19\x00\x07\x00\x9d\x01\x8f\x00\x93\x00\xaa\x01\x07\x00\x4d\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xea\x00\x1e\x01\x42\x01\x44\x00\x09\x00\x0a\x00\x9e\x01\xdb\x00\x63\x00\x09\x00\x0a\x00\x43\x01\xe8\x00\x1f\x01\x94\x00\x21\x01\xdd\x00\xeb\x00\xf5\x00\x95\x00\xb1\x01\x96\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x35\x00\x19\x00\x27\x01\x76\x00\x77\x00\x07\x00\x82\x00\x5f\x00\x78\x00\x79\x00\xed\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xea\x00\xde\x00\x61\x00\x44\x00\x09\x00\x0a\x00\x28\x01\x83\x00\xfe\x00\x8f\x00\xa0\x01\x7c\x01\x03\x00\x63\x00\x0c\x00\x19\x00\xdd\x00\xeb\x00\x16\x01\x7f\x01\x8f\x01\x07\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x13\x00\x14\x00\x15\x00\x2c\x00\x8f\x00\x07\x00\x83\x01\x5f\x00\xb4\x00\x07\x00\xed\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xea\x00\xde\x00\x61\x00\x44\x00\x09\x00\x0a\x00\xaa\x00\xab\x00\x09\x00\x0a\x00\xa9\x00\xd3\x00\x03\x00\x63\x00\x0c\x00\x19\x00\x8f\x00\xeb\x00\x90\x00\x73\x01\x59\x01\x07\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x13\x00\x14\x00\x15\x00\x16\x00\x7d\x00\x07\x00\x22\x00\x14\x00\x15\x00\x23\x00\xed\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xea\x00\x5b\x01\x88\x00\x44\x00\x09\x00\x0a\x00\x3e\x00\x24\x00\x25\x00\x26\x00\x5c\x01\x3f\x00\x40\x00\x5d\x01\x13\x00\x14\x00\x31\x00\xeb\x00\x46\x00\x18\x01\xec\x00\x07\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\x8f\x00\x74\x00\x00\x01\x75\x00\x47\x00\x07\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xed\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xea\x00\x0e\x00\x05\x00\x44\x00\x09\x00\x0a\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x8f\x00\xd1\x00\x90\x00\x7d\x00\x74\x00\xeb\x00\x75\x00\x06\x01\xb8\x01\x07\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x97\x00\xc3\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x87\x00\xaa\x01\x88\x00\x07\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x8e\x00\xad\x01\x8f\x00\xae\x01\xac\x00\xaf\x01\xb4\x01\x44\x00\x09\x00\x0a\x00\xb0\x01\x3e\x00\x7d\x00\x99\x01\x9b\x01\xad\x00\x3c\x01\x48\x00\x49\x00\x4a\x00\x4b\x00\x87\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x07\x00\x7d\x00\x9c\x01\xa1\x01\xa2\x01\xa4\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xbd\x00\x48\x01\xa5\x01\x44\x00\x09\x00\x0a\x00\xa3\x01\xa6\x01\x76\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc2\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xa8\x01\x07\x00\xa9\x01\x76\x01\x7f\x01\x25\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x68\x01\xb6\x00\x85\x01\x86\x01\x44\x00\x09\x00\x0a\x00\x8b\x01\x77\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x9c\x01\xb8\x00\xc4\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x8f\x01\x07\x00\x91\x01\x7d\x00\x92\x01\x7d\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x60\x01\xb6\x00\x61\x01\x0c\x00\x44\x00\x09\x00\x0a\x00\x19\x00\x79\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x89\x01\xb8\x00\xc5\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x62\x01\x07\x00\x66\x01\x67\x01\x19\x00\x6c\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x19\x00\xb6\x00\x70\x01\x71\x01\x44\x00\x09\x00\x0a\x00\x72\x01\x7d\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x8c\x01\xb8\x00\x75\x01\xc6\x00\x54\x00\x55\x00\x56\x00\x73\x01\x19\x00\x07\x00\x37\x00\x57\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x63\x01\x3b\x00\x24\x01\x44\x00\x09\x00\x0a\x00\x2b\x01\x7d\x00\x2f\x01\x19\x00\x33\x01\x35\x01\x3c\x00\x0c\x00\x37\x01\x3e\x01\x38\x01\x80\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x0c\x00\x3d\x00\x3f\x01\x3e\x00\x0c\x00\x41\x01\x07\x00\x19\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xbd\x00\xbe\x00\x4a\x01\x44\x00\x09\x00\x0a\x00\x4b\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x4c\x01\x4d\x01\x07\x00\x4e\x01\x4f\x01\x51\x01\x86\x01\x81\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xb5\x00\xab\x00\x09\x00\x0a\x00\x57\x00\x87\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xd5\x00\xe1\x00\x7c\x00\xe2\x00\x7d\x00\xe3\x00\x07\x00\xe4\x00\x48\x00\x49\x00\x4a\x00\x0d\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x1b\x01\x07\x00\xe7\x00\x44\x00\x09\x00\x0a\x00\xe6\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x29\x01\xe8\x00\x19\x00\x44\x00\x09\x00\x0a\x00\xea\x00\x6a\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xef\x00\xf0\x00\x6d\x01\x07\x00\x57\x00\x0f\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x66\x00\x09\x00\x0a\x00\xf1\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xf4\x00\xf5\x00\xf7\x00\xf8\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x07\x00\x0c\x00\xfb\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x19\x00\xfc\x00\xfd\x00\x0a\x01\xfe\x00\x00\x01\x44\x00\x09\x00\x0a\x00\x05\x01\x06\x01\x47\x01\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc7\x00\x54\x00\x55\x00\x56\x00\x16\x01\x19\x00\x07\x00\x0c\x00\x57\x00\x07\x00\x19\x00\x6a\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xac\x00\x07\x00\x7f\x00\x44\x00\x09\x00\x0a\x00\x2d\x00\x09\x00\x0a\x00\x6b\x00\x70\x00\xad\x00\xae\x00\xb6\x00\x7c\x00\x7d\x00\x44\x00\x09\x00\x0a\x00\x19\x00\xde\x00\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x46\x01\xb8\x00\x81\x00\xd9\xff\x19\x00\x80\x00\x07\x00\x8a\x00\x48\x00\x49\x00\x4a\x00\x0d\x01\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\xa6\x00\x07\x00\x8b\x00\x44\x00\x09\x00\x0a\x00\x92\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x43\x00\x31\x00\x0c\x00\x44\x00\x09\x00\x0a\x00\xd9\xff\xdf\x00\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x30\x00\x33\x00\x0e\x01\x07\x00\x57\x00\x0f\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x2e\x00\x09\x00\x0a\x00\x07\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x1f\x00\x13\x00\x0d\x00\x0c\x00\x0e\x00\x0c\x00\x07\x00\x00\x00\x03\x00\xff\xff\x00\x00\xb9\x00\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xc8\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x44\x00\x09\x00\x0a\x00\x00\x00\xbb\x00\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xf2\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\xba\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x93\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x8b\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x52\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x28\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\xd5\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x09\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x11\x01\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x6b\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x6e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x54\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xca\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x07\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x44\x00\x09\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x00\x55\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xd2\x00\xcc\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x44\x00\x09\x00\x0a\x00\xcd\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\x00\x00\xce\x00\x56\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x57\x00\xb7\x00\xb8\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x67\x00\x09\x00\x0a\x00\x4e\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x6d\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (1, 184) [ +happyReduceArr = Happy_Data_Array.array (1, 190) [ (1 , happyReduce_1), (2 , happyReduce_2), (3 , happyReduce_3), @@ -626,10 +626,16 @@ happyReduceArr = Happy_Data_Array.array (1, 184) [ (181 , happyReduce_181), (182 , happyReduce_182), (183 , happyReduce_183), - (184 , happyReduce_184) + (184 , happyReduce_184), + (185 , happyReduce_185), + (186 , happyReduce_186), + (187 , happyReduce_187), + (188 , happyReduce_188), + (189 , happyReduce_189), + (190 , happyReduce_190) ] -happy_n_terms = 76 :: Int +happy_n_terms = 81 :: Int happy_n_nonterms = 67 :: Int happyReduce_1 = happySpecReduce_1 0# happyReduction_1 @@ -1577,6 +1583,21 @@ happyReduction_94 happy_x_3 happyReduce_95 = happyReduce 7# 37# happyReduction_95 happyReduction_95 (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_1 of { happy_var_1 -> + case happyOut48 happy_x_5 of { happy_var_5 -> + happyIn41 + (SGive happy_var_1 happy_var_5 + ) `HappyStk` happyRest}} + +happyReduce_96 = happyReduce 7# 37# happyReduction_96 +happyReduction_96 (happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` @@ -1591,8 +1612,8 @@ happyReduction_95 (happy_x_7 `HappyStk` (STryCatchFinally happy_var_2 (reverse happy_var_5) happy_var_7 ) `HappyStk` happyRest}}} -happyReduce_96 = happySpecReduce_3 37# happyReduction_96 -happyReduction_96 happy_x_3 +happyReduce_97 = happySpecReduce_3 37# happyReduction_97 +happyReduction_97 happy_x_3 happy_x_2 happy_x_1 = case happyOut48 happy_x_2 of { happy_var_2 -> @@ -1600,8 +1621,8 @@ happyReduction_96 happy_x_3 (SPrint happy_var_2 )} -happyReduce_97 = happySpecReduce_3 38# happyReduction_97 -happyReduction_97 happy_x_3 +happyReduce_98 = happySpecReduce_3 38# happyReduction_98 +happyReduction_98 happy_x_3 happy_x_2 happy_x_1 = case happyOut59 happy_x_1 of { happy_var_1 -> @@ -1610,13 +1631,13 @@ happyReduction_97 happy_x_3 (CatchBranc happy_var_1 happy_var_3 )}} -happyReduce_98 = happySpecReduce_0 39# happyReduction_98 -happyReduction_98 = happyIn43 +happyReduce_99 = happySpecReduce_0 39# happyReduction_99 +happyReduction_99 = happyIn43 ([] ) -happyReduce_99 = happySpecReduce_2 39# happyReduction_99 -happyReduction_99 happy_x_2 +happyReduce_100 = happySpecReduce_2 39# happyReduction_100 +happyReduction_100 happy_x_2 happy_x_1 = case happyOut43 happy_x_1 of { happy_var_1 -> case happyOut42 happy_x_2 of { happy_var_2 -> @@ -1624,47 +1645,66 @@ happyReduction_99 happy_x_2 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_100 = happySpecReduce_2 40# happyReduction_100 -happyReduction_100 happy_x_2 +happyReduce_101 = happySpecReduce_2 40# happyReduction_101 +happyReduction_101 happy_x_2 happy_x_1 = case happyOut65 happy_x_2 of { happy_var_2 -> happyIn44 (JustFinally happy_var_2 )} -happyReduce_101 = happySpecReduce_0 40# happyReduction_101 -happyReduction_101 = happyIn44 +happyReduce_102 = happySpecReduce_0 40# happyReduction_102 +happyReduction_102 = happyIn44 (NoFinally ) -happyReduce_102 = happySpecReduce_2 41# happyReduction_102 -happyReduction_102 happy_x_2 +happyReduce_103 = happySpecReduce_2 41# happyReduction_103 +happyReduction_103 happy_x_2 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> happyIn45 - (VarGuard happy_var_1 + (FutGuard happy_var_1 )} -happyReduce_103 = happyReduce 4# 41# happyReduction_103 -happyReduction_103 (happy_x_4 `HappyStk` +happyReduce_104 = happySpecReduce_2 41# happyReduction_104 +happyReduction_104 happy_x_2 + happy_x_1 + = case happyOut7 happy_x_1 of { happy_var_1 -> + happyIn45 + (ProGuard happy_var_1 + )} + +happyReduce_105 = happyReduce 4# 41# happyReduction_105 +happyReduction_105 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut7 happy_x_3 of { happy_var_3 -> + happyIn45 + (FutFieldGuard happy_var_3 + ) `HappyStk` happyRest} + +happyReduce_106 = happyReduce 4# 41# happyReduction_106 +happyReduction_106 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut7 happy_x_3 of { happy_var_3 -> happyIn45 - (FieldGuard happy_var_3 + (ProFieldGuard happy_var_3 ) `HappyStk` happyRest} -happyReduce_104 = happySpecReduce_1 41# happyReduction_104 -happyReduction_104 happy_x_1 +happyReduce_107 = happySpecReduce_1 41# happyReduction_107 +happyReduction_107 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn45 (ExpGuard happy_var_1 )} -happyReduce_105 = happySpecReduce_3 41# happyReduction_105 -happyReduction_105 happy_x_3 +happyReduce_108 = happySpecReduce_3 41# happyReduction_108 +happyReduction_108 happy_x_3 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> @@ -1673,34 +1713,34 @@ happyReduction_105 happy_x_3 (AndGuard happy_var_1 happy_var_3 )}} -happyReduce_106 = happySpecReduce_1 42# happyReduction_106 -happyReduction_106 happy_x_1 +happyReduce_109 = happySpecReduce_1 42# happyReduction_109 +happyReduction_109 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn46 (ExpP happy_var_1 )} -happyReduce_107 = happySpecReduce_1 42# happyReduction_107 -happyReduction_107 happy_x_1 +happyReduce_110 = happySpecReduce_1 42# happyReduction_110 +happyReduction_110 happy_x_1 = case happyOut61 happy_x_1 of { happy_var_1 -> happyIn46 (ExpE happy_var_1 )} -happyReduce_108 = happySpecReduce_0 43# happyReduction_108 -happyReduction_108 = happyIn47 +happyReduce_111 = happySpecReduce_0 43# happyReduction_111 +happyReduction_111 = happyIn47 ([] ) -happyReduce_109 = happySpecReduce_1 43# happyReduction_109 -happyReduction_109 happy_x_1 +happyReduce_112 = happySpecReduce_1 43# happyReduction_112 +happyReduction_112 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn47 ((:[]) happy_var_1 )} -happyReduce_110 = happySpecReduce_3 43# happyReduction_110 -happyReduction_110 happy_x_3 +happyReduce_113 = happySpecReduce_3 43# happyReduction_113 +happyReduction_113 happy_x_3 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> @@ -1709,8 +1749,8 @@ happyReduction_110 happy_x_3 ((:) happy_var_1 happy_var_3 )}} -happyReduce_111 = happySpecReduce_3 44# happyReduction_111 -happyReduction_111 happy_x_3 +happyReduce_114 = happySpecReduce_3 44# happyReduction_114 +happyReduction_114 happy_x_3 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> @@ -1719,15 +1759,15 @@ happyReduction_111 happy_x_3 (EOr happy_var_1 happy_var_3 )}} -happyReduce_112 = happySpecReduce_1 44# happyReduction_112 -happyReduction_112 happy_x_1 +happyReduce_115 = happySpecReduce_1 44# happyReduction_115 +happyReduction_115 happy_x_1 = case happyOut49 happy_x_1 of { happy_var_1 -> happyIn48 (happy_var_1 )} -happyReduce_113 = happyReduce 8# 44# happyReduction_113 -happyReduction_113 (happy_x_8 `HappyStk` +happyReduce_116 = happyReduce 8# 44# happyReduction_116 +happyReduction_116 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -1743,8 +1783,8 @@ happyReduction_113 (happy_x_8 `HappyStk` (Let happy_var_3 happy_var_6 happy_var_8 ) `HappyStk` happyRest}}} -happyReduce_114 = happyReduce 6# 44# happyReduction_114 -happyReduction_114 (happy_x_6 `HappyStk` +happyReduce_117 = happyReduce 6# 44# happyReduction_117 +happyReduction_117 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -1758,8 +1798,8 @@ happyReduction_114 (happy_x_6 `HappyStk` (If happy_var_2 happy_var_4 happy_var_6 ) `HappyStk` happyRest}}} -happyReduce_115 = happyReduce 5# 44# happyReduction_115 -happyReduction_115 (happy_x_5 `HappyStk` +happyReduce_118 = happyReduce 5# 44# happyReduction_118 +happyReduction_118 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1771,8 +1811,8 @@ happyReduction_115 (happy_x_5 `HappyStk` (Case happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_116 = happySpecReduce_3 45# happyReduction_116 -happyReduction_116 happy_x_3 +happyReduce_119 = happySpecReduce_3 45# happyReduction_119 +happyReduction_119 happy_x_3 happy_x_2 happy_x_1 = case happyOut49 happy_x_1 of { happy_var_1 -> @@ -1781,15 +1821,15 @@ happyReduction_116 happy_x_3 (EAnd happy_var_1 happy_var_3 )}} -happyReduce_117 = happySpecReduce_1 45# happyReduction_117 -happyReduction_117 happy_x_1 +happyReduce_120 = happySpecReduce_1 45# happyReduction_120 +happyReduction_120 happy_x_1 = case happyOut50 happy_x_1 of { happy_var_1 -> happyIn49 (happy_var_1 )} -happyReduce_118 = happySpecReduce_3 46# happyReduction_118 -happyReduction_118 happy_x_3 +happyReduce_121 = happySpecReduce_3 46# happyReduction_121 +happyReduction_121 happy_x_3 happy_x_2 happy_x_1 = case happyOut50 happy_x_1 of { happy_var_1 -> @@ -1798,8 +1838,8 @@ happyReduction_118 happy_x_3 (EEq happy_var_1 happy_var_3 )}} -happyReduce_119 = happySpecReduce_3 46# happyReduction_119 -happyReduction_119 happy_x_3 +happyReduce_122 = happySpecReduce_3 46# happyReduction_122 +happyReduction_122 happy_x_3 happy_x_2 happy_x_1 = case happyOut50 happy_x_1 of { happy_var_1 -> @@ -1808,15 +1848,15 @@ happyReduction_119 happy_x_3 (ENeq happy_var_1 happy_var_3 )}} -happyReduce_120 = happySpecReduce_1 46# happyReduction_120 -happyReduction_120 happy_x_1 +happyReduce_123 = happySpecReduce_1 46# happyReduction_123 +happyReduction_123 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> happyIn50 (happy_var_1 )} -happyReduce_121 = happySpecReduce_3 47# happyReduction_121 -happyReduction_121 happy_x_3 +happyReduce_124 = happySpecReduce_3 47# happyReduction_124 +happyReduction_124 happy_x_3 happy_x_2 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> @@ -1825,8 +1865,8 @@ happyReduction_121 happy_x_3 (ELt happy_var_1 happy_var_3 )}} -happyReduce_122 = happySpecReduce_3 47# happyReduction_122 -happyReduction_122 happy_x_3 +happyReduce_125 = happySpecReduce_3 47# happyReduction_125 +happyReduction_125 happy_x_3 happy_x_2 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> @@ -1835,8 +1875,8 @@ happyReduction_122 happy_x_3 (ELe happy_var_1 happy_var_3 )}} -happyReduce_123 = happySpecReduce_3 47# happyReduction_123 -happyReduction_123 happy_x_3 +happyReduce_126 = happySpecReduce_3 47# happyReduction_126 +happyReduction_126 happy_x_3 happy_x_2 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> @@ -1845,8 +1885,8 @@ happyReduction_123 happy_x_3 (EGt happy_var_1 happy_var_3 )}} -happyReduce_124 = happySpecReduce_3 47# happyReduction_124 -happyReduction_124 happy_x_3 +happyReduce_127 = happySpecReduce_3 47# happyReduction_127 +happyReduction_127 happy_x_3 happy_x_2 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> @@ -1855,15 +1895,15 @@ happyReduction_124 happy_x_3 (EGe happy_var_1 happy_var_3 )}} -happyReduce_125 = happySpecReduce_1 47# happyReduction_125 -happyReduction_125 happy_x_1 +happyReduce_128 = happySpecReduce_1 47# happyReduction_128 +happyReduction_128 happy_x_1 = case happyOut52 happy_x_1 of { happy_var_1 -> happyIn51 (happy_var_1 )} -happyReduce_126 = happySpecReduce_3 48# happyReduction_126 -happyReduction_126 happy_x_3 +happyReduce_129 = happySpecReduce_3 48# happyReduction_129 +happyReduction_129 happy_x_3 happy_x_2 happy_x_1 = case happyOut52 happy_x_1 of { happy_var_1 -> @@ -1872,8 +1912,8 @@ happyReduction_126 happy_x_3 (EAdd happy_var_1 happy_var_3 )}} -happyReduce_127 = happySpecReduce_3 48# happyReduction_127 -happyReduction_127 happy_x_3 +happyReduce_130 = happySpecReduce_3 48# happyReduction_130 +happyReduction_130 happy_x_3 happy_x_2 happy_x_1 = case happyOut52 happy_x_1 of { happy_var_1 -> @@ -1882,15 +1922,15 @@ happyReduction_127 happy_x_3 (ESub happy_var_1 happy_var_3 )}} -happyReduce_128 = happySpecReduce_1 48# happyReduction_128 -happyReduction_128 happy_x_1 +happyReduce_131 = happySpecReduce_1 48# happyReduction_131 +happyReduction_131 happy_x_1 = case happyOut53 happy_x_1 of { happy_var_1 -> happyIn52 (happy_var_1 )} -happyReduce_129 = happySpecReduce_3 49# happyReduction_129 -happyReduction_129 happy_x_3 +happyReduce_132 = happySpecReduce_3 49# happyReduction_132 +happyReduction_132 happy_x_3 happy_x_2 happy_x_1 = case happyOut53 happy_x_1 of { happy_var_1 -> @@ -1899,8 +1939,8 @@ happyReduction_129 happy_x_3 (EMul happy_var_1 happy_var_3 )}} -happyReduce_130 = happySpecReduce_3 49# happyReduction_130 -happyReduction_130 happy_x_3 +happyReduce_133 = happySpecReduce_3 49# happyReduction_133 +happyReduction_133 happy_x_3 happy_x_2 happy_x_1 = case happyOut53 happy_x_1 of { happy_var_1 -> @@ -1909,8 +1949,8 @@ happyReduction_130 happy_x_3 (EDiv happy_var_1 happy_var_3 )}} -happyReduce_131 = happySpecReduce_3 49# happyReduction_131 -happyReduction_131 happy_x_3 +happyReduce_134 = happySpecReduce_3 49# happyReduction_134 +happyReduction_134 happy_x_3 happy_x_2 happy_x_1 = case happyOut53 happy_x_1 of { happy_var_1 -> @@ -1919,38 +1959,38 @@ happyReduction_131 happy_x_3 (EMod happy_var_1 happy_var_3 )}} -happyReduce_132 = happySpecReduce_1 49# happyReduction_132 -happyReduction_132 happy_x_1 +happyReduce_135 = happySpecReduce_1 49# happyReduction_135 +happyReduction_135 happy_x_1 = case happyOut54 happy_x_1 of { happy_var_1 -> happyIn53 (happy_var_1 )} -happyReduce_133 = happySpecReduce_2 50# happyReduction_133 -happyReduction_133 happy_x_2 +happyReduce_136 = happySpecReduce_2 50# happyReduction_136 +happyReduction_136 happy_x_2 happy_x_1 = case happyOut54 happy_x_2 of { happy_var_2 -> happyIn54 (ELogNeg happy_var_2 )} -happyReduce_134 = happySpecReduce_2 50# happyReduction_134 -happyReduction_134 happy_x_2 +happyReduce_137 = happySpecReduce_2 50# happyReduction_137 +happyReduction_137 happy_x_2 happy_x_1 = case happyOut54 happy_x_2 of { happy_var_2 -> happyIn54 (EIntNeg happy_var_2 )} -happyReduce_135 = happySpecReduce_1 50# happyReduction_135 -happyReduction_135 happy_x_1 +happyReduce_138 = happySpecReduce_1 50# happyReduction_138 +happyReduction_138 happy_x_1 = case happyOut55 happy_x_1 of { happy_var_1 -> happyIn54 (happy_var_1 )} -happyReduce_136 = happyReduce 4# 51# happyReduction_136 -happyReduction_136 (happy_x_4 `HappyStk` +happyReduce_139 = happyReduce 4# 51# happyReduction_139 +happyReduction_139 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -1961,8 +2001,8 @@ happyReduction_136 (happy_x_4 `HappyStk` (EFunCall happy_var_1 happy_var_3 ) `HappyStk` happyRest}} -happyReduce_137 = happyReduce 5# 51# happyReduction_137 -happyReduction_137 (happy_x_5 `HappyStk` +happyReduce_140 = happyReduce 5# 51# happyReduction_140 +happyReduction_140 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1975,8 +2015,8 @@ happyReduction_137 (happy_x_5 `HappyStk` (EQualFunCall happy_var_1 happy_var_2 happy_var_4 ) `HappyStk` happyRest}}} -happyReduce_138 = happyReduce 4# 51# happyReduction_138 -happyReduction_138 (happy_x_4 `HappyStk` +happyReduce_141 = happyReduce 4# 51# happyReduction_141 +happyReduction_141 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -1987,8 +2027,8 @@ happyReduction_138 (happy_x_4 `HappyStk` (ENaryFunCall happy_var_1 happy_var_3 ) `HappyStk` happyRest}} -happyReduce_139 = happyReduce 5# 51# happyReduction_139 -happyReduction_139 (happy_x_5 `HappyStk` +happyReduce_142 = happyReduce 5# 51# happyReduction_142 +happyReduction_142 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -2001,15 +2041,15 @@ happyReduction_139 (happy_x_5 `HappyStk` (ENaryQualFunCall happy_var_1 happy_var_2 happy_var_4 ) `HappyStk` happyRest}}} -happyReduce_140 = happySpecReduce_1 51# happyReduction_140 -happyReduction_140 happy_x_1 +happyReduce_143 = happySpecReduce_1 51# happyReduction_143 +happyReduction_143 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> happyIn55 (EVar happy_var_1 )} -happyReduce_141 = happySpecReduce_3 51# happyReduction_141 -happyReduction_141 happy_x_3 +happyReduce_144 = happySpecReduce_3 51# happyReduction_144 +happyReduction_144 happy_x_3 happy_x_2 happy_x_1 = case happyOut7 happy_x_3 of { happy_var_3 -> @@ -2017,8 +2057,8 @@ happyReduction_141 happy_x_3 (EThis happy_var_3 )} -happyReduce_142 = happySpecReduce_2 51# happyReduction_142 -happyReduction_142 happy_x_2 +happyReduce_145 = happySpecReduce_2 51# happyReduction_145 +happyReduction_145 happy_x_2 happy_x_1 = case happyOut24 happy_x_1 of { happy_var_1 -> case happyOut7 happy_x_2 of { happy_var_2 -> @@ -2026,15 +2066,15 @@ happyReduction_142 happy_x_2 (EQualVar happy_var_1 happy_var_2 )}} -happyReduce_143 = happySpecReduce_1 51# happyReduction_143 -happyReduction_143 happy_x_1 +happyReduce_146 = happySpecReduce_1 51# happyReduction_146 +happyReduction_146 happy_x_1 = case happyOut21 happy_x_1 of { happy_var_1 -> happyIn55 (ESinglConstr happy_var_1 )} -happyReduce_144 = happyReduce 4# 51# happyReduction_144 -happyReduction_144 (happy_x_4 `HappyStk` +happyReduce_147 = happyReduce 4# 51# happyReduction_147 +happyReduction_147 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -2045,15 +2085,15 @@ happyReduction_144 (happy_x_4 `HappyStk` (EParamConstr happy_var_1 happy_var_3 ) `HappyStk` happyRest}} -happyReduce_145 = happySpecReduce_1 51# happyReduction_145 -happyReduction_145 happy_x_1 +happyReduce_148 = happySpecReduce_1 51# happyReduction_148 +happyReduction_148 happy_x_1 = case happyOut60 happy_x_1 of { happy_var_1 -> happyIn55 (ELit happy_var_1 )} -happyReduce_146 = happySpecReduce_3 51# happyReduction_146 -happyReduction_146 happy_x_3 +happyReduce_149 = happySpecReduce_3 51# happyReduction_149 +happyReduction_149 happy_x_3 happy_x_2 happy_x_1 = case happyOut48 happy_x_2 of { happy_var_2 -> @@ -2061,8 +2101,8 @@ happyReduction_146 happy_x_3 (happy_var_2 )} -happyReduce_147 = happySpecReduce_3 52# happyReduction_147 -happyReduction_147 happy_x_3 +happyReduce_150 = happySpecReduce_3 52# happyReduction_150 +happyReduction_150 happy_x_3 happy_x_2 happy_x_1 = case happyOut59 happy_x_1 of { happy_var_1 -> @@ -2071,16 +2111,16 @@ happyReduction_147 happy_x_3 (CaseBranc happy_var_1 happy_var_3 )}} -happyReduce_148 = happySpecReduce_2 53# happyReduction_148 -happyReduction_148 happy_x_2 +happyReduce_151 = happySpecReduce_2 53# happyReduction_151 +happyReduction_151 happy_x_2 happy_x_1 = case happyOut56 happy_x_1 of { happy_var_1 -> happyIn57 ((:[]) happy_var_1 )} -happyReduce_149 = happySpecReduce_3 53# happyReduction_149 -happyReduction_149 happy_x_3 +happyReduce_152 = happySpecReduce_3 53# happyReduction_152 +happyReduction_152 happy_x_3 happy_x_2 happy_x_1 = case happyOut56 happy_x_1 of { happy_var_1 -> @@ -2089,20 +2129,20 @@ happyReduction_149 happy_x_3 ((:) happy_var_1 happy_var_3 )}} -happyReduce_150 = happySpecReduce_0 54# happyReduction_150 -happyReduction_150 = happyIn58 +happyReduce_153 = happySpecReduce_0 54# happyReduction_153 +happyReduction_153 = happyIn58 ([] ) -happyReduce_151 = happySpecReduce_1 54# happyReduction_151 -happyReduction_151 happy_x_1 +happyReduce_154 = happySpecReduce_1 54# happyReduction_154 +happyReduction_154 happy_x_1 = case happyOut59 happy_x_1 of { happy_var_1 -> happyIn58 ((:[]) happy_var_1 )} -happyReduce_152 = happySpecReduce_3 54# happyReduction_152 -happyReduction_152 happy_x_3 +happyReduce_155 = happySpecReduce_3 54# happyReduction_155 +happyReduction_155 happy_x_3 happy_x_2 happy_x_1 = case happyOut59 happy_x_1 of { happy_var_1 -> @@ -2111,29 +2151,29 @@ happyReduction_152 happy_x_3 ((:) happy_var_1 happy_var_3 )}} -happyReduce_153 = happySpecReduce_1 55# happyReduction_153 -happyReduction_153 happy_x_1 +happyReduce_156 = happySpecReduce_1 55# happyReduction_156 +happyReduction_156 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> happyIn59 (PIdent happy_var_1 )} -happyReduce_154 = happySpecReduce_1 55# happyReduction_154 -happyReduction_154 happy_x_1 +happyReduce_157 = happySpecReduce_1 55# happyReduction_157 +happyReduction_157 happy_x_1 = case happyOut60 happy_x_1 of { happy_var_1 -> happyIn59 (PLit happy_var_1 )} -happyReduce_155 = happySpecReduce_1 55# happyReduction_155 -happyReduction_155 happy_x_1 +happyReduce_158 = happySpecReduce_1 55# happyReduction_158 +happyReduction_158 happy_x_1 = case happyOut6 happy_x_1 of { happy_var_1 -> happyIn59 (PSinglConstr happy_var_1 )} -happyReduce_156 = happyReduce 4# 55# happyReduction_156 -happyReduction_156 (happy_x_4 `HappyStk` +happyReduce_159 = happyReduce 4# 55# happyReduction_159 +happyReduction_159 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -2144,46 +2184,46 @@ happyReduction_156 (happy_x_4 `HappyStk` (PParamConstr happy_var_1 happy_var_3 ) `HappyStk` happyRest}} -happyReduce_157 = happySpecReduce_1 55# happyReduction_157 -happyReduction_157 happy_x_1 +happyReduce_160 = happySpecReduce_1 55# happyReduction_160 +happyReduction_160 happy_x_1 = happyIn59 (PUnderscore ) -happyReduce_158 = happySpecReduce_1 56# happyReduction_158 -happyReduction_158 happy_x_1 +happyReduce_161 = happySpecReduce_1 56# happyReduction_161 +happyReduction_161 happy_x_1 = happyIn60 (LNull ) -happyReduce_159 = happySpecReduce_1 56# happyReduction_159 -happyReduction_159 happy_x_1 +happyReduce_162 = happySpecReduce_1 56# happyReduction_162 +happyReduction_162 happy_x_1 = happyIn60 (LThis ) -happyReduce_160 = happySpecReduce_1 56# happyReduction_160 -happyReduction_160 happy_x_1 +happyReduce_163 = happySpecReduce_1 56# happyReduction_163 +happyReduction_163 happy_x_1 = happyIn60 (LThisDC ) -happyReduce_161 = happySpecReduce_1 56# happyReduction_161 -happyReduction_161 happy_x_1 +happyReduce_164 = happySpecReduce_1 56# happyReduction_164 +happyReduction_164 happy_x_1 = case happyOut4 happy_x_1 of { happy_var_1 -> happyIn60 (LStr happy_var_1 )} -happyReduce_162 = happySpecReduce_1 56# happyReduction_162 -happyReduction_162 happy_x_1 +happyReduce_165 = happySpecReduce_1 56# happyReduction_165 +happyReduction_165 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> happyIn60 (LInt happy_var_1 )} -happyReduce_163 = happyReduce 5# 57# happyReduction_163 -happyReduction_163 (happy_x_5 `HappyStk` +happyReduce_166 = happyReduce 5# 57# happyReduction_166 +happyReduction_166 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -2195,8 +2235,8 @@ happyReduction_163 (happy_x_5 `HappyStk` (New happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_164 = happyReduce 6# 57# happyReduction_164 -happyReduction_164 (happy_x_6 `HappyStk` +happyReduce_167 = happyReduce 6# 57# happyReduction_167 +happyReduction_167 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -2209,8 +2249,8 @@ happyReduction_164 (happy_x_6 `HappyStk` (NewLocal happy_var_3 happy_var_5 ) `HappyStk` happyRest}} -happyReduce_165 = happyReduce 6# 57# happyReduction_165 -happyReduction_165 (happy_x_6 `HappyStk` +happyReduce_168 = happyReduce 6# 57# happyReduction_168 +happyReduction_168 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -2224,8 +2264,8 @@ happyReduction_165 (happy_x_6 `HappyStk` (SyncMethCall happy_var_1 happy_var_3 happy_var_5 ) `HappyStk` happyRest}}} -happyReduce_166 = happyReduce 6# 57# happyReduction_166 -happyReduction_166 (happy_x_6 `HappyStk` +happyReduce_169 = happyReduce 6# 57# happyReduction_169 +happyReduction_169 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -2238,8 +2278,8 @@ happyReduction_166 (happy_x_6 `HappyStk` (ThisSyncMethCall happy_var_3 happy_var_5 ) `HappyStk` happyRest}} -happyReduce_167 = happyReduce 6# 57# happyReduction_167 -happyReduction_167 (happy_x_6 `HappyStk` +happyReduce_170 = happyReduce 6# 57# happyReduction_170 +happyReduction_170 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -2253,8 +2293,8 @@ happyReduction_167 (happy_x_6 `HappyStk` (AsyncMethCall happy_var_1 happy_var_3 happy_var_5 ) `HappyStk` happyRest}}} -happyReduce_168 = happyReduce 6# 57# happyReduction_168 -happyReduction_168 (happy_x_6 `HappyStk` +happyReduce_171 = happyReduce 6# 57# happyReduction_171 +happyReduction_171 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -2267,8 +2307,8 @@ happyReduction_168 (happy_x_6 `HappyStk` (ThisAsyncMethCall happy_var_3 happy_var_5 ) `HappyStk` happyRest}} -happyReduce_169 = happySpecReduce_3 57# happyReduction_169 -happyReduction_169 happy_x_3 +happyReduce_172 = happySpecReduce_3 57# happyReduction_172 +happyReduction_172 happy_x_3 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> @@ -2276,8 +2316,32 @@ happyReduction_169 happy_x_3 (Get happy_var_1 )} -happyReduce_170 = happyReduce 6# 57# happyReduction_170 -happyReduction_170 (happy_x_6 `HappyStk` +happyReduce_173 = happySpecReduce_3 57# happyReduction_173 +happyReduction_173 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + happyIn61 + (ProGet happy_var_1 + )} + +happyReduce_174 = happySpecReduce_1 57# happyReduction_174 +happyReduction_174 happy_x_1 + = happyIn61 + (ProNew + ) + +happyReduce_175 = happySpecReduce_3 57# happyReduction_175 +happyReduction_175 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + happyIn61 + (ProEmpty happy_var_1 + )} + +happyReduce_176 = happyReduce 6# 57# happyReduction_176 +happyReduction_176 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -2291,8 +2355,8 @@ happyReduction_170 (happy_x_6 `HappyStk` (Spawns happy_var_1 happy_var_3 happy_var_5 ) `HappyStk` happyRest}}} -happyReduce_171 = happySpecReduce_3 58# happyReduction_171 -happyReduction_171 happy_x_3 +happyReduce_177 = happySpecReduce_3 58# happyReduction_177 +happyReduction_177 happy_x_3 happy_x_2 happy_x_1 = case happyOut64 happy_x_2 of { happy_var_2 -> @@ -2300,13 +2364,13 @@ happyReduction_171 happy_x_3 (Ann happy_var_2 )} -happyReduce_172 = happySpecReduce_0 59# happyReduction_172 -happyReduction_172 = happyIn63 +happyReduce_178 = happySpecReduce_0 59# happyReduction_178 +happyReduction_178 = happyIn63 ([] ) -happyReduce_173 = happySpecReduce_2 59# happyReduction_173 -happyReduction_173 happy_x_2 +happyReduce_179 = happySpecReduce_2 59# happyReduction_179 +happyReduction_179 happy_x_2 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> case happyOut62 happy_x_2 of { happy_var_2 -> @@ -2314,8 +2378,8 @@ happyReduction_173 happy_x_2 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_174 = happySpecReduce_3 60# happyReduction_174 -happyReduction_174 happy_x_3 +happyReduce_180 = happySpecReduce_3 60# happyReduction_180 +happyReduction_180 happy_x_3 happy_x_2 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> @@ -2324,15 +2388,15 @@ happyReduction_174 happy_x_3 (AnnWithType happy_var_1 happy_var_3 )}} -happyReduce_175 = happySpecReduce_1 60# happyReduction_175 -happyReduction_175 happy_x_1 +happyReduce_181 = happySpecReduce_1 60# happyReduction_181 +happyReduction_181 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn64 (AnnNoType happy_var_1 )} -happyReduce_176 = happySpecReduce_2 61# happyReduction_176 -happyReduction_176 happy_x_2 +happyReduce_182 = happySpecReduce_2 61# happyReduction_182 +happyReduction_182 happy_x_2 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> case happyOut41 happy_x_2 of { happy_var_2 -> @@ -2340,13 +2404,13 @@ happyReduction_176 happy_x_2 (AnnStm (reverse happy_var_1) happy_var_2 )}} -happyReduce_177 = happySpecReduce_0 62# happyReduction_177 -happyReduction_177 = happyIn66 +happyReduce_183 = happySpecReduce_0 62# happyReduction_183 +happyReduction_183 = happyIn66 ([] ) -happyReduce_178 = happySpecReduce_2 62# happyReduction_178 -happyReduction_178 happy_x_2 +happyReduce_184 = happySpecReduce_2 62# happyReduction_184 +happyReduction_184 happy_x_2 happy_x_1 = case happyOut66 happy_x_1 of { happy_var_1 -> case happyOut65 happy_x_2 of { happy_var_2 -> @@ -2354,8 +2418,8 @@ happyReduction_178 happy_x_2 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_179 = happySpecReduce_2 63# happyReduction_179 -happyReduction_179 happy_x_2 +happyReduce_185 = happySpecReduce_2 63# happyReduction_185 +happyReduction_185 happy_x_2 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> case happyOut27 happy_x_2 of { happy_var_2 -> @@ -2363,13 +2427,13 @@ happyReduction_179 happy_x_2 (AnnDec (reverse happy_var_1) happy_var_2 )}} -happyReduce_180 = happySpecReduce_0 64# happyReduction_180 -happyReduction_180 = happyIn68 +happyReduce_186 = happySpecReduce_0 64# happyReduction_186 +happyReduction_186 = happyIn68 ([] ) -happyReduce_181 = happySpecReduce_2 64# happyReduction_181 -happyReduction_181 happy_x_2 +happyReduce_187 = happySpecReduce_2 64# happyReduction_187 +happyReduction_187 happy_x_2 happy_x_1 = case happyOut68 happy_x_1 of { happy_var_1 -> case happyOut67 happy_x_2 of { happy_var_2 -> @@ -2377,8 +2441,8 @@ happyReduction_181 happy_x_2 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_182 = happySpecReduce_2 65# happyReduction_182 -happyReduction_182 happy_x_2 +happyReduce_188 = happySpecReduce_2 65# happyReduction_188 +happyReduction_188 happy_x_2 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> case happyOut34 happy_x_2 of { happy_var_2 -> @@ -2386,13 +2450,13 @@ happyReduction_182 happy_x_2 (AnnMethSig (reverse happy_var_1) happy_var_2 )}} -happyReduce_183 = happySpecReduce_0 66# happyReduction_183 -happyReduction_183 = happyIn70 +happyReduce_189 = happySpecReduce_0 66# happyReduction_189 +happyReduction_189 = happyIn70 ([] ) -happyReduce_184 = happySpecReduce_3 66# happyReduction_184 -happyReduction_184 happy_x_3 +happyReduce_190 = happySpecReduce_3 66# happyReduction_190 +happyReduction_190 happy_x_3 happy_x_2 happy_x_1 = case happyOut70 happy_x_1 of { happy_var_1 -> @@ -2402,7 +2466,7 @@ happyReduction_184 happy_x_3 )}} happyNewToken action sts stk [] = - happyDoAction 75# notHappyAtAll action sts stk [] + happyDoAction 80# notHappyAtAll action sts stk [] happyNewToken action sts stk (tk:tks) = let cont i = happyDoAction i tk action sts stk tks in @@ -2476,15 +2540,20 @@ happyNewToken action sts stk (tk:tks) = PT _ (TS _ 67) -> cont 67#; PT _ (TS _ 68) -> cont 68#; PT _ (TS _ 69) -> cont 69#; - PT _ (TL happy_dollar_dollar) -> cont 70#; - PT _ (TI happy_dollar_dollar) -> cont 71#; - PT _ (T_UIdent _) -> cont 72#; - PT _ (T_LIdent _) -> cont 73#; - _ -> cont 74#; + PT _ (TS _ 70) -> cont 70#; + PT _ (TS _ 71) -> cont 71#; + PT _ (TS _ 72) -> cont 72#; + PT _ (TS _ 73) -> cont 73#; + PT _ (TS _ 74) -> cont 74#; + PT _ (TL happy_dollar_dollar) -> cont 75#; + PT _ (TI happy_dollar_dollar) -> cont 76#; + PT _ (T_UIdent _) -> cont 77#; + PT _ (T_LIdent _) -> cont 78#; + _ -> cont 79#; _ -> happyError' (tk:tks) } -happyError_ 75# tk tks = happyError' tks +happyError_ 80# tk tks = happyError' tks happyError_ _ tk tks = happyError' (tk:tks) happyThen :: () => Err a -> (a -> Err b) -> Err b diff --git a/gen/haskell/ParABS.y b/gen/haskell/ParABS.y index 47239ab..cbac51e 100644 --- a/gen/haskell/ParABS.y +++ b/gen/haskell/ParABS.y @@ -17,73 +17,78 @@ import ErrM %token '!' { PT _ (TS _ 1) } '!=' { PT _ (TS _ 2) } - '%' { PT _ (TS _ 3) } - '&' { PT _ (TS _ 4) } - '&&' { PT _ (TS _ 5) } - '(' { PT _ (TS _ 6) } - ')' { PT _ (TS _ 7) } - '*' { PT _ (TS _ 8) } - '+' { PT _ (TS _ 9) } - ',' { PT _ (TS _ 10) } - '-' { PT _ (TS _ 11) } - '.' { PT _ (TS _ 12) } - '/' { PT _ (TS _ 13) } - ':' { PT _ (TS _ 14) } - ';' { PT _ (TS _ 15) } - '<' { PT _ (TS _ 16) } - '<=' { PT _ (TS _ 17) } - '=' { PT _ (TS _ 18) } - '==' { PT _ (TS _ 19) } - '=>' { PT _ (TS _ 20) } - '>' { PT _ (TS _ 21) } - '>=' { PT _ (TS _ 22) } - '?' { PT _ (TS _ 23) } - '[' { PT _ (TS _ 24) } - ']' { PT _ (TS _ 25) } - '_' { PT _ (TS _ 26) } - 'assert' { PT _ (TS _ 27) } - 'await' { PT _ (TS _ 28) } - 'builtin' { PT _ (TS _ 29) } - 'case' { PT _ (TS _ 30) } - 'catch' { PT _ (TS _ 31) } - 'class' { PT _ (TS _ 32) } - 'data' { PT _ (TS _ 33) } - 'def' { PT _ (TS _ 34) } - 'else' { PT _ (TS _ 35) } - 'exception' { PT _ (TS _ 36) } - 'export' { PT _ (TS _ 37) } - 'extends' { PT _ (TS _ 38) } - 'fimport' { PT _ (TS _ 39) } - 'finally' { PT _ (TS _ 40) } - 'from' { PT _ (TS _ 41) } - 'get' { PT _ (TS _ 42) } - 'if' { PT _ (TS _ 43) } - 'implements' { PT _ (TS _ 44) } - 'import' { PT _ (TS _ 45) } - 'in' { PT _ (TS _ 46) } - 'interface' { PT _ (TS _ 47) } - 'let' { PT _ (TS _ 48) } - 'local' { PT _ (TS _ 49) } - 'module' { PT _ (TS _ 50) } - 'new' { PT _ (TS _ 51) } - 'null' { PT _ (TS _ 52) } - 'println' { PT _ (TS _ 53) } - 'return' { PT _ (TS _ 54) } - 'skip' { PT _ (TS _ 55) } - 'spawns' { PT _ (TS _ 56) } - 'suspend' { PT _ (TS _ 57) } - 'then' { PT _ (TS _ 58) } - 'this' { PT _ (TS _ 59) } - 'thisDC' { PT _ (TS _ 60) } - 'throw' { PT _ (TS _ 61) } - 'try' { PT _ (TS _ 62) } - 'type' { PT _ (TS _ 63) } - 'while' { PT _ (TS _ 64) } - '{' { PT _ (TS _ 65) } - '|' { PT _ (TS _ 66) } - '||' { PT _ (TS _ 67) } - '}' { PT _ (TS _ 68) } - '~' { PT _ (TS _ 69) } + '$' { PT _ (TS _ 3) } + '%' { PT _ (TS _ 4) } + '&' { PT _ (TS _ 5) } + '&&' { PT _ (TS _ 6) } + '(' { PT _ (TS _ 7) } + ')' { PT _ (TS _ 8) } + '*' { PT _ (TS _ 9) } + '+' { PT _ (TS _ 10) } + ',' { PT _ (TS _ 11) } + '-' { PT _ (TS _ 12) } + '.' { PT _ (TS _ 13) } + '/' { PT _ (TS _ 14) } + ':' { PT _ (TS _ 15) } + ';' { PT _ (TS _ 16) } + '<' { PT _ (TS _ 17) } + '<=' { PT _ (TS _ 18) } + '=' { PT _ (TS _ 19) } + '==' { PT _ (TS _ 20) } + '=>' { PT _ (TS _ 21) } + '>' { PT _ (TS _ 22) } + '>=' { PT _ (TS _ 23) } + '?' { PT _ (TS _ 24) } + '[' { PT _ (TS _ 25) } + ']' { PT _ (TS _ 26) } + '_' { PT _ (TS _ 27) } + 'assert' { PT _ (TS _ 28) } + 'await' { PT _ (TS _ 29) } + 'builtin' { PT _ (TS _ 30) } + 'case' { PT _ (TS _ 31) } + 'catch' { PT _ (TS _ 32) } + 'class' { PT _ (TS _ 33) } + 'data' { PT _ (TS _ 34) } + 'def' { PT _ (TS _ 35) } + 'else' { PT _ (TS _ 36) } + 'exception' { PT _ (TS _ 37) } + 'export' { PT _ (TS _ 38) } + 'extends' { PT _ (TS _ 39) } + 'fimport' { PT _ (TS _ 40) } + 'finally' { PT _ (TS _ 41) } + 'from' { PT _ (TS _ 42) } + 'get' { PT _ (TS _ 43) } + 'if' { PT _ (TS _ 44) } + 'implements' { PT _ (TS _ 45) } + 'import' { PT _ (TS _ 46) } + 'in' { PT _ (TS _ 47) } + 'interface' { PT _ (TS _ 48) } + 'let' { PT _ (TS _ 49) } + 'local' { PT _ (TS _ 50) } + 'module' { PT _ (TS _ 51) } + 'new' { PT _ (TS _ 52) } + 'null' { PT _ (TS _ 53) } + 'println' { PT _ (TS _ 54) } + 'pro_get' { PT _ (TS _ 55) } + 'pro_give' { PT _ (TS _ 56) } + 'pro_isempty' { PT _ (TS _ 57) } + 'pro_new' { PT _ (TS _ 58) } + 'return' { PT _ (TS _ 59) } + 'skip' { PT _ (TS _ 60) } + 'spawns' { PT _ (TS _ 61) } + 'suspend' { PT _ (TS _ 62) } + 'then' { PT _ (TS _ 63) } + 'this' { PT _ (TS _ 64) } + 'thisDC' { PT _ (TS _ 65) } + 'throw' { PT _ (TS _ 66) } + 'try' { PT _ (TS _ 67) } + 'type' { PT _ (TS _ 68) } + 'while' { PT _ (TS _ 69) } + '{' { PT _ (TS _ 70) } + '|' { PT _ (TS _ 71) } + '||' { PT _ (TS _ 72) } + '}' { PT _ (TS _ 73) } + '~' { PT _ (TS _ 74) } L_quoted { PT _ (TL $$) } L_integ { PT _ (TI $$) } @@ -287,8 +292,9 @@ Stm : Exp ';' { SExp $1 } | 'suspend' ';' { SSuspend } | 'skip' ';' { SSkip } | 'assert' PureExp ';' { SAssert $2 } - | 'await' Guard ';' { SAwait $2 } + | 'await' AwaitGuard ';' { SAwait $2 } | 'throw' PureExp ';' { SThrow $2 } + | PureExp '.' 'pro_give' '(' PureExp ')' ';' { SGive $1 $5 } | 'try' AnnotStm 'catch' '{' ListCatchBranch '}' MaybeFinally { STryCatchFinally $2 (reverse $5) $7 } | 'println' PureExp ';' { SPrint $2 } @@ -307,11 +313,13 @@ MaybeFinally : 'finally' AnnotStm { JustFinally $2 } | {- empty -} { NoFinally } -Guard :: { Guard } -Guard : LIdent '?' { VarGuard $1 } - | 'this' '.' LIdent '?' { FieldGuard $3 } +AwaitGuard :: { AwaitGuard } +AwaitGuard : LIdent '?' { FutGuard $1 } + | LIdent '$' { ProGuard $1 } + | 'this' '.' LIdent '?' { FutFieldGuard $3 } + | 'this' '.' LIdent '$' { ProFieldGuard $3 } | PureExp { ExpGuard $1 } - | Guard '&' Guard { AndGuard $1 $3 } + | AwaitGuard '&' AwaitGuard { AndGuard $1 $3 } Exp :: { Exp } @@ -424,6 +432,9 @@ EffExp : 'new' Type '(' ListPureExp ')' { New $2 $4 } | PureExp '!' LIdent '(' ListPureExp ')' { AsyncMethCall $1 $3 $5 } | 'this' '!' LIdent '(' ListPureExp ')' { ThisAsyncMethCall $3 $5 } | PureExp '.' 'get' { Get $1 } + | PureExp '.' 'pro_get' { ProGet $1 } + | 'pro_new' { ProNew } + | PureExp '.' 'pro_isempty' { ProEmpty $1 } | PureExp 'spawns' Type '(' ListPureExp ')' { Spawns $1 $3 $5 } diff --git a/gen/haskell/PrintABS.hs b/gen/haskell/PrintABS.hs index 1a8ea30..2da461d 100644 --- a/gen/haskell/PrintABS.hs +++ b/gen/haskell/PrintABS.hs @@ -271,8 +271,9 @@ instance Print Stm where SSuspend -> prPrec i 0 (concatD [doc (showString "suspend") , doc (showString ";")]) SSkip -> prPrec i 0 (concatD [doc (showString "skip") , doc (showString ";")]) SAssert pureexp -> prPrec i 0 (concatD [doc (showString "assert") , prt 0 pureexp , doc (showString ";")]) - SAwait guard -> prPrec i 0 (concatD [doc (showString "await") , prt 0 guard , doc (showString ";")]) + SAwait awaitguard -> prPrec i 0 (concatD [doc (showString "await") , prt 0 awaitguard , doc (showString ";")]) SThrow pureexp -> prPrec i 0 (concatD [doc (showString "throw") , prt 0 pureexp , doc (showString ";")]) + SGive pureexp0 pureexp -> prPrec i 0 (concatD [prt 0 pureexp0 , doc (showString ".") , doc (showString "pro_give") , doc (showString "(") , prt 0 pureexp , doc (showString ")") , doc (showString ";")]) STryCatchFinally annotstm catchbranchs maybefinally -> prPrec i 0 (concatD [doc (showString "try") , prt 0 annotstm , doc (showString "catch") , doc (showString "{") , prt 0 catchbranchs , doc (showString "}") , prt 0 maybefinally]) SPrint pureexp -> prPrec i 0 (concatD [doc (showString "println") , prt 0 pureexp , doc (showString ";")]) @@ -291,12 +292,14 @@ instance Print MaybeFinally where NoFinally -> prPrec i 0 (concatD []) -instance Print Guard where +instance Print AwaitGuard where prt i e = case e of - VarGuard lident -> prPrec i 0 (concatD [prt 0 lident , doc (showString "?")]) - FieldGuard lident -> prPrec i 0 (concatD [doc (showString "this") , doc (showString ".") , prt 0 lident , doc (showString "?")]) + FutGuard lident -> prPrec i 0 (concatD [prt 0 lident , doc (showString "?")]) + ProGuard lident -> prPrec i 0 (concatD [prt 0 lident , doc (showString "$")]) + FutFieldGuard lident -> prPrec i 0 (concatD [doc (showString "this") , doc (showString ".") , prt 0 lident , doc (showString "?")]) + ProFieldGuard lident -> prPrec i 0 (concatD [doc (showString "this") , doc (showString ".") , prt 0 lident , doc (showString "$")]) ExpGuard pureexp -> prPrec i 0 (concatD [prt 0 pureexp]) - AndGuard guard0 guard -> prPrec i 0 (concatD [prt 0 guard0 , doc (showString "&") , prt 0 guard]) + AndGuard awaitguard0 awaitguard -> prPrec i 0 (concatD [prt 0 awaitguard0 , doc (showString "&") , prt 0 awaitguard]) instance Print Exp where @@ -380,6 +383,9 @@ instance Print EffExp where AsyncMethCall pureexp lident pureexps -> prPrec i 0 (concatD [prt 0 pureexp , doc (showString "!") , prt 0 lident , doc (showString "(") , prt 0 pureexps , doc (showString ")")]) ThisAsyncMethCall lident pureexps -> prPrec i 0 (concatD [doc (showString "this") , doc (showString "!") , prt 0 lident , doc (showString "(") , prt 0 pureexps , doc (showString ")")]) Get pureexp -> prPrec i 0 (concatD [prt 0 pureexp , doc (showString ".") , doc (showString "get")]) + ProGet pureexp -> prPrec i 0 (concatD [prt 0 pureexp , doc (showString ".") , doc (showString "pro_get")]) + ProNew -> prPrec i 0 (concatD [doc (showString "pro_new")]) + ProEmpty pureexp -> prPrec i 0 (concatD [prt 0 pureexp , doc (showString ".") , doc (showString "pro_isempty")]) Spawns pureexp type' pureexps -> prPrec i 0 (concatD [prt 0 pureexp , doc (showString "spawns") , prt 0 type' , doc (showString "(") , prt 0 pureexps , doc (showString ")")]) diff --git a/gen/haskell/SkelABS.hs b/gen/haskell/SkelABS.hs index 867bc52..f4e23b0 100644 --- a/gen/haskell/SkelABS.hs +++ b/gen/haskell/SkelABS.hs @@ -161,8 +161,9 @@ transStm x = case x of SSuspend -> failure x SSkip -> failure x SAssert pureexp -> failure x - SAwait guard -> failure x + SAwait awaitguard -> failure x SThrow pureexp -> failure x + SGive pureexp1 pureexp2 -> failure x STryCatchFinally annotstm catchbranchs maybefinally -> failure x SPrint pureexp -> failure x @@ -178,12 +179,14 @@ transMaybeFinally x = case x of NoFinally -> failure x -transGuard :: Guard -> Result -transGuard x = case x of - VarGuard lident -> failure x - FieldGuard lident -> failure x +transAwaitGuard :: AwaitGuard -> Result +transAwaitGuard x = case x of + FutGuard lident -> failure x + ProGuard lident -> failure x + FutFieldGuard lident -> failure x + ProFieldGuard lident -> failure x ExpGuard pureexp -> failure x - AndGuard guard1 guard2 -> failure x + AndGuard awaitguard1 awaitguard2 -> failure x transExp :: Exp -> Result @@ -256,6 +259,9 @@ transEffExp x = case x of AsyncMethCall pureexp lident pureexps -> failure x ThisAsyncMethCall lident pureexps -> failure x Get pureexp -> failure x + ProGet pureexp -> failure x + ProNew -> failure x + ProEmpty pureexp -> failure x Spawns pureexp type' pureexps -> failure x diff --git a/src/ABS.cf b/src/ABS.cf index af3571a..1804e7a 100644 --- a/src/ABS.cf +++ b/src/ABS.cf @@ -28,7 +28,7 @@ AnyImport. Import ::= ImportType TType AnyIdent ; -- maybe ambiguous, but no su AnyFromImport. Import ::= ImportType [AnyIdent] "from" QType ; StarFromImport. Import ::= ImportType "*" "from" QType ; terminator Import ";" ; -ForeignImport. ImportType ::= "fimport"; +ForeignImport. ImportType ::= "fimport"; -- not official ABS, only used by an extension in the Haskell backend NormalImport. ImportType ::= "import"; -- Type valid names @@ -108,6 +108,7 @@ SSkip. Stm ::= "skip" ";" ; SAssert. Stm ::= "assert" PureExp ";" ; SAwait. Stm ::= "await" AwaitGuard ";" ; SThrow. Stm ::= "throw" PureExp ";" ; +SGive. Stm ::= PureExp "." "pro_give" "(" PureExp ")" ";" ; STryCatchFinally. Stm ::= "try" AnnotStm "catch" "{" [CatchBranch] "}" MaybeFinally ; CatchBranc. CatchBranch ::= Pattern "=>" AnnotStm ; terminator CatchBranch "" ; -- can be empty, and does not have to be terminated by ";" @@ -117,7 +118,9 @@ SPrint. Stm ::= "println" PureExp ";" ; -- Await Guards FutGuard. AwaitGuard ::= LIdent "?" ; +ProGuard. AwaitGuard ::= LIdent "$" ; -- not official ABS, only used by an extension in the Haskell backend FutFieldGuard. AwaitGuard ::= "this" "." LIdent "?" ; +ProFieldGuard. AwaitGuard ::= "this" "." LIdent "$" ; -- not official ABS, only used by an extension in the Haskell backend ExpGuard. AwaitGuard ::= PureExp ; AndGuard. AwaitGuard ::= AwaitGuard "&" AwaitGuard ; @@ -183,7 +186,10 @@ ThisSyncMethCall. EffExp ::= "this" "." LIdent "(" [PureExp] ")" ; AsyncMethCall. EffExp ::= PureExp "!" LIdent "(" [PureExp] ")" ; ThisAsyncMethCall. EffExp ::= "this" "!" LIdent "(" [PureExp] ")" ; Get. EffExp ::= PureExp "." "get" ; -Spawns. EffExp ::= PureExp "spawns" Type "(" [PureExp] ")" ; +ProGet. EffExp ::= PureExp "." "pro_get" ; -- not official ABS, only used by an extension in the Haskell backend +ProNew. EffExp ::= "pro_new" ; -- not official ABS, only used by an extension in the Haskell backend +ProEmpty. EffExp ::= PureExp "." "pro_isempty" ; -- not official ABS, only used by an extension in the Haskell backend +Spawns. EffExp ::= PureExp "spawns" Type "(" [PureExp] ")" ; -- not official ABS, only used by an extension in the Haskell backend -- Annotations Ann. Annot ::= "[" Annot_ "]";