cssvalues.c   [plain text]


/* ANSI-C code produced by gperf version 2.7.2 */
/* Command-line: gperf -L ANSI-C -E -C -n -o -t -k '*' -NfindValue -Hhash_val -Wwordlist_value -D cssvalues.gperf  */
/* This file is automatically generated from cssvalues.in by makevalues, do not edit */
/* Copyright 1999 W. Bastian */
#include "cssvalues.h"
struct css_value {
    const char *name;
    int id;
};
/* maximum key range = 1719, duplicates = 1 */

#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static unsigned int
hash_val (register const char *str, register unsigned int len)
{
  static const unsigned short asso_values[] =
    {
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719,   20, 1719, 1719,    0,   20,
        25,   30,   35,   40,   45,   50,   10,    0, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719,    0,  200,   95,
        35,  170,  230,    4,  105,    0,    5,  198,    0,    4,
        50,  205,   24,   30,    5,   10,    0,  255,    8,  142,
        24,   29,  184, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
      1719, 1719, 1719, 1719, 1719, 1719
    };
  register int hval = 0;

  switch (len)
    {
      default:
      case 22:
        hval += asso_values[(unsigned char)str[21]];
      case 21:
        hval += asso_values[(unsigned char)str[20]];
      case 20:
        hval += asso_values[(unsigned char)str[19]];
      case 19:
        hval += asso_values[(unsigned char)str[18]];
      case 18:
        hval += asso_values[(unsigned char)str[17]];
      case 17:
        hval += asso_values[(unsigned char)str[16]];
      case 16:
        hval += asso_values[(unsigned char)str[15]];
      case 15:
        hval += asso_values[(unsigned char)str[14]];
      case 14:
        hval += asso_values[(unsigned char)str[13]];
      case 13:
        hval += asso_values[(unsigned char)str[12]];
      case 12:
        hval += asso_values[(unsigned char)str[11]];
      case 11:
        hval += asso_values[(unsigned char)str[10]];
      case 10:
        hval += asso_values[(unsigned char)str[9]];
      case 9:
        hval += asso_values[(unsigned char)str[8]];
      case 8:
        hval += asso_values[(unsigned char)str[7]];
      case 7:
        hval += asso_values[(unsigned char)str[6]];
      case 6:
        hval += asso_values[(unsigned char)str[5]];
      case 5:
        hval += asso_values[(unsigned char)str[4]];
      case 4:
        hval += asso_values[(unsigned char)str[3]];
      case 3:
        hval += asso_values[(unsigned char)str[2]];
      case 2:
        hval += asso_values[(unsigned char)str[1]];
      case 1:
        hval += asso_values[(unsigned char)str[0]];
        break;
    }
  return hval;
}

