Automated_Stateful_Protocol.../Automated_Stateful_Protocol.../trac/trac_parser/trac_protocol.lex.sml

2132 lines
101 KiB
Standard ML

(***** GENERATED FILE -- DO NOT EDIT ****)
functor TracTransactionLexFun(structure Tokens: TracTransaction_TOKENS)=
struct
structure UserDeclarations =
struct
(*
(C) Copyright Andreas Viktor Hess, DTU, 2020
(C) Copyright Sebastian A. Mödersheim, DTU, 2020
(C) Copyright Achim D. Brucker, University of Exeter, 2020
(C) Copyright Anders Schlichtkrull, DTU, 2020
All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*)
structure Tokens = Tokens
open TracProtocol
type pos = int * int * int
type svalue = Tokens.svalue
type ('a,'b) token = ('a,'b) Tokens.token
type lexresult= (svalue,pos) token
val pos = Unsynchronized.ref (0,0,0)
fun eof () = Tokens.EOF((!pos,!pos))
fun error (e,p : (int * int * int),_) = TextIO.output (TextIO.stdOut,
String.concat[
"Line ", (Int.toString (#1 p)), "/",
(Int.toString (#2 p - #3 p)),": ", e, "\n"
])
fun inputPos yypos = ((#1 (!pos), yypos - (#3(!pos)), (#3 (!pos))),
(#1 (!pos), yypos - (#3(!pos)), (#3 (!pos))))
fun inputPos_half yypos = (#1 (!pos), yypos - (#3(!pos)), (#3 (!pos)))
end (* end of user routines *)
exception LexError (* raised if illegal leaf action tried *)
structure Internal =
struct
datatype yyfinstate = N of int
type statedata = {fin : yyfinstate list, trans: string}
(* transition & final state table *)
val tab = let
val s = [
(0,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(1,
"\003\003\003\003\003\003\003\003\003\210\212\003\003\003\003\003\
\\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\
\\210\208\003\205\003\204\003\200\199\198\197\195\194\192\191\181\
\\179\179\179\179\179\179\179\179\179\179\178\177\003\176\003\175\
\\003\151\087\087\087\087\142\137\087\087\087\128\087\087\087\087\
\\110\087\087\106\090\087\087\087\087\087\087\086\003\085\003\084\
\\003\066\059\009\053\009\009\009\009\047\009\009\009\009\040\037\
\\009\009\030\022\009\009\009\012\009\009\009\007\005\004\003\003\
\\003"
),
(5,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\
\\000"
),
(7,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\
\\000"
),
(9,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(11,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(12,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\017\010\010\013\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(13,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\014\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(14,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\015\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(15,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\016\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(17,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\018\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(18,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\019\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(19,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\020\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(20,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\021\010\000\000\000\000\000\
\\000"
),
(22,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\023\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(23,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\026\010\010\010\010\010\010\010\010\010\010\024\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(24,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\025\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(26,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\027\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(27,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\028\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(28,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\029\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(30,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\031\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(31,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\032\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(32,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\033\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(33,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\034\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(34,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\035\010\010\010\010\000\000\000\000\000\
\\000"
),
(35,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\036\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(37,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\039\010\010\010\010\010\010\010\038\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(40,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\045\010\010\010\010\010\010\010\010\010\041\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(41,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\042\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(42,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\043\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(43,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\044\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(45,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\046\010\010\010\000\000\000\000\000\
\\000"
),
(47,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\048\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(48,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\049\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(49,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\050\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(50,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\051\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(51,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\052\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(53,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\054\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(54,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\055\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(55,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\056\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(56,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\057\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(57,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\058\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(59,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\060\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(60,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\061\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(61,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\062\010\010\010\000\000\000\000\000\
\\000"
),
(62,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\063\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(63,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\064\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(64,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\065\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(66,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\079\067\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(67,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\068\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(68,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\069\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(69,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\070\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(70,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\071\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(71,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\072\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(72,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\073\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(73,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\074\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(74,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\075\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(75,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\076\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(76,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\077\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(77,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\078\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(79,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\080\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(80,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\081\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(81,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\082\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(82,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\
\\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\000\
\\000\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\010\
\\000\010\010\010\010\010\010\010\010\010\010\083\010\010\010\010\
\\010\010\010\010\010\010\010\010\010\010\010\000\000\000\000\000\
\\000"
),
(87,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(89,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(90,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\095\088\088\088\088\088\088\091\088\000\000\000\000\000\
\\000"
),
(91,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\092\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(92,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\093\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(93,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\094\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(95,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\096\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(96,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\097\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(97,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\098\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(98,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\099\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(99,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\100\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(100,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\101\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(101,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\102\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(102,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\103\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(103,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\104\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(104,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\105\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(106,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\107\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(107,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\108\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(108,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\109\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(110,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\116\088\088\111\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(111,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\112\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(112,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\113\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(113,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\114\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(114,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\115\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(116,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\123\088\088\088\088\088\117\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(117,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\118\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(118,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\119\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(119,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\120\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(120,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\121\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(121,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\122\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(123,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\124\088\088\088\088\000\000\000\000\000\
\\000"
),
(124,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\125\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(125,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\126\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(126,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\127\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(128,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\129\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(129,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\130\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(130,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\131\088\088\088\000\000\000\000\000\
\\000"
),
(131,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\132\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(132,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\133\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(133,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\134\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(134,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\135\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(135,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\136\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(137,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\138\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(138,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\139\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(139,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\140\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(140,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\141\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(142,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\143\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(143,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\144\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(144,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\145\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(145,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\146\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(146,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\147\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(147,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\148\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(148,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\149\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(149,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\150\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(151,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\165\159\088\088\088\088\088\088\088\088\088\088\152\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(152,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\153\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(153,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\154\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(154,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\155\088\000\000\000\000\000\
\\000"
),
(155,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\156\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(156,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\157\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(157,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\158\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(159,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\160\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(160,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\161\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(161,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\162\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(162,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\163\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(163,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\164\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(165,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\166\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(166,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\167\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(167,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\168\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(168,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\169\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(169,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\170\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(170,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\171\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(171,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\172\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(172,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\173\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(173,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\
\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\088\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\088\
\\000\088\088\088\088\088\088\088\088\088\088\088\088\088\174\088\
\\088\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\
\\000"
),
(179,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\180\180\180\180\180\180\180\180\180\180\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(181,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(182,
"\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\184\183\183\183\183\190\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183"
),
(183,
"\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\184\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183"
),
(184,
"\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185\185\185\185\185\185\185\185\185\185\188\185\185\185\185\187\
\\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\185\
\\185"
),
(185,
"\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\184\183\183\183\183\186\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183"
),
(186,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(188,
"\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\184\183\183\183\183\189\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\183\
\\183"
),
(192,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(195,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(200,
"\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\201\000\000\000\000\000\000\203\000\000\000\000\000\202\202\202\
\\201\201\201\201\201\201\201\201\201\201\000\000\000\000\000\000\
\\000\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\
\\201\201\201\201\201\201\201\201\201\201\201\000\000\000\000\201\
\\000\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\
\\201\201\201\201\201\201\201\201\201\201\201\000\000\000\000\000\
\\000"
),
(202,
"\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\202\000\000\000\000\000\000\203\000\000\000\000\000\202\202\202\
\\202\202\202\202\202\202\202\202\202\202\000\000\000\000\000\000\
\\000\202\202\202\202\202\202\202\202\202\202\202\202\202\202\202\
\\202\202\202\202\202\202\202\202\202\202\202\000\000\000\000\202\
\\000\202\202\202\202\202\202\202\202\202\202\202\202\202\202\202\
\\202\202\202\202\202\202\202\202\202\202\202\000\000\000\000\000\
\\000"
),
(205,
"\206\206\206\206\206\206\206\206\206\206\207\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\206\
\\206"
),
(208,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(210,
"\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
(0, "")]
fun f x = x
val s = List.map f (List.rev (tl (List.rev s)))
exception LexHackingError
fun look ((j,x)::r, i: int) = if i = j then x else look(r, i)
| look ([], i) = raise LexHackingError
fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
in Vector.fromList(List.map g
[{fin = [], trans = 0},
{fin = [], trans = 1},
{fin = [], trans = 1},
{fin = [(N 295)], trans = 0},
{fin = [(N 28),(N 295)], trans = 0},
{fin = [(N 295)], trans = 5},
{fin = [(N 34)], trans = 0},
{fin = [(N 26),(N 295)], trans = 7},
{fin = [(N 31)], trans = 0},
{fin = [(N 288),(N 295)], trans = 9},
{fin = [(N 288)], trans = 9},
{fin = [(N 288)], trans = 11},
{fin = [(N 288),(N 295)], trans = 12},
{fin = [(N 288)], trans = 13},
{fin = [(N 288)], trans = 14},
{fin = [(N 288)], trans = 15},
{fin = [(N 84),(N 288)], trans = 9},
{fin = [(N 288)], trans = 17},
{fin = [(N 288)], trans = 18},
{fin = [(N 288)], trans = 19},
{fin = [(N 288)], trans = 20},
{fin = [(N 137),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 22},
{fin = [(N 288)], trans = 23},
{fin = [(N 288)], trans = 24},
{fin = [(N 220),(N 288)], trans = 9},
{fin = [(N 288)], trans = 26},
{fin = [(N 288)], trans = 27},
{fin = [(N 288)], trans = 28},
{fin = [(N 147),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 30},
{fin = [(N 288)], trans = 31},
{fin = [(N 288)], trans = 32},
{fin = [(N 288)], trans = 33},
{fin = [(N 288)], trans = 34},
{fin = [(N 288)], trans = 35},
{fin = [(N 215),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 37},
{fin = [(N 140),(N 288)], trans = 9},
{fin = [(N 267),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 40},
{fin = [(N 288)], trans = 41},
{fin = [(N 288)], trans = 42},
{fin = [(N 288)], trans = 43},
{fin = [(N 229),(N 288)], trans = 9},
{fin = [(N 288)], trans = 45},
{fin = [(N 247),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 47},
{fin = [(N 223),(N 288)], trans = 48},
{fin = [(N 288)], trans = 49},
{fin = [(N 288)], trans = 50},
{fin = [(N 288)], trans = 51},
{fin = [(N 236),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 53},
{fin = [(N 288)], trans = 54},
{fin = [(N 288)], trans = 55},
{fin = [(N 288)], trans = 56},
{fin = [(N 288)], trans = 57},
{fin = [(N 243),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 59},
{fin = [(N 288)], trans = 60},
{fin = [(N 288)], trans = 61},
{fin = [(N 288)], trans = 62},
{fin = [(N 288)], trans = 63},
{fin = [(N 288)], trans = 64},
{fin = [(N 155),(N 288)], trans = 9},
{fin = [(N 288),(N 295)], trans = 66},
{fin = [(N 288)], trans = 67},
{fin = [(N 288)], trans = 68},
{fin = [(N 288)], trans = 69},
{fin = [(N 288)], trans = 70},
{fin = [(N 288)], trans = 71},
{fin = [(N 288)], trans = 72},
{fin = [(N 288)], trans = 73},
{fin = [(N 288)], trans = 74},
{fin = [(N 288)], trans = 75},
{fin = [(N 288)], trans = 76},
{fin = [(N 288)], trans = 77},
{fin = [(N 130),(N 288)], trans = 9},
{fin = [(N 288)], trans = 79},
{fin = [(N 288)], trans = 80},
{fin = [(N 288)], trans = 81},
{fin = [(N 288)], trans = 82},
{fin = [(N 254),(N 288)], trans = 9},
{fin = [(N 262),(N 295)], trans = 0},
{fin = [(N 56),(N 295)], trans = 0},
{fin = [(N 54),(N 295)], trans = 0},
{fin = [(N 293),(N 295)], trans = 87},
{fin = [(N 293)], trans = 87},
{fin = [(N 293)], trans = 89},
{fin = [(N 293),(N 295)], trans = 90},
{fin = [(N 293)], trans = 91},
{fin = [(N 293)], trans = 92},
{fin = [(N 293)], trans = 93},
{fin = [(N 90),(N 293)], trans = 87},
{fin = [(N 293)], trans = 95},
{fin = [(N 293)], trans = 96},
{fin = [(N 293)], trans = 97},
{fin = [(N 293)], trans = 98},
{fin = [(N 293)], trans = 99},
{fin = [(N 293)], trans = 100},
{fin = [(N 293)], trans = 101},
{fin = [(N 293)], trans = 102},
{fin = [(N 293)], trans = 103},
{fin = [(N 293)], trans = 104},
{fin = [(N 207),(N 293)], trans = 87},
{fin = [(N 293),(N 295)], trans = 106},
{fin = [(N 293)], trans = 107},
{fin = [(N 293)], trans = 108},
{fin = [(N 160),(N 293)], trans = 87},
{fin = [(N 293),(N 295)], trans = 110},
{fin = [(N 293)], trans = 111},
{fin = [(N 293)], trans = 112},
{fin = [(N 293)], trans = 113},
{fin = [(N 293)], trans = 114},
{fin = [(N 177),(N 293)], trans = 87},
{fin = [(N 293)], trans = 116},
{fin = [(N 293)], trans = 117},
{fin = [(N 293)], trans = 118},
{fin = [(N 293)], trans = 119},
{fin = [(N 293)], trans = 120},
{fin = [(N 293)], trans = 121},
{fin = [(N 68),(N 293)], trans = 87},
{fin = [(N 293)], trans = 123},
{fin = [(N 293)], trans = 124},
{fin = [(N 293)], trans = 125},
{fin = [(N 293)], trans = 126},
{fin = [(N 185),(N 293)], trans = 87},
{fin = [(N 293),(N 295)], trans = 128},
{fin = [(N 293)], trans = 129},
{fin = [(N 293)], trans = 130},
{fin = [(N 293)], trans = 131},
{fin = [(N 293)], trans = 132},
{fin = [(N 293)], trans = 133},
{fin = [(N 293)], trans = 134},
{fin = [(N 293)], trans = 135},
{fin = [(N 78),(N 293)], trans = 87},
{fin = [(N 293),(N 295)], trans = 137},
{fin = [(N 293)], trans = 138},
{fin = [(N 293)], trans = 139},
{fin = [(N 293)], trans = 140},
{fin = [(N 116),(N 293)], trans = 87},
{fin = [(N 293),(N 295)], trans = 142},
{fin = [(N 293)], trans = 143},
{fin = [(N 293)], trans = 144},
{fin = [(N 293)], trans = 145},
{fin = [(N 293)], trans = 146},
{fin = [(N 293)], trans = 147},
{fin = [(N 293)], trans = 148},
{fin = [(N 293)], trans = 149},
{fin = [(N 170),(N 293)], trans = 87},
{fin = [(N 293),(N 295)], trans = 151},
{fin = [(N 293)], trans = 152},
{fin = [(N 293)], trans = 153},
{fin = [(N 293)], trans = 154},
{fin = [(N 293)], trans = 155},
{fin = [(N 293)], trans = 156},
{fin = [(N 293)], trans = 157},
{fin = [(N 194),(N 293)], trans = 87},
{fin = [(N 293)], trans = 159},
{fin = [(N 293)], trans = 160},
{fin = [(N 293)], trans = 161},
{fin = [(N 293)], trans = 162},
{fin = [(N 293)], trans = 163},
{fin = [(N 98),(N 293)], trans = 87},
{fin = [(N 293)], trans = 165},
{fin = [(N 293)], trans = 166},
{fin = [(N 293)], trans = 167},
{fin = [(N 293)], trans = 168},
{fin = [(N 293)], trans = 169},
{fin = [(N 293)], trans = 170},
{fin = [(N 293)], trans = 171},
{fin = [(N 293)], trans = 172},
{fin = [(N 293)], trans = 173},
{fin = [(N 110),(N 293)], trans = 87},
{fin = [(N 258),(N 295)], trans = 0},
{fin = [(N 260),(N 295)], trans = 0},
{fin = [(N 38),(N 295)], trans = 0},
{fin = [(N 36),(N 295)], trans = 0},
{fin = [(N 270),(N 295)], trans = 179},
{fin = [(N 270)], trans = 179},
{fin = [(N 256),(N 295)], trans = 181},
{fin = [], trans = 182},
{fin = [], trans = 183},
{fin = [], trans = 184},
{fin = [], trans = 185},
{fin = [], trans = 186},
{fin = [(N 20)], trans = 0},
{fin = [], trans = 188},
{fin = [(N 20)], trans = 186},
{fin = [], trans = 182},
{fin = [(N 50),(N 295)], trans = 0},
{fin = [(N 295)], trans = 192},
{fin = [(N 41)], trans = 0},
{fin = [(N 52),(N 295)], trans = 0},
{fin = [(N 295)], trans = 195},
{fin = [(N 59)], trans = 0},
{fin = [(N 264),(N 295)], trans = 0},
{fin = [(N 24),(N 295)], trans = 0},
{fin = [(N 22),(N 295)], trans = 0},
{fin = [(N 295)], trans = 200},
{fin = [], trans = 200},
{fin = [], trans = 202},
{fin = [(N 283)], trans = 0},
{fin = [(N 43),(N 295)], trans = 0},
{fin = [(N 295)], trans = 205},
{fin = [], trans = 205},
{fin = [(N 8)], trans = 0},
{fin = [(N 48),(N 295)], trans = 208},
{fin = [(N 46)], trans = 0},
{fin = [(N 4),(N 295)], trans = 210},
{fin = [(N 4)], trans = 210},
{fin = [(N 1)], trans = 0}])
end
structure StartStates =
struct
datatype yystartstate = STARTSTATE of int
(* start state definitions *)
val INITIAL = STARTSTATE 1;
end
type result = UserDeclarations.lexresult
exception LexerError (* raised if illegal leaf action tried *)
end
fun makeLexer yyinput =
let val yygone0=1
val yyb = Unsynchronized.ref "\n" (* buffer *)
val yybl = Unsynchronized.ref 1 (*buffer length *)
val yybufpos = Unsynchronized.ref 1 (* location of next character to use *)
val yygone = Unsynchronized.ref yygone0 (* position in file of beginning of buffer *)
val yydone = Unsynchronized.ref false (* eof found yet? *)
val yybegin = Unsynchronized.ref 1 (*Current 'start state' for lexer *)
val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
yybegin := x
fun lex () : Internal.result =
let fun continue() = lex() in
let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
let fun action (i,nil) = raise LexError
| action (i,nil::l) = action (i-1,l)
| action (i,(node::acts)::l) =
case node of
Internal.N yyk =>
(let fun yymktext() = String.substring(!yyb,i0,i-i0)
val yypos = i0+ !yygone
open UserDeclarations Internal.StartStates
in (yybufpos := i; case yyk of
(* Application actions *)
1 => (pos := ((#1 (!pos)) + 1, yypos - (#3(!pos)),yypos ); lex())
| 110 => let val yytext=yymktext() in Tokens.ABSTRACTION(yytext,inputPos_half yypos,inputPos_half yypos) end
| 116 => let val yytext=yymktext() in Tokens.GOALS(yytext,inputPos_half yypos,inputPos_half yypos) end
| 130 => let val yytext=yymktext() in Tokens.AUTHENTICATES(yytext,inputPos_half yypos,inputPos_half yypos) end
| 137 => let val yytext=yymktext() in Tokens.WEAKLY(yytext,inputPos_half yypos,inputPos_half yypos) end
| 140 => let val yytext=yymktext() in Tokens.ON(yytext,inputPos_half yypos,inputPos_half yypos) end
| 147 => let val yytext=yymktext() in Tokens.TSECRET(yytext,inputPos_half yypos,inputPos_half yypos) end
| 155 => let val yytext=yymktext() in Tokens.TBETWEEN(yytext,inputPos_half yypos,inputPos_half yypos) end
| 160 => let val yytext=yymktext() in Tokens.SETS(yytext,inputPos_half yypos,inputPos_half yypos) end
| 170 => let val yytext=yymktext() in Tokens.FUNCTIONS(yytext,inputPos_half yypos,inputPos_half yypos) end
| 177 => let val yytext=yymktext() in Tokens.PUBLIC(yytext,inputPos_half yypos,inputPos_half yypos) end
| 185 => let val yytext=yymktext() in Tokens.PRIVATE(yytext,inputPos_half yypos,inputPos_half yypos) end
| 194 => let val yytext=yymktext() in Tokens.ANALYSIS(yytext,inputPos_half yypos,inputPos_half yypos) end
| 20 => (lex())
| 207 => let val yytext=yymktext() in Tokens.TRANSACTIONS(yytext,inputPos_half yypos,inputPos_half yypos) end
| 215 => let val yytext=yymktext() in Tokens.RECEIVE(yytext,inputPos_half yypos,inputPos_half yypos) end
| 22 => let val yytext=yymktext() in Tokens.OPENP(yytext,inputPos_half yypos,inputPos_half yypos) end
| 220 => let val yytext=yymktext() in Tokens.SEND(yytext,inputPos_half yypos,inputPos_half yypos) end
| 223 => let val yytext=yymktext() in Tokens.IN(yytext,inputPos_half yypos,inputPos_half yypos) end
| 229 => let val yytext=yymktext() in Tokens.NOTIN(yytext,inputPos_half yypos,inputPos_half yypos) end
| 236 => let val yytext=yymktext() in Tokens.INSERT(yytext,inputPos_half yypos,inputPos_half yypos) end
| 24 => let val yytext=yymktext() in Tokens.CLOSEP(yytext,inputPos_half yypos,inputPos_half yypos) end
| 243 => let val yytext=yymktext() in Tokens.DELETE(yytext,inputPos_half yypos,inputPos_half yypos) end
| 247 => let val yytext=yymktext() in Tokens.NEW(yytext,inputPos_half yypos,inputPos_half yypos) end
| 254 => let val yytext=yymktext() in Tokens.ATTACK(yytext,inputPos_half yypos,inputPos_half yypos) end
| 256 => let val yytext=yymktext() in Tokens.slash(yytext,inputPos_half yypos,inputPos_half yypos) end
| 258 => let val yytext=yymktext() in Tokens.QUESTION(yytext,inputPos_half yypos,inputPos_half yypos) end
| 26 => let val yytext=yymktext() in Tokens.OPENB(yytext,inputPos_half yypos,inputPos_half yypos) end
| 260 => let val yytext=yymktext() in Tokens.equal(yytext,inputPos_half yypos,inputPos_half yypos) end
| 262 => let val yytext=yymktext() in Tokens.UNDERSCORE(yytext,inputPos_half yypos,inputPos_half yypos) end
| 264 => let val yytext=yymktext() in Tokens.STAR(yytext,inputPos_half yypos,inputPos_half yypos) end
| 267 => let val yytext=yymktext() in Tokens.OF(yytext,inputPos_half yypos,inputPos_half yypos) end
| 270 => let val yytext=yymktext() in Tokens.INTEGER_LITERAL(yytext,inputPos_half yypos,inputPos_half yypos) end
| 28 => let val yytext=yymktext() in Tokens.CLOSEB(yytext,inputPos_half yypos,inputPos_half yypos) end
| 283 => let val yytext=yymktext() in Tokens.STRING_LITERAL(yytext,inputPos_half yypos,inputPos_half yypos) end
| 288 => let val yytext=yymktext() in Tokens.LOWER_STRING_LITERAL(yytext,inputPos_half yypos,inputPos_half yypos) end
| 293 => let val yytext=yymktext() in Tokens.UPPER_STRING_LITERAL(yytext,inputPos_half yypos,inputPos_half yypos) end
| 295 => let val yytext=yymktext() in error ("ignoring bad character "^yytext,
((#1 (!pos), yypos - (#3(!pos)), (#3 (!pos)))),
((#1 (!pos), yypos - (#3(!pos)), (#3 (!pos)))));
lex() end
| 31 => let val yytext=yymktext() in Tokens.OPENSCRYPT(yytext,inputPos_half yypos,inputPos_half yypos) end
| 34 => let val yytext=yymktext() in Tokens.CLOSESCRYPT(yytext,inputPos_half yypos,inputPos_half yypos) end
| 36 => let val yytext=yymktext() in Tokens.COLON(yytext,inputPos_half yypos,inputPos_half yypos) end
| 38 => let val yytext=yymktext() in Tokens.SEMICOLON(yytext,inputPos_half yypos,inputPos_half yypos) end
| 4 => (pos := (#1 (!pos), yypos - (#3(!pos)), (#3 (!pos))); lex())
| 41 => let val yytext=yymktext() in Tokens.ARROW(yytext,inputPos_half yypos,inputPos_half yypos) end
| 43 => let val yytext=yymktext() in Tokens.PERCENT(yytext,inputPos_half yypos,inputPos_half yypos) end
| 46 => let val yytext=yymktext() in Tokens.UNEQUAL(yytext,inputPos_half yypos,inputPos_half yypos) end
| 48 => let val yytext=yymktext() in Tokens.EXCLAM (yytext,inputPos_half yypos,inputPos_half yypos) end
| 50 => let val yytext=yymktext() in Tokens.DOT(yytext,inputPos_half yypos,inputPos_half yypos) end
| 52 => let val yytext=yymktext() in Tokens.COMMA(yytext,inputPos_half yypos,inputPos_half yypos) end
| 54 => let val yytext=yymktext() in Tokens.OPENSQB(yytext,inputPos_half yypos,inputPos_half yypos) end
| 56 => let val yytext=yymktext() in Tokens.CLOSESQB(yytext,inputPos_half yypos,inputPos_half yypos) end
| 59 => let val yytext=yymktext() in Tokens.UNION(yytext,inputPos_half yypos,inputPos_half yypos) end
| 68 => let val yytext=yymktext() in Tokens.PROTOCOL(yytext,inputPos_half yypos,inputPos_half yypos) end
| 78 => let val yytext=yymktext() in Tokens.KNOWLEDGE(yytext,inputPos_half yypos,inputPos_half yypos) end
| 8 => (pos := ((#1 (!pos)) + 1, yypos - (#3(!pos)),yypos ); lex())
| 84 => let val yytext=yymktext() in Tokens.WHERE(yytext,inputPos_half yypos,inputPos_half yypos) end
| 90 => let val yytext=yymktext() in Tokens.TYPES(yytext,inputPos_half yypos,inputPos_half yypos) end
| 98 => let val yytext=yymktext() in Tokens.ACTIONS(yytext,inputPos_half yypos,inputPos_half yypos) end
| _ => raise Internal.LexerError
) end )
val {fin,trans} = Vector.sub(Internal.tab, s)
val NewAcceptingLeaves = fin::AcceptingLeaves
in if l = !yybl then
if trans = #trans(Vector.sub(Internal.tab,0))
then action(l,NewAcceptingLeaves
) else let val newchars= if !yydone then "" else yyinput 1024
in if (String.size newchars)=0
then (yydone := true;
if (l=i0) then UserDeclarations.eof ()
else action(l,NewAcceptingLeaves))
else (if i0=l then yyb := newchars
else yyb := String.substring(!yyb,i0,l-i0)^newchars;
yygone := !yygone+i0;
yybl := String.size (!yyb);
scan (s,AcceptingLeaves,l-i0,0))
end
else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
val NewChar = if NewChar<128 then NewChar else 128
val NewState = Char.ord(CharVector.sub(trans,NewChar))
in if NewState=0 then action(l,NewAcceptingLeaves)
else scan(NewState,NewAcceptingLeaves,l+1,i0)
end
end
(*
val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
then !yybegin+1 else !yybegin
*)
in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
end
end
in lex
end
end