/* * Copyright (c) 2003, Adam Dunkels. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. 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. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. * * This file is part of the Contiki VNC server * * */ #define _ 0x00 #define o 0x01 /* 1001 0010 */ #define X 0x02 /* 1111 0110 */ #ifdef __AVR__ #include const unsigned char vncfont[] PROGMEM = { #else const unsigned char vncfont[] = { #endif /* char 0 */ X,o,_,_,_,_, o,X,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 1 */ _,_,_,_,_,_, _,_,_,_,_,_, _,X,X,o,_,_, _,o,o,X,_,_, o,X,X,X,_,_, X,o,o,X,_,_, o,X,X,X,_,_, _,_,_,_,_,_, /* char 2 */ X,_,_,_,_,_, X,o,_,_,_,_, X,X,X,o,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, X,X,X,o,_,_, _,_,_,_,_,_, /* char 3 */ _,_,_,_,_,_, _,_,_,_,_,_, o,X,X,o,_,_, X,o,o,X,_,_, X,_,_,o,_,_, X,o,o,X,_,_, o,X,X,o,_,_, _,_,_,_,_,_, /* char 4 */ _,_,_,X,_,_, _,_,o,X,_,_, o,X,X,X,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, o,X,X,X,_,_, _,_,_,_,_,_, /* char 5 */ _,_,_,_,_,_, _,_,_,_,_,_, o,X,X,o,_,_, X,o,o,X,_,_, X,X,X,X,_,_, X,o,o,_,_,_, o,X,X,_,_,_, _,_,_,_,_,_, /* char 6 */ _,o,X,X,_,_, o,X,o,_,_,_, X,X,X,_,_,_, o,X,o,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,_,_,_,_,_, /* char 7 */ _,_,_,_,_,_, _,_,_,_,_,_, o,X,X,X,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, o,X,X,X,_,_, _,o,o,X,_,_, /* char 8 */ X,_,_,_,_,_, X,o,_,_,_,_, X,X,X,o,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,_,_,X,_,_, X,_,_,X,_,_, _,_,_,_,_,_, /* char 9 */ _,X,_,_,_,_, _,o,_,_,_,_, X,X,_,_,_,_, o,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,_,_,_,_,_, /* char 10 */ _,_,X,_,_,_, _,_,o,_,_,_, _,X,X,_,_,_, _,o,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,o,X,_,_,_, /* char 11 */ X,_,_,_,_,_, X,_,_,_,_,_, X,_,o,X,_,_, X,o,X,o,_,_, X,X,o,_,_,_, X,o,X,o,_,_, X,_,o,X,_,_, _,_,_,_,_,_, /* char 12 */ _,X,X,_,_,_, _,o,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 13 */ _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,o,X,o, X,o,o,X,o,X, X,_,_,X,_,X, X,_,_,X,_,X, X,_,_,X,_,X, _,_,_,_,_,_, /* char 14 */ _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,o,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,_,_,X,_,_, X,_,_,X,_,_, _,_,_,_,_,_, /* char 15 */ _,_,_,_,_,_, _,_,_,_,_,_, o,X,X,o,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, o,X,X,o,_,_, _,_,_,_,_,_, /* char 16 */ _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,o,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, X,X,X,o,_,_, X,o,_,_,_,_, /* char 17 */ _,_,_,_,_,_, _,_,_,_,_,_, o,X,X,X,_,_, X,o,o,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, o,X,X,X,_,_, _,_,o,X,_,_, /* char 18 */ _,_,_,_,_,_, _,_,_,_,_,_, X,o,X,X,_,_, X,X,o,_,_,_, X,o,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, /* char 19 */ _,_,_,_,_,_, _,_,_,_,_,_, o,X,X,X,_,_, X,o,o,_,_,_, o,X,X,o,_,_, _,o,o,X,_,_, X,X,X,o,_,_, _,_,_,_,_,_, /* char 20 */ _,_,X,_,_,_, _,o,X,o,_,_, _,X,X,X,_,_, _,o,X,o,_,_, _,_,X,_,_,_, _,_,X,o,_,_, _,_,o,X,_,_, _,_,_,_,_,_, /* char 21 */ _,_,_,_,_,_, _,_,_,_,_,_, X,_,_,X,_,_, X,_,_,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, o,X,X,X,_,_, _,_,_,_,_,_, /* char 22 */ _,_,_,_,_,_, _,_,_,_,_,_, X,o,_,o,X,_, o,X,o,X,o,_, _,X,o,X,_,_, _,o,X,o,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 23 */ _,_,_,_,_,_, _,_,_,_,_,_, X,o,_,_,o,X, o,X,o,X,o,X, o,X,o,X,o,X, _,o,X,o,X,o, _,_,X,o,X,_, _,_,_,_,_,_, /* char 24 */ _,_,_,_,_,_, _,_,_,_,_,_, X,o,_,o,X,_, o,X,o,X,o,_, _,o,X,o,_,_, o,X,o,X,o,_, X,o,_,o,X,_, _,_,_,_,_,_, /* char 25 */ _,_,_,_,_,_, _,_,_,_,_,_, X,_,_,X,_,_, X,_,_,X,_,_, X,_,_,X,_,_, X,o,o,X,_,_, o,X,X,X,_,_, _,o,o,X,_,_, /* char 26 */ _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,X,_,_, _,o,X,o,_,_, o,X,o,_,_,_, X,o,_,_,_,_, X,X,X,X,_,_, _,_,_,_,_,_, /* char 27 */ _,X,o,_,_,_, _,X,_,_,_,_, o,X,_,_,_,_, X,o,_,_,_,_, o,X,_,_,_,_, _,X,_,_,_,_, _,X,o,_,_,_, _,o,X,_,_,_, /* char 28 */ X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, /* char 29 */ o,X,_,_,_,_, _,X,_,_,_,_, _,X,o,_,_,_, _,o,X,_,_,_, _,X,o,_,_,_, _,X,_,_,_,_, o,X,_,_,_,_, X,o,_,_,_,_, /* char 30 */ o,X,X,o,X,_, X,o,X,X,o,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 31 */ _,X,X,_,_,_, _,X,X,_,_,_, _,X,X,_,_,_, _,X,X,_,_,_, _,X,X,_,_,_, _,X,X,_,_,_, _,X,X,_,_,_, _,X,X,_,_,_, /* char 32 */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 33 */ _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,o,_,_,_,_, _,X,_,_,_,_, _,_,_,_,_,_, /* char 34 */ X,o,X,_,_,_, X,o,X,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 35 */ X,X,X,X,X,_, o,X,o,X,o,_, X,X,X,X,X,_, o,X,o,X,o,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 36 */ o,X,X,X,o,_, X,o,X,o,X,_, X,o,X,o,_,_, o,X,X,X,o,_, _,o,X,o,X,_, X,o,X,o,X,_, o,X,X,X,o,_, _,o,X,o,_,_, /* char 37 */ o,X,X,X,X,X, X,o,o,X,o,o, X,o,o,X,o,X, o,X,X,o,X,X, _,_,o,X,X,o, _,o,X,o,X,o, o,X,o,_,o,X, _,_,_,_,_,_, /* char 38 */ _,X,o,o,X,_, _,X,o,X,o,_, _,o,X,o,_,_, o,X,o,X,o,X, X,o,_,o,X,o, X,o,o,X,o,X, o,X,X,o,_,_, _,_,_,_,_,_, /* char 39 */ X,_,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 40 */ o,X,o,_,_,_, X,o,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,o,_,_,_,_, o,X,o,_,_,_, _,o,X,_,_,_, /* char 41 */ o,X,o,_,_,_, _,o,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,o,X,_,_,_, o,X,o,_,_,_, X,o,_,_,_,_, /* char 42 */ _,X,o,X,_,_, _,o,X,o,_,_, X,X,X,X,X,_, _,o,X,o,_,_, _,X,o,X,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 43 */ _,_,X,_,_,_, _,o,X,o,_,_, X,X,X,X,X,_, _,o,X,o,_,_, _,_,X,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 44 */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,X,_,_,_,_, o,X,_,_,_,_, /* char 45 */ _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,X,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 46 */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 47 */ _,_,o,X,_,_, _,_,X,o,_,_, _,o,X,_,_,_, _,X,o,_,_,_, o,X,_,_,_,_, X,o,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, /* char 48 */ o,X,X,X,o,_, X,o,_,o,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 49 */ _,o,X,_,_,_, _,X,X,_,_,_, _,o,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 50 */ o,X,X,X,o,_, X,o,_,o,X,_, _,_,_,o,X,_, _,_,o,X,o,_, _,o,X,o,_,_, o,X,o,_,_,_, X,X,X,X,X,_, _,_,_,_,_,_, /* char 51 */ X,X,X,X,X,_, _,_,o,X,o,_, _,o,X,o,_,_, _,X,X,X,o,_, _,_,_,o,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 52 */ _,_,o,X,_,_, _,o,X,X,_,_, o,X,o,X,_,_, X,o,o,X,o,_, X,X,X,X,X,_, _,_,o,X,o,_, _,_,_,X,_,_, _,_,_,_,_,_, /* char 53 */ X,X,X,X,X,_, X,o,o,o,_,_, X,X,X,X,o,_, _,_,_,o,X,_, _,_,_,_,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 54 */ _,o,X,X,_,_, o,X,o,_,_,_, X,o,_,_,_,_, X,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 55 */ X,X,X,X,X,_, _,_,_,o,X,_, _,_,_,X,o,_, _,_,o,X,_,_, _,_,X,o,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 56 */ o,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, o,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 57 */ o,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, o,X,X,X,X,_, _,_,_,o,X,_, _,_,o,X,o,_, _,X,X,o,_,_, _,_,_,_,_,_, /* char 58 */ _,_,_,_,_,_, _,_,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, /* char 59 */ _,_,_,_,_,_, _,_,_,_,_,_, _,X,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,X,_,_,_,_, o,X,_,_,_,_, /* char 60 */ _,_,_,_,_,_, _,o,X,_,_,_, o,X,o,_,_,_, X,o,_,_,_,_, o,X,o,_,_,_, _,o,X,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 61 */ _,_,_,_,_,_, X,X,X,X,X,_, o,o,o,o,o,_, X,X,X,X,X,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 62 */ _,_,_,_,_,_, X,o,_,_,_,_, o,X,o,_,_,_, _,o,X,_,_,_, o,X,o,_,_,_, X,o,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 63 */ o,X,X,o,_,_, X,o,o,X,_,_, _,_,o,X,_,_, _,o,X,o,_,_, _,X,o,_,_,_, _,o,_,_,_,_, _,X,_,_,_,_, _,_,_,_,_,_, /* char 64 */ _,o,X,X,X,o, o,X,o,o,o,X, X,o,o,X,X,o, X,o,X,o,X,_, X,o,X,o,X,o, X,o,o,X,X,X, o,X,o,o,o,_, _,o,X,X,X,_, /* char 65 */ _,_,X,_,_,_, _,o,X,o,_,_, _,X,o,X,_,_, o,X,o,X,o,_, X,X,X,X,X,_, X,o,_,o,X,_, X,_,_,_,X,_, _,_,_,_,_,_, /* char 66 */ X,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, X,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, X,X,X,X,o,_, _,_,_,_,_,_, /* char 67 */ o,X,X,X,o,_, X,o,_,o,X,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 68 */ X,X,X,o,_,_, X,o,o,X,o,_, X,_,_,o,X,_, X,_,_,_,X,_, X,_,_,o,X,_, X,o,o,X,o,_, X,X,X,o,_,_, _,_,_,_,_,_, /* char 69 */ X,X,X,X,_,_, X,o,_,_,_,_, X,o,_,_,_,_, X,X,X,_,_,_, X,o,_,_,_,_, X,o,_,_,_,_, X,X,X,X,_,_, _,_,_,_,_,_, /* char 70 */ X,X,X,X,_,_, X,o,_,_,_,_, X,o,_,_,_,_, X,X,X,_,_,_, X,o,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, /* char 71 */ o,X,X,X,o,_, X,o,_,o,X,_, X,_,_,_,o,_, X,_,_,X,X,_, X,_,_,o,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 72 */ X,_,_,_,X,_, X,_,_,_,X,_, X,o,_,o,X,_, X,X,X,X,X,_, X,o,_,o,X,_, X,_,_,_,X,_, X,_,_,_,X,_, _,_,_,_,_,_, /* char 73 */ _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 74 */ _,_,_,_,X,_, _,_,_,_,X,_, _,_,_,_,X,_, _,_,_,_,X,_, X,_,_,_,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 75 */ X,_,_,o,X,_, X,_,o,X,o,_, X,o,X,o,_,_, X,X,o,_,_,_, X,o,X,o,_,_, X,_,o,X,o,_, X,_,_,o,X,_, _,_,_,_,_,_, /* char 76 */ X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,o,_,_,_,_, X,X,X,X,_,_, _,_,_,_,_,_, /* char 77 */ X,o,_,_,o,X, X,X,o,_,o,X, X,o,X,o,X,X, X,_,o,X,o,X, X,_,_,_,_,X, X,_,_,_,_,X, X,_,_,_,_,X, _,_,_,_,_,_, /* char 78 */ X,X,_,_,X,_, X,X,o,_,X,_, X,o,X,o,X,_, X,o,X,o,X,_, X,_,o,X,X,_, X,_,_,X,X,_, X,_,_,o,X,_, _,_,_,_,_,_, /* char 79 */ o,X,X,X,o,_, X,o,_,o,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 80 */ X,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, X,X,X,X,o,_, X,o,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, _,_,_,_,_,_, /* char 81 */ o,X,X,X,o,_, X,o,_,o,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,o,X,o,X,_, o,X,X,X,o,_, _,_,o,X,_,_, /* char 82 */ X,X,X,X,o,_, X,o,_,o,X,_, X,o,_,o,X,_, X,X,X,X,o,_, X,o,X,o,_,_, X,_,o,X,o,_, X,_,_,o,X,_, _,_,_,_,_,_, /* char 83 */ o,X,X,X,o,_, X,o,_,o,X,_, X,o,_,_,_,_, o,X,X,X,o,_, _,_,_,o,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 84 */ X,X,X,X,X,_, _,o,X,o,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 85 */ X,_,_,_,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,_,_,_,X,_, X,o,_,o,X,_, o,X,X,X,o,_, _,_,_,_,_,_, /* char 86 */ X,_,_,_,X,_, X,_,_,_,X,_, X,o,_,o,X,_, o,X,o,X,o,_, _,X,o,X,_,_, _,o,X,o,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 87 */ X,_,_,_,_,X, X,o,_,_,_,X, o,X,o,X,o,X, o,X,o,X,o,X, _,o,X,o,X,o, _,_,X,o,X,_, _,_,X,o,X,_, _,_,_,_,_,_, /* char 88 */ X,_,_,_,X,_, X,o,_,o,X,_, o,X,o,X,o,_, _,o,X,o,_,_, o,X,o,X,o,_, X,o,_,o,X,_, X,_,_,_,X,_, _,_,_,_,_,_, /* char 89 */ X,_,_,_,X,_, X,o,_,o,X,_, o,X,o,X,o,_, _,o,X,o,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,_,_,_,_, /* char 90 */ X,X,X,X,_,_, _,_,o,X,_,_, _,o,X,o,_,_, o,X,o,_,_,_, X,o,_,_,_,_, X,o,_,_,_,_, X,X,X,X,_,_, _,_,_,_,_,_, /* char 91 */ X,o,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,o,_,_,_,_, X,X,_,_,_,_, /* char 92 */ X,o,_,_,_,_, o,X,_,_,_,_, _,X,o,_,_,_, _,o,X,_,_,_, _,_,X,o,_,_, _,_,o,X,_,_, _,_,_,X,_,_, _,_,_,_,_,_, /* char 93 */ o,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, _,X,_,_,_,_, o,X,_,_,_,_, X,X,_,_,_,_, /* char 94 */ o,X,o,_,_,_, X,o,X,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* char 95 */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,X,X,X, _,_,_,_,_,_, /* Char 0x60 '`' */ X,3,3,3,3,3, X,4,4,4,4,4, X,3,3,3,3,3, X,4,4,4,4,4, X,3,3,3,3,3, X,4,4,4,4,4, X,3,3,3,3,3, X,5,5,5,5,5, /* Char 0x61 'a' */ 3,3,3,3,3,3, 4,4,4,4,4,4, 3,3,3,3,3,3, 4,4,4,4,4,4, 3,3,3,3,3,3, 4,4,4,4,4,4, 3,3,3,3,3,3, 5,5,5,5,5,5, /* Char 0x62 'b' */ 3,3,3,3,3,X, 4,4,4,4,4,X, 3,3,3,3,3,X, 4,4,4,4,4,X, 3,3,3,3,3,X, 4,4,4,4,4,X, 3,3,3,3,3,X, 5,5,5,5,5,X, /* Char 0x63 'c' */ _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, /* Char 0x64 'd' */ _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, _,_,_,_,5,X, 5,5,5,5,5,X, X,X,X,X,X,X, /* Char 0x65 'e' */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, 5,5,5,5,5,5, X,X,X,X,X,X, /* Char 0x66 'f' */ X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,5,5,5,5,5, X,X,X,X,X,X, /* Char 0x67 'g' */ X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, /* Char 0x68 'h' */ _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, _,_,X,_,_,_, /* Char 0x69 'i' */ X,X,X,X,X,X, _,_,_,_,_,_, X,X,X,X,X,X, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x6a 'j' */ X,X,X,X,X,X, _,_,_,_,_,X, X,X,X,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, /* Char 0x6b 'k' */ _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, /* Char 0x6c 'l' */ _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, _,_,_,X,_,X, X,X,X,X,_,X, _,_,_,_,_,X, X,X,X,X,X,X, /* Char 0x6d 'm' */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,X,X,X, _,_,_,_,_,_, X,X,X,X,X,X, /* Char 0x6e 'n' */ X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,X,X,X, X,_,_,_,_,_, X,X,X,X,X,X, /* Char 0x6f 'o' */ X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, /* Char 0x70 'p' */ 5,5,5,5,5,5, 5,6,6,6,6,_, 5,6,_,_,_,_, 5,6,_,_,_,_, 5,6,_,_,_,_, 5,6,_,_,_,_, 5,6,_,_,_,_, 5,_,_,_,_,_, /* Char 0x71 'q' */ _,_,_,_,_,4, _,_,_,_,3,4, _,_,_,_,3,4, _,_,_,_,3,4, _,_,_,_,3,4, _,_,_,_,3,4, _,3,3,3,3,4, 4,4,4,4,4,4, /* Char 0x72 'r' */ X,X,X,X,X,X, X,_,_,_,_,_, X,_,X,X,X,X, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, X,_,X,_,_,_, /* Char 0x73 's' */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,X,X,X, X,X,X,X,X,X, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x74 't' */ X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, X,_,_,_,_,_, /* Char 0x75 'u' */ X,X,_,_,_,_, X,X,_,_,_,_, X,X,_,_,_,_, X,X,_,_,_,_, X,X,_,_,_,_, X,X,_,_,_,_, X,X,_,_,_,_, X,X,_,_,_,_, /* Char 0x76 'v' */ _,_,_,_,X,X, _,_,_,_,X,X, _,_,_,_,X,X, _,_,_,_,X,X, _,_,_,_,X,X, _,_,_,_,X,X, _,_,_,_,X,X, _,_,_,_,X,X, /* Char 0x77 'w' */ X,X,X,X,X,X, X,X,X,X,X,X, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x78 'x' */ X,X,X,X,X,X, X,X,X,X,X,X, X,X,X,X,X,X, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x79 'y' */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,X,X,X, X,X,X,X,X,X, X,X,X,X,X,X, /* Char 0x7a 'z' */ _,_,_,_,_,_, _,_,_,_,o,X, _,_,_,o,X,X, X,X,o,X,X,o, X,X,X,X,o,_, X,X,X,o,_,_, X,X,o,_,_,_, _,_,_,_,_,_, /* Char 0x7b '{' */ _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, /* Char 0x7c '|' */ _,_,_,X,X,X, _,_,_,X,X,X, _,_,_,X,X,X, _,_,_,X,X,X, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x7d '}' */ _,_,X,X,_,_, _,_,X,X,_,_, _,o,X,X,_,_, X,X,X,X,_,_, X,X,X,X,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x7e '~' */ X,X,X,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, _,_,_,_,_,_, /* Char 0x7f '?' */ X,X,X,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, X,X,X,_,_,_, _,_,_,X,X,X, _,_,_,X,X,X, _,_,_,X,X,X, _,_,_,X,X,X, };