(***** 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