#ifdef __GNUC__
__inline
#endif
const struct css_value *
findValue (register const char *str, register unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 242,
      MIN_WORD_LENGTH = 3,
      MAX_WORD_LENGTH = 22,
      MIN_HASH_VALUE = 0,
      MAX_HASH_VALUE = 1718
    };

  static const struct css_value wordlist_value[] =
    {
      {"900", CSS_VAL_900},
      {"ltr", CSS_VAL_LTR},
      {"rtl", CSS_VAL_RTL},
      {"800", CSS_VAL_800},
      {"small", CSS_VAL_SMALL},
      {"start", CSS_VAL_START},
      {"100", CSS_VAL_100},
      {"200", CSS_VAL_200},
      {"mix", CSS_VAL_MIX},
      {"300", CSS_VAL_300},
      {"400", CSS_VAL_400},
      {"gray", CSS_VAL_GRAY},
      {"500", CSS_VAL_500},
      {"600", CSS_VAL_600},
      {"700", CSS_VAL_700},
      {"x-small", CSS_VAL_X_SMALL},
      {"xx-small", CSS_VAL_XX_SMALL},
      {"navy", CSS_VAL_NAVY},
      {"italic", CSS_VAL_ITALIC},
      {"static", CSS_VAL_STATIC},
      {"right", CSS_VAL_RIGHT},
      {"disc", CSS_VAL_DISC},
      {"wait", CSS_VAL_WAIT},
      {"thin", CSS_VAL_THIN},
      {"small-caps", CSS_VAL_SMALL_CAPS},
      {"hiragana", CSS_VAL_HIRAGANA},
      {"teal", CSS_VAL_TEAL},
      {"lime", CSS_VAL_LIME},
      {"large", CSS_VAL_LARGE},
      {"always", CSS_VAL_ALWAYS},
      {"larger", CSS_VAL_LARGER},
      {"smaller", CSS_VAL_SMALLER},
      {"hand", CSS_VAL_HAND},
      {"silver", CSS_VAL_SILVER},
      {"text", CSS_VAL_TEXT},
      {"pre", CSS_VAL_PRE},
      {"list-item", CSS_VAL_LIST_ITEM},
      {"grey", CSS_VAL_GREY},
      {"red", CSS_VAL_RED},
      {"ridge", CSS_VAL_RIDGE},
      {"x-large", CSS_VAL_X_LARGE},
      {"top", CSS_VAL_TOP},
      {"inset", CSS_VAL_INSET},
      {"graytext", CSS_VAL_GRAYTEXT},
      {"invert", CSS_VAL_INVERT},
      {"single", CSS_VAL_SINGLE},
      {"portrait", CSS_VAL_PORTRAIT},
      {"middle", CSS_VAL_MIDDLE},
      {"xx-large", CSS_VAL_XX_LARGE},
      {"avoid", CSS_VAL_AVOID},
      {"solid", CSS_VAL_SOLID},
      {"end", CSS_VAL_END},
      {"normal", CSS_VAL_NORMAL},
      {"inside", CSS_VAL_INSIDE},
      {"inline", CSS_VAL_INLINE},
      {"vertical", CSS_VAL_VERTICAL},
      {"armenian", CSS_VAL_ARMENIAN},
      {"lighter", CSS_VAL_LIGHTER},
      {"aqua", CSS_VAL_AQUA},
      {"help", CSS_VAL_HELP},
      {"decimal", CSS_VAL_DECIMAL},
      {"hide", CSS_VAL_HIDE},
      {"transparent", CSS_VAL_TRANSPARENT},
      {"scroll", CSS_VAL_SCROLL},
      {"fantasy", CSS_VAL_FANTASY},
      {"highlight", CSS_VAL_HIGHLIGHT},
      {"inline-axis", CSS_VAL_INLINE_AXIS},
      {"cross", CSS_VAL_CROSS},
      {"crop", CSS_VAL_CROP},
      {"inherit", CSS_VAL_INHERIT},
      {"level", CSS_VAL_LEVEL},
      {"icon", CSS_VAL_ICON},
      {"wider", CSS_VAL_WIDER},
      {"relative", CSS_VAL_RELATIVE},
      {"dashed", CSS_VAL_DASHED},
      {"circle", CSS_VAL_CIRCLE},
      {"repeat", CSS_VAL_REPEAT},
      {"table", CSS_VAL_TABLE},
      {"caption", CSS_VAL_CAPTION},
      {"separate", CSS_VAL_SEPARATE},
      {"run-in", CSS_VAL_RUN_IN},
      {"olive", CSS_VAL_OLIVE},
      {"landscape", CSS_VAL_LANDSCAPE},
      {"stretch", CSS_VAL_STRETCH},
      {"move", CSS_VAL_MOVE},
      {"visible", CSS_VAL_VISIBLE},
      {"higher", CSS_VAL_HIGHER},
      {"hidden", CSS_VAL_HIDDEN},
      {"thick", CSS_VAL_THICK},
      {"green", CSS_VAL_GREEN},
      {"left", CSS_VAL_LEFT},
      {"small-caption", CSS_VAL_SMALL_CAPTION},
      {"repeat-x", CSS_VAL_REPEAT_X},
      {"serif", CSS_VAL_SERIF},
      {"white", CSS_VAL_WHITE},
      {"repeat-y", CSS_VAL_REPEAT_Y},
      {"compact", CSS_VAL_COMPACT},
      {"nowrap", CSS_VAL_NOWRAP},
      {"progress", CSS_VAL_PROGRESS},
      {"orange", CSS_VAL_ORANGE},
      {"crosshair", CSS_VAL_CROSSHAIR},
      {"georgian", CSS_VAL_GEORGIAN},
      {"bold", CSS_VAL_BOLD},
      {"text-top", CSS_VAL_TEXT_TOP},
      {"dotted", CSS_VAL_DOTTED},
      {"katakana", CSS_VAL_KATAKANA},
      {"blink", CSS_VAL_BLINK},
      {"multiple", CSS_VAL_MULTIPLE},
      {"pointer", CSS_VAL_POINTER},
      {"fixed", CSS_VAL_FIXED},
      {"auto", CSS_VAL_AUTO},
      {"-khtml-right", CSS_VAL__KHTML_RIGHT},
      {"show", CSS_VAL_SHOW},
      {"super", CSS_VAL_SUPER},
      {"sub", CSS_VAL_SUB},
      {"medium", CSS_VAL_MEDIUM},
      {"maroon", CSS_VAL_MAROON},
      {"square", CSS_VAL_SQUARE},
      {"capitalize", CSS_VAL_CAPITALIZE},
      {"none", CSS_VAL_NONE},
      {"purple", CSS_VAL_PURPLE},
      {"menu", CSS_VAL_MENU},
      {"center", CSS_VAL_CENTER},
      {"black", CSS_VAL_BLACK},
      {"loud", CSS_VAL_LOUD},
      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
      {"status-bar", CSS_VAL_STATUS_BAR},
      {"collapse", CSS_VAL_COLLAPSE},
      {"sans-serif", CSS_VAL_SANS_SERIF},
      {"expanded", CSS_VAL_EXPANDED},
      {"both", CSS_VAL_BOTH},
      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
      {"scrollbar", CSS_VAL_SCROLLBAR},
      {"lower", CSS_VAL_LOWER},
      {"justify", CSS_VAL_JUSTIFY},
      {"reverse", CSS_VAL_REVERSE},
      {"-khtml-text", CSS_VAL__KHTML_TEXT},
      {"cursive", CSS_VAL_CURSIVE},
      {"yellow", CSS_VAL_YELLOW},
      {"upper-latin", CSS_VAL_UPPER_LATIN},
      {"captiontext", CSS_VAL_CAPTIONTEXT},
      {"s-resize", CSS_VAL_S_RESIZE},
      {"window", CSS_VAL_WINDOW},
      {"embed", CSS_VAL_EMBED},
      {"narrower", CSS_VAL_NARROWER},
      {"above", CSS_VAL_ABOVE},
      {"lower-latin", CSS_VAL_LOWER_LATIN},
      {"groove", CSS_VAL_GROOVE},
      {"baseline", CSS_VAL_BASELINE},
      {"overline", CSS_VAL_OVERLINE},
      {"n-resize", CSS_VAL_N_RESIZE},
      {"-khtml-normal", CSS_VAL__KHTML_NORMAL},
      {"bottom", CSS_VAL_BOTTOM},
      {"bolder", CSS_VAL_BOLDER},
      {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
      {"blue", CSS_VAL_BLUE},
      {"upper-alpha", CSS_VAL_UPPER_ALPHA},
      {"outset", CSS_VAL_OUTSET},
      {"no-repeat", CSS_VAL_NO_REPEAT},
      {"activecaption", CSS_VAL_ACTIVECAPTION},
      {"table-cell", CSS_VAL_TABLE_CELL},
      {"inline-table", CSS_VAL_INLINE_TABLE},
      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
      {"menutext", CSS_VAL_MENUTEXT},
      {"outside", CSS_VAL_OUTSIDE},
      {"infotext", CSS_VAL_INFOTEXT},
      {"default", CSS_VAL_DEFAULT},
      {"fuchsia", CSS_VAL_FUCHSIA},
      {"inactivecaption", CSS_VAL_INACTIVECAPTION},
      {"block", CSS_VAL_BLOCK},
      {"w-resize", CSS_VAL_W_RESIZE},
      {"sw-resize", CSS_VAL_SW_RESIZE},
      {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
      {"below", CSS_VAL_BELOW},
      {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
      {"e-resize", CSS_VAL_E_RESIZE},
      {"underline", CSS_VAL_UNDERLINE},
      {"se-resize", CSS_VAL_SE_RESIZE},
      {"table-row", CSS_VAL_TABLE_ROW},
      {"-khtml-left", CSS_VAL__KHTML_LEFT},
      {"nw-resize", CSS_VAL_NW_RESIZE},
      {"block-axis", CSS_VAL_BLOCK_AXIS},
      {"uppercase", CSS_VAL_UPPERCASE},
      {"horizontal", CSS_VAL_HORIZONTAL},
      {"upper-roman", CSS_VAL_UPPER_ROMAN},
      {"monospace", CSS_VAL_MONOSPACE},
      {"table-caption", CSS_VAL_TABLE_CAPTION},
      {"windowtext", CSS_VAL_WINDOWTEXT},
      {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
      {"-khtml-box", CSS_VAL__KHTML_BOX},
      {"ne-resize", CSS_VAL_NE_RESIZE},
      {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
      {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
      {"hebrew", CSS_VAL_HEBREW},
      {"lowercase", CSS_VAL_LOWERCASE},
      {"lower-roman", CSS_VAL_LOWER_ROMAN},
      {"-khtml-auto", CSS_VAL__KHTML_AUTO},
      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
      {"-khtml-body", CSS_VAL__KHTML_BODY},
      {"message-box", CSS_VAL_MESSAGE_BOX},
      {"condensed", CSS_VAL_CONDENSED},
      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
      {"-khtml-center", CSS_VAL__KHTML_CENTER},
      {"absolute", CSS_VAL_ABSOLUTE},
      {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
      {"oblique", CSS_VAL_OBLIQUE},
      {"double", CSS_VAL_DOUBLE},
      {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
      {"activeborder", CSS_VAL_ACTIVEBORDER},
      {"appworkspace", CSS_VAL_APPWORKSPACE},
      {"buttontext", CSS_VAL_BUTTONTEXT},
      {"line-through", CSS_VAL_LINE_THROUGH},
      {"inactiveborder", CSS_VAL_INACTIVEBORDER},
      {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
      {"threedface", CSS_VAL_THREEDFACE},
      {"threedshadow", CSS_VAL_THREEDSHADOW},
      {"windowframe", CSS_VAL_WINDOWFRAME},
      {"inline-block", CSS_VAL_INLINE_BLOCK},
      {"table-column", CSS_VAL_TABLE_COLUMN},
      {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
      {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
      {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
      {"background", CSS_VAL_BACKGROUND},
      {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
      {"lower-greek", CSS_VAL_LOWER_GREEK},
      {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
      {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
      {"open-quote", CSS_VAL_OPEN_QUOTE},
      {"close-quote", CSS_VAL_CLOSE_QUOTE},
      {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
      {"buttonface", CSS_VAL_BUTTONFACE},
      {"buttonshadow", CSS_VAL_BUTTONSHADOW},
      {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
      {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW},
      {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
      {"-khtml-around-floats", CSS_VAL__KHTML_AROUND_FLOATS},
      {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
      {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
      {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
      {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
      {"infobackground", CSS_VAL_INFOBACKGROUND},
      {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP}
    };

  static const short lookup[] =
    {
         0,   -1,   -1,   -1,   -1, -249, -241,   -2,
        -1,   -1,    3,   -1,   -1,   -1,    4,    5,
        -1,   -1,   -1,   -1,    6,   -1,   -1,   -1,
        -1,    7,   -1,   -1,    8,   -1,    9,   -1,
        -1,   -1,   -1,   10,   -1,   -1,   11,   -1,
        12,   -1,   -1,   -1,   -1,   13,   -1,   -1,
        -1,   -1,   14,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   15,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   16,   -1,   -1,   -1,   -1,   17,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   18,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   19,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   20,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   21,   -1,   22,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   23,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   24,   25,   -1,   -1,   -1,
        -1,   -1,   26,   -1,   -1,   -1,   27,   -1,
        -1,   -1,   -1,   28,   -1,   29,   -1,   -1,
        30,   -1,   -1,   -1,   -1,   31,   32,   -1,
        -1,   33,   34,   -1,   -1,   -1,   -1,   35,
        -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,
        37,   -1,   38,   -1,   -1,   -1,   39,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
        -1,   -1,   -1,   -1,   -1,   41,   42,   -1,
        43,   44,   45,   -1,   -1,   -1,   -1,   46,
        -1,   -1,   -1,   -1,   47,   -1,   -1,   48,
        49,   -1,   50,   -1,   -1,   -1,   -1,   51,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        52,   53,   -1,   -1,   -1,   -1,   54,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   55,   56,
        -1,   -1,   -1,   -1,   57,   58,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,
        60,   -1,   -1,   -1,   -1,   -1,   61,   -1,
        -1,   -1,   62,   63,   -1,   -1,   -1,   64,
        -1,   -1,   -1,   65,   66,   67,   -1,   -1,
        -1,   68,   69,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   70,   -1,   71,   -1,
        72,   73,   -1,   74,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   75,   -1,   -1,
        -1,   76,   77,   -1,   -1,   -1,   78,   -1,
        -1,   -1,   -1,   79,   80,   -1,   -1,   81,
        82,   83,   -1,   84,   85,   86,   -1,   -1,
        -1,   -1,   -1,   87,   -1,   -1,   88,   89,
        90,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        91,   -1,   -1,   -1,   -1,   92,   -1,   93,
        -1,   94,   95,   -1,   -1,   -1,   -1,   96,
        -1,   -1,   97,   -1,   -1,   -1,   -1,   -1,
        -1,   98,   99,  100,   -1,   -1,  101,   -1,
       102,   -1,   -1,  103,   -1,  104,  105,   -1,
       106,   -1,   -1,   -1,   -1,  107,  108,   -1,
        -1,   -1,   -1,  109,  110,  111,  112,   -1,
       113,  114,   -1,   -1,  115,  116,  117,   -1,
        -1,  118,   -1,  119,   -1,   -1,  120,  121,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  122,   -1,   -1,  123,   -1,  124,
        -1,   -1,   -1,  125,  126,   -1,   -1,   -1,
       127,  128,   -1,   -1,  129,   -1,  130,   -1,
        -1,   -1,   -1,   -1,   -1,  131,   -1,   -1,
       132,   -1,  133,   -1,   -1,   -1,   -1,   -1,
        -1,  134,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  135,   -1,   -1,  136,   -1,  137,
        -1,   -1,  138,   -1,  139,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       140,  141,   -1,   -1,   -1,   -1,  142,   -1,
        -1,   -1,   -1,  143,   -1,   -1,  144,  145,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       146,   -1,   -1,   -1,   -1,  147,   -1,   -1,
       148,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       149,  150,   -1,  151,   -1,   -1,  152,  153,
        -1,   -1,  154,   -1,   -1,   -1,   -1,   -1,
        -1,  155,   -1,  156,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       157,   -1,   -1,   -1,  158,   -1,   -1,  159,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  160,
        -1,   -1,   -1,   -1,  161,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  162,
        -1,  163,   -1,  164,   -1,   -1,   -1,  165,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  166,   -1,   -1,   -1,   -1,  167,
        -1,  168,  169,   -1,   -1,  170,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  171,
       172,   -1,   -1,   -1,   -1,  173,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  174,
        -1,  175,   -1,   -1,   -1,   -1,   -1,  176,
        -1,   -1,   -1,  177,   -1,   -1,  178,   -1,
        -1,   -1,   -1,  179,   -1,   -1,   -1,  180,
       181,  182,  183,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  184,  185,  186,   -1,   -1,   -1,
       187,   -1,   -1,   -1,   -1,  188,   -1,   -1,
       189,   -1,   -1,  190,   -1,  191,   -1,   -1,
        -1,   -1,   -1,   -1,  192,   -1,   -1,   -1,
       193,   -1,   -1,   -1,   -1,  194,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  195,  196,
       197,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       198,  199,   -1,   -1,  200,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  201,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  202,   -1,   -1,
       203,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  204,   -1,   -1,
        -1,   -1,   -1,   -1,  205,   -1,   -1,   -1,
        -1,  206,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  207,   -1,  208,   -1,   -1,
        -1,  209,   -1,   -1,   -1,   -1,   -1,   -1,
       210,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  211,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  212,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  213,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  214,   -1,  215,  216,
        -1,   -1,   -1,   -1,  217,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  218,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       219,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  220,   -1,   -1,   -1,   -1,   -1,  221,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  222,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  223,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  224,   -1,  225,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  226,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,  227,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       228,   -1,   -1,   -1,   -1,   -1,   -1,  229,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,  230,   -1,  231,
        -1,   -1,   -1,  232,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  233,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  234,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,  235,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  236,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  237,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,  238,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
       239,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,  240,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   -1,   -1,   -1,  241
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      register int key = hash_val (str, len);

      if (key <= MAX_HASH_VALUE && key >= 0)
        {
          register int index = lookup[key];

          if (index >= 0)
            {
              register const char *s = wordlist_value[index].name;

              if (*str == *s && !strcmp (str + 1, s + 1))
                return &wordlist_value[index];
            }
          else if (index < -TOTAL_KEYWORDS)
            {
              register int offset = - 1 - TOTAL_KEYWORDS - index;
              register const struct css_value *wordptr = &wordlist_value[TOTAL_KEYWORDS + lookup[offset]];
              register const struct css_value *wordendptr = wordptr + -lookup[offset + 1];

              while (wordptr < wordendptr)
                {
                  register const char *s = wordptr->name;

                  if (*str == *s && !strcmp (str + 1, s + 1))
                    return wordptr;
                  wordptr++;
                }
            }
        }
    }
  return 0;
}
static const char * const valueList[] = {
"",
"inherit", 
"none", 
"hidden", 
"dotted", 
"dashed", 
"double", 
"solid", 
"outset", 
"inset", 
"groove", 
"ridge", 
"caption", 
"icon", 
"menu", 
"message-box", 
"small-caption", 
"status-bar", 
"italic", 
"oblique", 
"small-caps", 
"normal", 
"bold", 
"bolder", 
"lighter", 
"100", 
"200", 
"300", 
"400", 
"500", 
"600", 
"700", 
"800", 
"900", 
"xx-small", 
"x-small", 
"small", 
"medium", 
"large", 
"x-large", 
"xx-large", 
"-khtml-xxx-large", 
"smaller", 
"larger", 
"wider", 
"narrower", 
"ultra-condensed", 
"extra-condensed", 
"condensed", 
"semi-condensed", 
"semi-expanded", 
"expanded", 
"extra-expanded", 
"ultra-expanded", 
"serif", 
"sans-serif", 
"cursive", 
"fantasy", 
"monospace", 
"-khtml-body", 
"transparent", 
"aqua", 
"black", 
"blue", 
"fuchsia", 
"gray", 
"green", 
"lime", 
"maroon", 
"navy", 
"olive", 
"orange", 
"purple", 
"red", 
"silver", 
"teal", 
"white", 
"yellow", 
"activeborder", 
"activecaption", 
"appworkspace", 
"background", 
"buttonface", 
"buttonhighlight", 
"buttonshadow", 
"buttontext", 
"captiontext", 
"graytext", 
"highlight", 
"highlighttext", 
"inactiveborder", 
"inactivecaption", 
"inactivecaptiontext", 
"infobackground", 
"infotext", 
"menutext", 
"scrollbar", 
"threeddarkshadow", 
"threedface", 
"threedhighlight", 
"threedlightshadow", 
"threedshadow", 
"window", 
"windowframe", 
"windowtext", 
"grey", 
"-khtml-text", 
"repeat", 
"repeat-x", 
"repeat-y", 
"no-repeat", 
"baseline", 
"middle", 
"sub", 
"super", 
"text-top", 
"text-bottom", 
"top", 
"bottom", 
"-khtml-baseline-middle", 
"-khtml-auto", 
"left", 
"right", 
"center", 
"justify", 
"-khtml-left", 
"-khtml-right", 
"-khtml-center", 
"outside", 
"inside", 
"disc", 
"circle", 
"square", 
"decimal", 
"decimal-leading-zero", 
"lower-roman", 
"upper-roman", 
"lower-greek", 
"lower-alpha", 
"lower-latin", 
"upper-alpha", 
"upper-latin", 
"hebrew", 
"armenian", 
"georgian", 
"cjk-ideographic", 
"hiragana", 
"katakana", 
"hiragana-iroha", 
"katakana-iroha", 
"inline", 
"block", 
"list-item", 
"run-in", 
"compact", 
"inline-block", 
"table", 
"inline-table", 
"table-row-group", 
"table-header-group", 
"table-footer-group", 
"table-row", 
"table-column-group", 
"table-column", 
"table-cell", 
"table-caption", 
"-khtml-box", 
"-khtml-inline-box", 
"auto", 
"crosshair", 
"default", 
"pointer", 
"progress", 
"move", 
"e-resize", 
"ne-resize", 
"nw-resize", 
"n-resize", 
"se-resize", 
"sw-resize", 
"s-resize", 
"w-resize", 
"text", 
"wait", 
"help", 
"ltr", 
"rtl", 
"capitalize", 
"uppercase", 
"lowercase", 
"visible", 
"collapse", 
"above", 
"absolute", 
"always", 
"avoid", 
"below", 
"bidi-override", 
"blink", 
"both", 
"close-quote", 
"crop", 
"cross", 
"embed", 
"fixed", 
"hand", 
"hide", 
"higher", 
"invert", 
"landscape", 
"level", 
"line-through", 
"loud", 
"lower", 
"mix", 
"no-close-quote", 
"no-open-quote", 
"nowrap", 
"open-quote", 
"overline", 
"portrait", 
"pre", 
"relative", 
"scroll", 
"separate", 
"show", 
"static", 
"thick", 
"thin", 
"underline", 
"-khtml-nowrap", 
"-khtml-normal", 
"-khtml-around-floats", 
"stretch", 
"start", 
"end", 
"reverse", 
"horizontal", 
"vertical", 
"inline-axis", 
"block-axis", 
"single", 
"multiple", 
    0
};
DOMString getValueName(unsigned short id)
{
    if(id >= CSS_VAL_TOTAL || id == 0)
      return DOMString();
    else
      return DOMString(valueList[id]);
};