PAIR *createPair(RDS *rds, CODE left, CODE right, uint f_pos) { PAIR *pair = (PAIR*)malloc(sizeof(PAIR)); uint h; PAIR *q; uint i; pair->left = left; pair->right = right; pair->freq = 1; pair->f_pos = pair->b_pos = f_pos; pair->p_prev = pair->p_next = NULL; rds->num_pairs++; if (rds->num_pairs >= primes[rds->h_num]) { reconstructHash(rds); } h = hash_val(rds->h_num, left, right); q = rds->h_first[h]; rds->h_first[h] = pair; pair->h_next = q; insertPair_PQ(rds, pair, 1); return pair; }
static void rehash(CRDS *crds, PCODE pcode) { PAIR *p, *q; PQUE *p_que = crds->p_que[pcode]; uint i, h_num, h; h_num = ++p_que->h_num; p_que->h_entry = (PAIR **)realloc(p_que->h_entry, sizeof(PAIR *) * primes[h_num]); for (i = 0; i < primes[h_num]; i++) { p_que->h_entry[i] = NULL; } for (i = 1; ; i++) { if (i == p_que->p_max) i = 0; p = p_que->p_head[i]; while (p != NULL) { p->h_next = NULL; h = hash_val(h_num, p->left, p->right); q = p_que->h_entry[h]; p_que->h_entry[h] = p; p->h_next = q; p = p->p_next; } if (i == 0) break; } }
void reconstructHash(RDS *rds) { PAIR *p, *q; uint i, h; rds->h_num++; rds->h_first = (PAIR**)realloc(rds->h_first, sizeof(PAIR*)*primes[rds->h_num]); for (i = 0; i < primes[rds->h_num]; i++) { rds->h_first[i] = NULL; } for (i = 1; ; i++) { if (i == rds->p_max) i = 0; p = rds->p_que[i]; while (p != NULL) { p->h_next = NULL; h = hash_val(rds->h_num, p->left, p->right); q = rds->h_first[h]; rds->h_first[h] = p; p->h_next = q; p = p->p_next; } if (i == 0) break; } }
void hash_del (hash *table, void *key) { if (table == NULL || key == NULL) return; unsigned long _key = hash_val (table->type, key); size_t index = _key % table->capacity; hash_elem_t *el = table->elements[index]; hash_elem_t *prev; if (el == NULL) return; if (el != NULL && match(table->type, el->key, key, strlen (key))) { table->elements[index] = el->next; free (el->value); free (el); return; } while (el) { if (match(table->type, el->key, key, strlen (key))) { prev->next = el->next; free (el->value); free (el); } prev = el; el = el->next; } }
/** * Create a canonical form * * \param canon The canonical name * \param mibenum The MIB enum value * \return Pointer to struct canon or NULL on error */ struct canon *create_canon(const char *canon, short mibenum) { struct canon *c; int hash, len; if (!canon) return NULL; len = strlen(canon); c = malloc(sizeof(struct canon) + len + 1); if (!c) return NULL; c->mib_enum = mibenum; c->name_len = len; strcpy(c->name, canon); c->name[len] = '\0'; hash = hash_val(canon); c->next = canon_tab[hash]; canon_tab[hash] = c; return c; }
static INLINE void destructPair(CRDS *crds, PAIR *target) { PQUE *p_que = crds->p_que[target->pcode]; uint h = hash_val(p_que->h_num, target->left, target->right); PAIR *p = p_que->h_entry[h]; PAIR *q = NULL; removePair(crds, target); while (p != NULL) { if (p->pcode == target->pcode && p->left == target->left && p->right == target->right) { break; } q = p; p = p->h_next; } if (q == NULL) { p_que->h_entry[h] = p->h_next; } else { q->h_next = p->h_next; } free(target); p_que->num_pairs--; }
/** * Retrieve the canonical form of an alias name * * \param alias The alias name * \return Pointer to struct canon or NULL if not found */ struct canon *alias_canonicalise(const char *alias) { int hash, len; struct canon *c; struct alias *a; if (!alias) return NULL; hash = hash_val(alias); len = strlen(alias); for (c = canon_tab[hash]; c; c = c->next) if (c->name_len == len && strcasecmp(c->name, alias) == 0) break; if (c) return c; for (a = alias_tab[hash]; a; a = a->next) if (a->name_len == len && strcasecmp(a->name, alias) == 0) break; if (a) return a->canon; return NULL; }
void destructPair(RDS *rds, PAIR *target) { uint h = hash_val(rds->h_num, target->left, target->right); PAIR *p = rds->h_first[h]; PAIR *q = NULL; removePair_PQ(rds, target, target->freq); while (p != NULL) { if (p->left == target->left && p->right == target->right) { break; } q = p; p = p->h_next; } assert(p != NULL); if (q == NULL) { rds->h_first[h] = p->h_next; } else { q->h_next = p->h_next; } free(target); rds->num_pairs--; }
static INLINE PAIR *createPair(CRDS *crds, PCODE pcode, CODE left, CODE right, uint f_pos) { PAIR *pair = (PAIR *)malloc(sizeof(PAIR)); uint h; PAIR *q; PQUE *p_que = crds->p_que[pcode]; pair->pcode = pcode; pair->left = left; pair->right = right; pair->freq = 1; pair->f_pos = pair->b_pos = f_pos; pair->p_prev = pair->p_next = NULL; p_que->num_pairs++; if (p_que->num_pairs >= primes[p_que->h_num]) { rehash(crds, pcode); } h = hash_val(p_que->h_num, left, right); q = p_que->h_entry[h]; p_que->h_entry[h] = pair; pair->h_next = q; insertPair(crds, pair); return pair; }
void add_var_hash(pgxc_ctl_var *var) { int hash_v = hash_val(var->varname); if (var_hash[hash_v].el_used + 1 >= var_hash[hash_v].el_size) { var_hash[hash_v].el_size = next_size(var_hash[hash_v].el_size); var_hash[hash_v].el = (pgxc_ctl_var **)Realloc(var_hash[hash_v].el, sizeof(pgxc_ctl_var *) * var_hash[hash_v].el_size); } var_hash[hash_v].el[var_hash[hash_v].el_used++] = var; var_hash[hash_v].el[var_hash[hash_v].el_used] = NULL; }
PAIR *locatePair(RDS *rds, CODE left, CODE right) { uint h = hash_val(rds->h_num, left, right); PAIR *p = rds->h_first[h]; while (p != NULL) { if (p->left == left && p->right == right) { return p; } p = p->h_next; } return NULL; }
pgxc_ctl_var *find_var(char *name) { pgxc_var_hash *hash = &var_hash[hash_val(name)]; int i; for (i = 0; i < hash->el_used; i++) { if (strcmp(hash->el[i]->varname, name) == 0) return hash->el[i]; } return NULL; }
static INLINE PAIR *locatePair(CRDS *crds, PCODE pcode, CODE left, CODE right) { PQUE *p_que = crds->p_que[pcode]; uint h = hash_val(p_que->h_num, left, right); PAIR *p = p_que->h_entry[h]; while (p != NULL) { if (p->left == left && p->right == right) { return p; } p = p->h_next; } return NULL; }
static void remove_from_hash(pgxc_ctl_var *var) { int hash_v = hash_val(var->varname); int ii, jj; for(ii = 0; var_hash[hash_v].el[ii]; ii++) { if (var_hash[hash_v].el[ii] != var) continue; else { for(jj = ii; var_hash[hash_v].el[jj]; jj++) var_hash[hash_v].el[jj] = var_hash[hash_v].el[jj + 1]; var_hash[hash_v].el_used--; return; } } return; }
hash_elem_t *hash_get (hash *table, void *key) { if (table == NULL || key == NULL) return NULL; unsigned long _key = hash_val (table->type, key); size_t index = _key % table->capacity; hash_elem_t *el = table->elements[index]; if (el != NULL && match(table->type, el->key, key, strlen (key))) return el; while (el) { if (match(table->type, el->key, key, strlen (key))) return el; el = el->next; } return NULL; }
void hash_put (hash *table, void *key, void *data, size_t length) { if (table == NULL || key == NULL || data == NULL || length == 0) return; hash_elem_t *el; unsigned long _key = hash_val (table->type, key); size_t index = _key % table->capacity; if (table->elements[index] == NULL) { el = malloc (sizeof (hash_elem_t)); el->key = key; el->value = data; el->value_len = length; el->next = NULL; table->elements[index] = el; } else { /* handle colision */ hash_elem_t *prev; hash_elem_t *linked = table->elements[index]; while (linked) { if (match(table->type, linked->key, key, strlen (key))) { /* element found */ free (linked->value); linked->value = data; linked->value_len = length; return; } prev = linked; linked = linked->next; } /* add at the end of collision list */ el = malloc (sizeof (hash_elem_t)); el->key = key; el->value = data; el->value_len = length; el->next = NULL; prev->next = el; } }
/** * Create an alias * * \param alias The alias name * \param c The canonical form * \return true on success, false otherwise */ bool create_alias(const char *alias, struct canon *c) { struct alias *a; int hash; if (!alias || !c) return false; a = malloc(sizeof(struct alias) + strlen(alias) + 1); if (!a) return false; a->canon = c; a->name_len = strlen(alias); strcpy(a->name, alias); a->name[a->name_len] = '\0'; hash = hash_val(alias); a->next = alias_tab[hash]; alias_tab[hash] = a; return true; }
size_t operator()(const Customer2& c) const { return hash_val(c.first_name, c.last_name, c.id, c.age); }
size_t operator()(const osrm::extractor::RestrictionTarget &r_target) const { return hash_val(r_target.target_node, r_target.is_only); }
size_t operator()(const osrm::extractor::RestrictionSource &r_source) const { return hash_val(r_source.start_node, r_source.via_node); }
__inline #endif const struct css_value * findValue (register const char *str, register unsigned int len) { enum { TOTAL_KEYWORDS = 262, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 22, MIN_HASH_VALUE = 0, MAX_HASH_VALUE = 3473 }; static const struct css_value wordlist_value[] = { {"900", CSS_VAL_900}, {"100", CSS_VAL_100}, {"200", CSS_VAL_200}, {"300", CSS_VAL_300}, {"400", CSS_VAL_400}, {"500", CSS_VAL_500}, {"600", CSS_VAL_600}, {"700", CSS_VAL_700}, {"800", CSS_VAL_800}, {"static", CSS_VAL_STATIC}, {"italic", CSS_VAL_ITALIC}, {"fast", CSS_VAL_FAST}, {"icon", CSS_VAL_ICON}, {"top", CSS_VAL_TOP}, {"clip", CSS_VAL_CLIP}, {"small", CSS_VAL_SMALL}, {"initial", CSS_VAL_INITIAL}, {"ltr", CSS_VAL_LTR}, {"rtl", CSS_VAL_RTL}, {"start", CSS_VAL_START}, {"fantasy", CSS_VAL_FANTASY}, {"scroll", CSS_VAL_SCROLL}, {"cross", CSS_VAL_CROSS}, {"teal", CSS_VAL_TEAL}, {"caption", CSS_VAL_CAPTION}, {"navy", CSS_VAL_NAVY}, {"small-caps", CSS_VAL_SMALL_CAPS}, {"compact", CSS_VAL_COMPACT}, {"bottom", CSS_VAL_BOTTOM}, {"left", CSS_VAL_LEFT}, {"crop", CSS_VAL_CROP}, {"table", CSS_VAL_TABLE}, {"inset", CSS_VAL_INSET}, {"black", CSS_VAL_BLACK}, {"block", CSS_VAL_BLOCK}, {"none", CSS_VAL_NONE}, {"collapse", CSS_VAL_COLLAPSE}, {"intrinsic", CSS_VAL_INTRINSIC}, {"normal", CSS_VAL_NORMAL}, {"small-caption", CSS_VAL_SMALL_CAPTION}, {"thin", CSS_VAL_THIN}, {"lime", CSS_VAL_LIME}, {"inline", CSS_VAL_INLINE}, {"blink", CSS_VAL_BLINK}, {"wait", CSS_VAL_WAIT}, {"ellipsis", CSS_VAL_ELLIPSIS}, {"slow", CSS_VAL_SLOW}, {"both", CSS_VAL_BOTH}, {"maroon", CSS_VAL_MAROON}, {"circle", CSS_VAL_CIRCLE}, {"always", CSS_VAL_ALWAYS}, {"scrollbar", CSS_VAL_SCROLLBAR}, {"gray", CSS_VAL_GRAY}, {"list-item", CSS_VAL_LIST_ITEM}, {"olive", CSS_VAL_OLIVE}, {"aqua", CSS_VAL_AQUA}, {"x-small", CSS_VAL_X_SMALL}, {"mix", CSS_VAL_MIX}, {"pre", CSS_VAL_PRE}, {"portrait", CSS_VAL_PORTRAIT}, {"serif", CSS_VAL_SERIF}, {"auto", CSS_VAL_AUTO}, {"infinite", CSS_VAL_INFINITE}, {"disc", CSS_VAL_DISC}, {"above", CSS_VAL_ABOVE}, {"katakana", CSS_VAL_KATAKANA}, {"text", CSS_VAL_TEXT}, {"smaller", CSS_VAL_SMALLER}, {"solid", CSS_VAL_SOLID}, {"table-cell", CSS_VAL_TABLE_CELL}, {"table-caption", CSS_VAL_TABLE_CAPTION}, {"capitalize", CSS_VAL_CAPITALIZE}, {"visible", CSS_VAL_VISIBLE}, {"single", CSS_VAL_SINGLE}, {"sub", CSS_VAL_SUB}, {"move", CSS_VAL_MOVE}, {"up", CSS_VAL_UP}, {"bold", CSS_VAL_BOLD}, {"thick", CSS_VAL_THICK}, {"sans-serif", CSS_VAL_SANS_SERIF}, {"vertical", CSS_VAL_VERTICAL}, {"monospace", CSS_VAL_MONOSPACE}, {"silver", CSS_VAL_SILVER}, {"pointer", CSS_VAL_POINTER}, {"level", CSS_VAL_LEVEL}, {"baseline", CSS_VAL_BASELINE}, {"large", CSS_VAL_LARGE}, {"help", CSS_VAL_HELP}, {"min-intrinsic", CSS_VAL_MIN_INTRINSIC}, {"justify", CSS_VAL_JUSTIFY}, {"overlay", CSS_VAL_OVERLAY}, {"invert", CSS_VAL_INVERT}, {"alternate", CSS_VAL_ALTERNATE}, {"activecaption", CSS_VAL_ACTIVECAPTION}, {"center", CSS_VAL_CENTER}, {"armenian", CSS_VAL_ARMENIAN}, {"grey", CSS_VAL_GREY}, {"yellow", CSS_VAL_YELLOW}, {"text-top", CSS_VAL_TEXT_TOP}, {"stretch", CSS_VAL_STRETCH}, {"avoid", CSS_VAL_AVOID}, {"repeat", CSS_VAL_REPEAT}, {"below", CSS_VAL_BELOW}, {"orange", CSS_VAL_ORANGE}, {"inline-table", CSS_VAL_INLINE_TABLE}, {"separate", CSS_VAL_SEPARATE}, {"crosshair", CSS_VAL_CROSSHAIR}, {"block-axis", CSS_VAL_BLOCK_AXIS}, {"show", CSS_VAL_SHOW}, {"infotext", CSS_VAL_INFOTEXT}, {"nowrap", CSS_VAL_NOWRAP}, {"slide", CSS_VAL_SLIDE}, {"outset", CSS_VAL_OUTSET}, {"end", CSS_VAL_END}, {"right", CSS_VAL_RIGHT}, {"inactivecaption", CSS_VAL_INACTIVECAPTION}, {"status-bar", CSS_VAL_STATUS_BAR}, {"captiontext", CSS_VAL_CAPTIONTEXT}, {"inline-axis", CSS_VAL_INLINE_AXIS}, {"inline-block", CSS_VAL_INLINE_BLOCK}, {"transparent", CSS_VAL_TRANSPARENT}, {"repeat-y", CSS_VAL_REPEAT_Y}, {"horizontal", CSS_VAL_HORIZONTAL}, {"blue", CSS_VAL_BLUE}, {"xx-small", CSS_VAL_XX_SMALL}, {"larger", CSS_VAL_LARGER}, {"lower", CSS_VAL_LOWER}, {"run-in", CSS_VAL_RUN_IN}, {"hiragana", CSS_VAL_HIRAGANA}, {"no-repeat", CSS_VAL_NO_REPEAT}, {"inherit", CSS_VAL_INHERIT}, {"relative", CSS_VAL_RELATIVE}, {"inside", CSS_VAL_INSIDE}, {"absolute", CSS_VAL_ABSOLUTE}, {"hand", CSS_VAL_HAND}, {"s-resize", CSS_VAL_S_RESIZE}, {"text-bottom", CSS_VAL_TEXT_BOTTOM}, {"oblique", CSS_VAL_OBLIQUE}, {"red", CSS_VAL_RED}, {"landscape", CSS_VAL_LANDSCAPE}, {"element", CSS_VAL_ELEMENT}, {"decimal", CSS_VAL_DECIMAL}, {"groove", CSS_VAL_GROOVE}, {"square", CSS_VAL_SQUARE}, {"n-resize", CSS_VAL_N_RESIZE}, {"table-row", CSS_VAL_TABLE_ROW}, {"menu", CSS_VAL_MENU}, {"lower-latin", CSS_VAL_LOWER_LATIN}, {"fuchsia", CSS_VAL_FUCHSIA}, {"green", CSS_VAL_GREEN}, {"overline", CSS_VAL_OVERLINE}, {"down", CSS_VAL_DOWN}, {"white", CSS_VAL_WHITE}, {"buttonface", CSS_VAL_BUTTONFACE}, {"x-large", CSS_VAL_X_LARGE}, {"bolder", CSS_VAL_BOLDER}, {"lighter", CSS_VAL_LIGHTER}, {"loud", CSS_VAL_LOUD}, {"super", CSS_VAL_SUPER}, {"multiple", CSS_VAL_MULTIPLE}, {"graytext", CSS_VAL_GRAYTEXT}, {"georgian", CSS_VAL_GEORGIAN}, {"ahead", CSS_VAL_AHEAD}, {"read-only", CSS_VAL_READ_ONLY}, {"-khtml-left", CSS_VAL__KHTML_LEFT}, {"close-quote", CSS_VAL_CLOSE_QUOTE}, {"table-column", CSS_VAL_TABLE_COLUMN}, {"hide", CSS_VAL_HIDE}, {"lowercase", CSS_VAL_LOWERCASE}, {"repeat-x", CSS_VAL_REPEAT_X}, {"-khtml-link", CSS_VAL__KHTML_LINK}, {"e-resize", CSS_VAL_E_RESIZE}, {"se-resize", CSS_VAL_SE_RESIZE}, {"purple", CSS_VAL_PURPLE}, {"katakana-iroha", CSS_VAL_KATAKANA_IROHA}, {"cursive", CSS_VAL_CURSIVE}, {"ne-resize", CSS_VAL_NE_RESIZE}, {"fixed", CSS_VAL_FIXED}, {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE}, {"ridge", CSS_VAL_RIDGE}, {"embed", CSS_VAL_EMBED}, {"-khtml-box", CSS_VAL__KHTML_BOX}, {"open-quote", CSS_VAL_OPEN_QUOTE}, {"upper-latin", CSS_VAL_UPPER_LATIN}, {"narrower", CSS_VAL_NARROWER}, {"buttontext", CSS_VAL_BUTTONTEXT}, {"reverse", CSS_VAL_REVERSE}, {"dotted", CSS_VAL_DOTTED}, {"w-resize", CSS_VAL_W_RESIZE}, {"lower-roman", CSS_VAL_LOWER_ROMAN}, {"sw-resize", CSS_VAL_SW_RESIZE}, {"lower-alpha", CSS_VAL_LOWER_ALPHA}, {"-khtml-auto", CSS_VAL__KHTML_AUTO}, {"marquee", CSS_VAL_MARQUEE}, {"default", CSS_VAL_DEFAULT}, {"outside", CSS_VAL_OUTSIDE}, {"unfurl", CSS_VAL_UNFURL}, {"-khtml-text", CSS_VAL__KHTML_TEXT}, {"nw-resize", CSS_VAL_NW_RESIZE}, {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE}, {"wider", CSS_VAL_WIDER}, {"xx-large", CSS_VAL_XX_LARGE}, {"higher", CSS_VAL_HIGHER}, {"double", CSS_VAL_DOUBLE}, {"forwards", CSS_VAL_FORWARDS}, {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT}, {"message-box", CSS_VAL_MESSAGE_BOX}, {"uppercase", CSS_VAL_UPPERCASE}, {"middle", CSS_VAL_MIDDLE}, {"backwards", CSS_VAL_BACKWARDS}, {"window", CSS_VAL_WINDOW}, {"-khtml-body", CSS_VAL__KHTML_BODY}, {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA}, {"appworkspace", CSS_VAL_APPWORKSPACE}, {"hebrew", CSS_VAL_HEBREW}, {"-khtml-center", CSS_VAL__KHTML_CENTER}, {"menutext", CSS_VAL_MENUTEXT}, {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP}, {"-khtml-right", CSS_VAL__KHTML_RIGHT}, {"dashed", CSS_VAL_DASHED}, {"highlight", CSS_VAL_HIGHLIGHT}, {"upper-roman", CSS_VAL_UPPER_ROMAN}, {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK}, {"medium", CSS_VAL_MEDIUM}, {"upper-alpha", CSS_VAL_UPPER_ALPHA}, {"condensed", CSS_VAL_CONDENSED}, {"hidden", CSS_VAL_HIDDEN}, {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX}, {"activeborder", CSS_VAL_ACTIVEBORDER}, {"inactiveborder", CSS_VAL_INACTIVEBORDER}, {"read-write", CSS_VAL_READ_WRITE}, {"threedface", CSS_VAL_THREEDFACE}, {"underline", CSS_VAL_UNDERLINE}, {"background", CSS_VAL_BACKGROUND}, {"buttonshadow", CSS_VAL_BUTTONSHADOW}, {"expanded", CSS_VAL_EXPANDED}, {"line-through", CSS_VAL_LINE_THROUGH}, {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC}, {"windowtext", CSS_VAL_WINDOWTEXT}, {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP}, {"lower-greek", CSS_VAL_LOWER_GREEK}, {"table-row-group", CSS_VAL_TABLE_ROW_GROUP}, {"windowframe", CSS_VAL_WINDOWFRAME}, {"infobackground", CSS_VAL_INFOBACKGROUND}, {"semi-condensed", CSS_VAL_SEMI_CONDENSED}, {"highlighttext", CSS_VAL_HIGHLIGHTTEXT}, {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP}, {"bidi-override", CSS_VAL_BIDI_OVERRIDE}, {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT}, {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED}, {"extra-condensed", CSS_VAL_EXTRA_CONDENSED}, {"semi-expanded", CSS_VAL_SEMI_EXPANDED}, {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE}, {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO}, {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED}, {"extra-expanded", CSS_VAL_EXTRA_EXPANDED}, {"threedshadow", CSS_VAL_THREEDSHADOW}, {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE}, {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP}, {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT}, {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW}, {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW} }; static const short lookup[] = { 0, -1, -1, -1, -1, 1, -1, -1, -1, -1, 2, -1, -1, -1, -1, 3, -1, -1, -1, -1, 4, -1, -1, -1, -1, 5, -1, -1, -1, -1, 6, -1, -1, -1, -1, 7, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, -1, 16, -1, -1, -1, -1, -429, -245, -2, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, -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, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, 23, -1, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 26, 27, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, -1, -1, 30, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, 38, -1, -1, 39, 40, -1, -1, 41, -1, 42, -1, -1, -1, -1, -1, -1, -1, 43, -1, 44, -1, -1, -1, -1, 45, -1, -1, 46, -1, -1, 47, -1, -1, 48, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, 52, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, 58, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, 60, -1, -1, 61, -1, 62, -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, 66, -1, -1, -1, -1, 67, -1, -1, -1, -1, 68, -1, -1, 69, -1, -1, 70, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 73, -1, -1, 74, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, 76, 77, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, 80, 81, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, 85, -1, 86, -1, -1, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, 93, 94, -1, -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, 96, -1, -1, 97, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, 100, -1, -1, -1, 101, 102, -1, 103, -1, -1, -1, -1, 104, -1, 105, 106, 107, 108, -1, -1, 109, -1, 110, -1, 111, -1, -1, -1, -1, -1, -1, -1, 112, -1, 113, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, 115, 116, -1, -1, -1, -1, -1, 117, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, -1, -1, -1, 121, 122, -1, 123, -1, -1, -1, -1, -1, 124, -1, -1, -1, -1, -1, 125, -1, -1, 126, -1, 127, -1, -1, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, 130, -1, -1, 131, -1, 132, 133, -1, -1, -1, 134, -1, -1, -1, -1, 135, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 137, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, 140, -1, -1, 141, -1, -1, 142, 143, -1, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 145, -1, 146, -1, -1, -1, -1, 147, -1, -1, -1, -1, 148, -1, 149, 150, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, -1, 156, -1, -1, 157, -1, 158, -1, -1, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, 160, -1, -1, -1, -1, 161, -1, 162, -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 166, -1, -1, 167, 168, -1, -1, -1, -1, -1, -1, 169, -1, -1, -1, -1, 170, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 172, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 184, 185, -1, -1, -1, 186, -1, -1, -1, -1, 187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, -1, -1, -1, 189, -1, -1, -1, -1, -1, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, -1, -1, 192, -1, 193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, -1, -1, 195, -1, 196, -1, -1, -1, -1, -1, 197, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, 199, 200, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 202, 203, -1, -1, -1, -1, -1, -1, 204, -1, 205, -1, 206, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 207, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 208, -1, -1, -1, -1, -1, -1, -1, 209, -1, 210, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, 212, -1, -1, 213, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 214, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, -1, -1, -1, -1, -1, 219, -1, -1, -1, -1, 220, 221, -1, -1, 222, -1, 223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, -1, -1, -1, -1, -1, -1, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 232, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 235, -1, -1, -1, -1, -1, -1, -1, -1, -1, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, 238, -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, -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, 241, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 243, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 245, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 253, -1, -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261 }; 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; }
__inline #endif const struct css_value * findValue (register const char *str, register unsigned int len) { enum { TOTAL_KEYWORDS = 274, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 28, MIN_HASH_VALUE = 0, MAX_HASH_VALUE = 3055 }; static const struct css_value wordlist_value[] = { #line 40 "cssvalues.gperf" {"100", CSS_VAL_100}, #line 48 "cssvalues.gperf" {"900", CSS_VAL_900}, #line 47 "cssvalues.gperf" {"800", CSS_VAL_800}, #line 46 "cssvalues.gperf" {"700", CSS_VAL_700}, #line 45 "cssvalues.gperf" {"600", CSS_VAL_600}, #line 216 "cssvalues.gperf" {"ltr", CSS_VAL_LTR}, #line 276 "cssvalues.gperf" {"down", CSS_VAL_DOWN}, #line 146 "cssvalues.gperf" {"disc", CSS_VAL_DISC}, #line 44 "cssvalues.gperf" {"500", CSS_VAL_500}, #line 43 "cssvalues.gperf" {"400", CSS_VAL_400}, #line 258 "cssvalues.gperf" {"scroll", CSS_VAL_SCROLL}, #line 83 "cssvalues.gperf" {"lime", CSS_VAL_LIME}, #line 17 "cssvalues.gperf" {"none", CSS_VAL_NONE}, #line 19 "cssvalues.gperf" {"inset", CSS_VAL_INSET}, #line 118 "cssvalues.gperf" {"window", CSS_VAL_WINDOW}, #line 286 "cssvalues.gperf" {"content", CSS_VAL_CONTENT}, #line 147 "cssvalues.gperf" {"circle", CSS_VAL_CIRCLE}, #line 33 "cssvalues.gperf" {"italic", CSS_VAL_ITALIC}, #line 145 "cssvalues.gperf" {"inside", CSS_VAL_INSIDE}, #line 25 "cssvalues.gperf" {"solid", CSS_VAL_SOLID}, #line 183 "cssvalues.gperf" {"inline", CSS_VAL_INLINE}, #line 261 "cssvalues.gperf" {"static", CSS_VAL_STATIC}, #line 204 "cssvalues.gperf" {"move", CSS_VAL_MOVE}, #line 42 "cssvalues.gperf" {"300", CSS_VAL_300}, #line 249 "cssvalues.gperf" {"level", CSS_VAL_LEVEL}, #line 41 "cssvalues.gperf" {"200", CSS_VAL_200}, #line 254 "cssvalues.gperf" {"mix", CSS_VAL_MIX}, #line 91 "cssvalues.gperf" {"teal", CSS_VAL_TEAL}, #line 51 "cssvalues.gperf" {"small", CSS_VAL_SMALL}, #line 120 "cssvalues.gperf" {"windowtext", CSS_VAL_WINDOWTEXT}, #line 37 "cssvalues.gperf" {"bold", CSS_VAL_BOLD}, #line 213 "cssvalues.gperf" {"text", CSS_VAL_TEXT}, #line 149 "cssvalues.gperf" {"box", CSS_VAL_BOX}, #line 217 "cssvalues.gperf" {"rtl", CSS_VAL_RTL}, #line 242 "cssvalues.gperf" {"embed", CSS_VAL_EMBED}, #line 128 "cssvalues.gperf" {"middle", CSS_VAL_MIDDLE}, #line 252 "cssvalues.gperf" {"lower", CSS_VAL_LOWER}, #line 236 "cssvalues.gperf" {"below", CSS_VAL_BELOW}, #line 63 "cssvalues.gperf" {"condensed", CSS_VAL_CONDENSED}, #line 14 "cssvalues.gperf" {"inherit", CSS_VAL_INHERIT}, #line 93 "cssvalues.gperf" {"yellow", CSS_VAL_YELLOW}, #line 247 "cssvalues.gperf" {"invert", CSS_VAL_INVERT}, #line 76 "cssvalues.gperf" {"black", CSS_VAL_BLACK}, #line 89 "cssvalues.gperf" {"red", CSS_VAL_RED}, #line 280 "cssvalues.gperf" {"slide", CSS_VAL_SLIDE}, #line 139 "cssvalues.gperf" {"center", CSS_VAL_CENTER}, #line 59 "cssvalues.gperf" {"wider", CSS_VAL_WIDER}, #line 129 "cssvalues.gperf" {"sub", CSS_VAL_SUB}, #line 189 "cssvalues.gperf" {"table", CSS_VAL_TABLE}, #line 269 "cssvalues.gperf" {"enabled", CSS_VAL_ENABLED}, #line 36 "cssvalues.gperf" {"normal", CSS_VAL_NORMAL}, #line 238 "cssvalues.gperf" {"blink", CSS_VAL_BLINK}, #line 84 "cssvalues.gperf" {"maroon", CSS_VAL_MAROON}, #line 251 "cssvalues.gperf" {"loud", CSS_VAL_LOUD}, #line 285 "cssvalues.gperf" {"border", CSS_VAL_BORDER}, #line 85 "cssvalues.gperf" {"navy", CSS_VAL_NAVY}, #line 57 "cssvalues.gperf" {"smaller", CSS_VAL_SMALLER}, #line 38 "cssvalues.gperf" {"bolder", CSS_VAL_BOLDER}, #line 28 "cssvalues.gperf" {"icon", CSS_VAL_ICON}, #line 78 "cssvalues.gperf" {"crimson", CSS_VAL_CRIMSON}, #line 29 "cssvalues.gperf" {"menu", CSS_VAL_MENU}, #line 23 "cssvalues.gperf" {"dotted", CSS_VAL_DOTTED}, #line 277 "cssvalues.gperf" {"slow", CSS_VAL_SLOW}, #line 151 "cssvalues.gperf" {"decimal", CSS_VAL_DECIMAL}, #line 15 "cssvalues.gperf" {"initial", CSS_VAL_INITIAL}, #line 134 "cssvalues.gperf" {"bottom", CSS_VAL_BOTTOM}, #line 214 "cssvalues.gperf" {"wait", CSS_VAL_WAIT}, #line 69 "cssvalues.gperf" {"serif", CSS_VAL_SERIF}, #line 77 "cssvalues.gperf" {"blue", CSS_VAL_BLUE}, #line 270 "cssvalues.gperf" {"disabled", CSS_VAL_DISABLED}, #line 127 "cssvalues.gperf" {"baseline", CSS_VAL_BASELINE}, #line 111 "cssvalues.gperf" {"menutext", CSS_VAL_MENUTEXT}, #line 221 "cssvalues.gperf" {"visible", CSS_VAL_VISIBLE}, #line 26 "cssvalues.gperf" {"double", CSS_VAL_DOUBLE}, #line 52 "cssvalues.gperf" {"medium", CSS_VAL_MEDIUM}, #line 245 "cssvalues.gperf" {"hide", CSS_VAL_HIDE}, #line 274 "cssvalues.gperf" {"reverse", CSS_VAL_REVERSE}, #line 243 "cssvalues.gperf" {"fixed", CSS_VAL_FIXED}, #line 283 "cssvalues.gperf" {"clip", CSS_VAL_CLIP}, #line 112 "cssvalues.gperf" {"scrollbar", CSS_VAL_SCROLLBAR}, #line 18 "cssvalues.gperf" {"hidden", CSS_VAL_HIDDEN}, #line 86 "cssvalues.gperf" {"olive", CSS_VAL_OLIVE}, #line 263 "cssvalues.gperf" {"thin", CSS_VAL_THIN}, #line 184 "cssvalues.gperf" {"block", CSS_VAL_BLOCK}, #line 220 "cssvalues.gperf" {"lowercase", CSS_VAL_LOWERCASE}, #line 284 "cssvalues.gperf" {"ellipsis", CSS_VAL_ELLIPSIS}, #line 241 "cssvalues.gperf" {"cross", CSS_VAL_CROSS}, #line 278 "cssvalues.gperf" {"fast", CSS_VAL_FAST}, #line 90 "cssvalues.gperf" {"silver", CSS_VAL_SILVER}, #line 137 "cssvalues.gperf" {"left", CSS_VAL_LEFT}, #line 264 "cssvalues.gperf" {"underline", CSS_VAL_UNDERLINE}, #line 82 "cssvalues.gperf" {"indigo", CSS_VAL_INDIGO}, #line 234 "cssvalues.gperf" {"always", CSS_VAL_ALWAYS}, #line 279 "cssvalues.gperf" {"infinite", CSS_VAL_INFINITE}, #line 92 "cssvalues.gperf" {"white", CSS_VAL_WHITE}, #line 110 "cssvalues.gperf" {"infotext", CSS_VAL_INFOTEXT}, #line 187 "cssvalues.gperf" {"compact", CSS_VAL_COMPACT}, #line 262 "cssvalues.gperf" {"thick", CSS_VAL_THICK}, #line 60 "cssvalues.gperf" {"narrower", CSS_VAL_NARROWER}, #line 275 "cssvalues.gperf" {"up", CSS_VAL_UP}, #line 49 "cssvalues.gperf" {"xx-small", CSS_VAL_XX_SMALL}, #line 207 "cssvalues.gperf" {"nw-resize", CSS_VAL_NW_RESIZE}, #line 22 "cssvalues.gperf" {"outset", CSS_VAL_OUTSET}, #line 244 "cssvalues.gperf" {"hand", CSS_VAL_HAND}, #line 161 "cssvalues.gperf" {"hebrew", CSS_VAL_HEBREW}, #line 133 "cssvalues.gperf" {"top", CSS_VAL_TOP}, #line 210 "cssvalues.gperf" {"sw-resize", CSS_VAL_SW_RESIZE}, #line 144 "cssvalues.gperf" {"outside", CSS_VAL_OUTSIDE}, #line 233 "cssvalues.gperf" {"absolute", CSS_VAL_ABSOLUTE}, #line 206 "cssvalues.gperf" {"ne-resize", CSS_VAL_NE_RESIZE}, #line 162 "cssvalues.gperf" {"armenian", CSS_VAL_ARMENIAN}, #line 71 "cssvalues.gperf" {"cursive", CSS_VAL_CURSIVE}, #line 209 "cssvalues.gperf" {"se-resize", CSS_VAL_SE_RESIZE}, #line 101 "cssvalues.gperf" {"buttontext", CSS_VAL_BUTTONTEXT}, #line 185 "cssvalues.gperf" {"list-item", CSS_VAL_LIST_ITEM}, #line 239 "cssvalues.gperf" {"both", CSS_VAL_BOTH}, #line 202 "cssvalues.gperf" {"pointer", CSS_VAL_POINTER}, #line 24 "cssvalues.gperf" {"dashed", CSS_VAL_DASHED}, #line 222 "cssvalues.gperf" {"collapse", CSS_VAL_COLLAPSE}, #line 227 "cssvalues.gperf" {"nowrap", CSS_VAL_NOWRAP}, #line 268 "cssvalues.gperf" {"content-box", CSS_VAL_CONTENT_BOX}, #line 73 "cssvalues.gperf" {"monospace", CSS_VAL_MONOSPACE}, #line 208 "cssvalues.gperf" {"n-resize", CSS_VAL_N_RESIZE}, #line 260 "cssvalues.gperf" {"show", CSS_VAL_SHOW}, #line 199 "cssvalues.gperf" {"auto", CSS_VAL_AUTO}, #line 21 "cssvalues.gperf" {"ridge", CSS_VAL_RIDGE}, #line 212 "cssvalues.gperf" {"w-resize", CSS_VAL_W_RESIZE}, #line 256 "cssvalues.gperf" {"portrait", CSS_VAL_PORTRAIT}, #line 211 "cssvalues.gperf" {"s-resize", CSS_VAL_S_RESIZE}, #line 271 "cssvalues.gperf" {"forwards", CSS_VAL_FORWARDS}, #line 87 "cssvalues.gperf" {"orange", CSS_VAL_ORANGE}, #line 228 "cssvalues.gperf" {"pre", CSS_VAL_PRE}, #line 80 "cssvalues.gperf" {"gray", CSS_VAL_GRAY}, #line 205 "cssvalues.gperf" {"e-resize", CSS_VAL_E_RESIZE}, #line 255 "cssvalues.gperf" {"overline", CSS_VAL_OVERLINE}, #line 215 "cssvalues.gperf" {"help", CSS_VAL_HELP}, #line 53 "cssvalues.gperf" {"large", CSS_VAL_LARGE}, #line 140 "cssvalues.gperf" {"justify", CSS_VAL_JUSTIFY}, #line 240 "cssvalues.gperf" {"crop", CSS_VAL_CROP}, #line 257 "cssvalues.gperf" {"relative", CSS_VAL_RELATIVE}, #line 50 "cssvalues.gperf" {"x-small", CSS_VAL_X_SMALL}, #line 188 "cssvalues.gperf" {"inline-block", CSS_VAL_INLINE_BLOCK}, #line 64 "cssvalues.gperf" {"semi-condensed", CSS_VAL_SEMI_CONDENSED}, #line 272 "cssvalues.gperf" {"backwards", CSS_VAL_BACKWARDS}, #line 138 "cssvalues.gperf" {"right", CSS_VAL_RIGHT}, #line 119 "cssvalues.gperf" {"windowframe", CSS_VAL_WINDOWFRAME}, #line 27 "cssvalues.gperf" {"caption", CSS_VAL_CAPTION}, #line 132 "cssvalues.gperf" {"text-bottom", CSS_VAL_TEXT_BOTTOM}, #line 103 "cssvalues.gperf" {"graytext", CSS_VAL_GRAYTEXT}, #line 106 "cssvalues.gperf" {"inactiveborder", CSS_VAL_INACTIVEBORDER}, #line 72 "cssvalues.gperf" {"fantasy", CSS_VAL_FANTASY}, #line 235 "cssvalues.gperf" {"avoid", CSS_VAL_AVOID}, #line 197 "cssvalues.gperf" {"table-cell", CSS_VAL_TABLE_CELL}, #line 39 "cssvalues.gperf" {"lighter", CSS_VAL_LIGHTER}, #line 248 "cssvalues.gperf" {"landscape", CSS_VAL_LANDSCAPE}, #line 102 "cssvalues.gperf" {"captiontext", CSS_VAL_CAPTIONTEXT}, #line 58 "cssvalues.gperf" {"larger", CSS_VAL_LARGER}, #line 186 "cssvalues.gperf" {"run-in", CSS_VAL_RUN_IN}, #line 267 "cssvalues.gperf" {"border-box", CSS_VAL_BORDER_BOX}, #line 281 "cssvalues.gperf" {"alternate", CSS_VAL_ALTERNATE}, #line 174 "cssvalues.gperf" {"lower-latin", CSS_VAL_LOWER_LATIN}, #line 81 "cssvalues.gperf" {"green", CSS_VAL_GREEN}, #line 194 "cssvalues.gperf" {"table-row", CSS_VAL_TABLE_ROW}, #line 232 "cssvalues.gperf" {"above", CSS_VAL_ABOVE}, #line 66 "cssvalues.gperf" {"expanded", CSS_VAL_EXPANDED}, #line 74 "cssvalues.gperf" {"transparent", CSS_VAL_TRANSPARENT}, #line 121 "cssvalues.gperf" {"grey", CSS_VAL_GREY}, #line 88 "cssvalues.gperf" {"purple", CSS_VAL_PURPLE}, #line 190 "cssvalues.gperf" {"inline-table", CSS_VAL_INLINE_TABLE}, #line 107 "cssvalues.gperf" {"inactivecaption", CSS_VAL_INACTIVECAPTION}, #line 34 "cssvalues.gperf" {"oblique", CSS_VAL_OBLIQUE}, #line 131 "cssvalues.gperf" {"text-top", CSS_VAL_TEXT_TOP}, #line 201 "cssvalues.gperf" {"default", CSS_VAL_DEFAULT}, #line 130 "cssvalues.gperf" {"super", CSS_VAL_SUPER}, #line 123 "cssvalues.gperf" {"repeat", CSS_VAL_REPEAT}, #line 108 "cssvalues.gperf" {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT}, #line 114 "cssvalues.gperf" {"threedface", CSS_VAL_THREEDFACE}, #line 126 "cssvalues.gperf" {"no-repeat", CSS_VAL_NO_REPEAT}, #line 282 "cssvalues.gperf" {"unfurl", CSS_VAL_UNFURL}, #line 273 "cssvalues.gperf" {"ahead", CSS_VAL_AHEAD}, #line 196 "cssvalues.gperf" {"table-column", CSS_VAL_TABLE_COLUMN}, #line 218 "cssvalues.gperf" {"capitalize", CSS_VAL_CAPITALIZE}, #line 159 "cssvalues.gperf" {"lower-roman", CSS_VAL_LOWER_ROMAN}, #line 287 "cssvalues.gperf" {"padding", CSS_VAL_PADDING}, #line 117 "cssvalues.gperf" {"threedshadow", CSS_VAL_THREEDSHADOW}, #line 98 "cssvalues.gperf" {"buttonface", CSS_VAL_BUTTONFACE}, #line 79 "cssvalues.gperf" {"fuchsia", CSS_VAL_FUCHSIA}, #line 55 "cssvalues.gperf" {"xx-large", CSS_VAL_XX_LARGE}, #line 200 "cssvalues.gperf" {"crosshair", CSS_VAL_CROSSHAIR}, #line 246 "cssvalues.gperf" {"higher", CSS_VAL_HIGHER}, #line 100 "cssvalues.gperf" {"buttonshadow", CSS_VAL_BUTTONSHADOW}, #line 94 "cssvalues.gperf" {"activeborder", CSS_VAL_ACTIVEBORDER}, #line 253 "cssvalues.gperf" {"marquee", CSS_VAL_MARQUEE}, #line 31 "cssvalues.gperf" {"small-caption", CSS_VAL_SMALL_CAPTION}, #line 35 "cssvalues.gperf" {"small-caps", CSS_VAL_SMALL_CAPS}, #line 122 "cssvalues.gperf" {"-khtml-text", CSS_VAL__KHTML_TEXT}, #line 20 "cssvalues.gperf" {"groove", CSS_VAL_GROOVE}, #line 97 "cssvalues.gperf" {"background", CSS_VAL_BACKGROUND}, #line 178 "cssvalues.gperf" {"katakana", CSS_VAL_KATAKANA}, #line 148 "cssvalues.gperf" {"square", CSS_VAL_SQUARE}, #line 259 "cssvalues.gperf" {"separate", CSS_VAL_SEPARATE}, #line 75 "cssvalues.gperf" {"aqua", CSS_VAL_AQUA}, #line 70 "cssvalues.gperf" {"sans-serif", CSS_VAL_SANS_SERIF}, #line 32 "cssvalues.gperf" {"status-bar", CSS_VAL_STATUS_BAR}, #line 65 "cssvalues.gperf" {"semi-expanded", CSS_VAL_SEMI_EXPANDED}, #line 230 "cssvalues.gperf" {"pre-line", CSS_VAL_PRE_LINE}, #line 237 "cssvalues.gperf" {"bidi-override", CSS_VAL_BIDI_OVERRIDE}, #line 62 "cssvalues.gperf" {"extra-condensed", CSS_VAL_EXTRA_CONDENSED}, #line 95 "cssvalues.gperf" {"activecaption", CSS_VAL_ACTIVECAPTION}, #line 198 "cssvalues.gperf" {"table-caption", CSS_VAL_TABLE_CAPTION}, #line 154 "cssvalues.gperf" {"-khtml-lao", CSS_VAL__KHTML_LAO}, #line 143 "cssvalues.gperf" {"-khtml-center", CSS_VAL__KHTML_CENTER}, #line 54 "cssvalues.gperf" {"x-large", CSS_VAL_X_LARGE}, #line 30 "cssvalues.gperf" {"message-box", CSS_VAL_MESSAGE_BOX}, #line 203 "cssvalues.gperf" {"progress", CSS_VAL_PROGRESS}, #line 177 "cssvalues.gperf" {"hiragana", CSS_VAL_HIRAGANA}, #line 171 "cssvalues.gperf" {"lower-greek", CSS_VAL_LOWER_GREEK}, #line 150 "cssvalues.gperf" {"-khtml-diamond", CSS_VAL__KHTML_DIAMOND}, #line 141 "cssvalues.gperf" {"-khtml-left", CSS_VAL__KHTML_LEFT}, #line 61 "cssvalues.gperf" {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED}, #line 158 "cssvalues.gperf" {"-khtml-tibetan", CSS_VAL__KHTML_TIBETAN}, #line 124 "cssvalues.gperf" {"repeat-x", CSS_VAL_REPEAT_X}, #line 265 "cssvalues.gperf" {"-khtml-normal", CSS_VAL__KHTML_NORMAL}, #line 113 "cssvalues.gperf" {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW}, #line 219 "cssvalues.gperf" {"uppercase", CSS_VAL_UPPERCASE}, #line 125 "cssvalues.gperf" {"repeat-y", CSS_VAL_REPEAT_Y}, #line 136 "cssvalues.gperf" {"-khtml-auto", CSS_VAL__KHTML_AUTO}, #line 163 "cssvalues.gperf" {"georgian", CSS_VAL_GEORGIAN}, #line 109 "cssvalues.gperf" {"infobackground", CSS_VAL_INFOBACKGROUND}, #line 16 "cssvalues.gperf" {"-khtml-native", CSS_VAL__KHTML_NATIVE}, #line 157 "cssvalues.gperf" {"-khtml-thai", CSS_VAL__KHTML_THAI}, #line 224 "cssvalues.gperf" {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE}, #line 173 "cssvalues.gperf" {"lower-alpha", CSS_VAL_LOWER_ALPHA}, #line 156 "cssvalues.gperf" {"-khtml-urdu", CSS_VAL__KHTML_URDU}, #line 223 "cssvalues.gperf" {"close-quote", CSS_VAL_CLOSE_QUOTE}, #line 104 "cssvalues.gperf" {"highlight", CSS_VAL_HIGHLIGHT}, #line 231 "cssvalues.gperf" {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP}, #line 67 "cssvalues.gperf" {"extra-expanded", CSS_VAL_EXTRA_EXPANDED}, #line 105 "cssvalues.gperf" {"highlighttext", CSS_VAL_HIGHLIGHTTEXT}, #line 155 "cssvalues.gperf" {"-khtml-persian", CSS_VAL__KHTML_PERSIAN}, #line 116 "cssvalues.gperf" {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW}, #line 229 "cssvalues.gperf" {"pre-wrap", CSS_VAL_PRE_WRAP}, #line 96 "cssvalues.gperf" {"appworkspace", CSS_VAL_APPWORKSPACE}, #line 226 "cssvalues.gperf" {"open-quote", CSS_VAL_OPEN_QUOTE}, #line 68 "cssvalues.gperf" {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED}, #line 176 "cssvalues.gperf" {"upper-latin", CSS_VAL_UPPER_LATIN}, #line 225 "cssvalues.gperf" {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE}, #line 250 "cssvalues.gperf" {"line-through", CSS_VAL_LINE_THROUGH}, #line 142 "cssvalues.gperf" {"-khtml-right", CSS_VAL__KHTML_RIGHT}, #line 164 "cssvalues.gperf" {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC}, #line 160 "cssvalues.gperf" {"upper-roman", CSS_VAL_UPPER_ROMAN}, #line 135 "cssvalues.gperf" {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE}, #line 153 "cssvalues.gperf" {"-khtml-arabic-indic", CSS_VAL__KHTML_ARABIC_INDIC}, #line 152 "cssvalues.gperf" {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO}, #line 115 "cssvalues.gperf" {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT}, #line 180 "cssvalues.gperf" {"katakana-iroha", CSS_VAL_KATAKANA_IROHA}, #line 99 "cssvalues.gperf" {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT}, #line 56 "cssvalues.gperf" {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE}, #line 191 "cssvalues.gperf" {"table-row-group", CSS_VAL_TABLE_ROW_GROUP}, #line 182 "cssvalues.gperf" {"-khtml-close-quote", CSS_VAL__KHTML_CLOSE_QUOTE}, #line 179 "cssvalues.gperf" {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA}, #line 195 "cssvalues.gperf" {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP}, #line 266 "cssvalues.gperf" {"-khtml-around-floats", CSS_VAL__KHTML_AROUND_FLOATS}, #line 175 "cssvalues.gperf" {"upper-alpha", CSS_VAL_UPPER_ALPHA}, #line 181 "cssvalues.gperf" {"-khtml-open-quote", CSS_VAL__KHTML_OPEN_QUOTE}, #line 193 "cssvalues.gperf" {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP}, #line 192 "cssvalues.gperf" {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP}, #line 165 "cssvalues.gperf" {"-khtml-japanese-formal", CSS_VAL__KHTML_JAPANESE_FORMAL}, #line 166 "cssvalues.gperf" {"-khtml-japanese-informal", CSS_VAL__KHTML_JAPANESE_INFORMAL}, #line 172 "cssvalues.gperf" {"-khtml-upper-greek", CSS_VAL__KHTML_UPPER_GREEK}, #line 169 "cssvalues.gperf" {"-khtml-trad-chinese-formal", CSS_VAL__KHTML_TRAD_CHINESE_FORMAL}, #line 170 "cssvalues.gperf" {"-khtml-trad-chinese-informal", CSS_VAL__KHTML_TRAD_CHINESE_INFORMAL}, #line 167 "cssvalues.gperf" {"-khtml-simp-chinese-formal", CSS_VAL__KHTML_SIMP_CHINESE_FORMAL}, #line 168 "cssvalues.gperf" {"-khtml-simp-chinese-informal", CSS_VAL__KHTML_SIMP_CHINESE_INFORMAL} }; static const short lookup[] = { 0, -1, -1, -1, -1, 1, -1, -1, -1, -1, 2, -1, -1, -1, -1, 3, -1, -1, -1, -1, 4, -1, -1, -1, -1, 5, -1, -1, 6, -1, 7, -1, -1, -1, -1, 8, -1, -1, -1, -1, 9, -1, -1, -1, -1, 10, -1, -1, -1, -1, 11, -1, -1, -1, -1, 12, -1, -1, -1, -1, 13, 14, -1, -1, -1, 15, -1, -1, -1, -1, 16, -1, -1, -1, -1, 17, -1, -1, -1, -1, 18, -1, -1, -1, -1, 19, -1, -1, -1, -1, 20, -1, -1, -1, -1, 21, -1, -1, 22, -1, 23, -1, -1, 24, -1, 25, -1, -1, 26, -1, 27, -1, -1, -1, -1, 28, -1, -1, -1, 29, 30, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, 34, -1, -1, -1, -1, 35, -1, -1, 36, -1, -1, -1, -1, 37, -1, 38, -1, -1, -1, -1, 39, 40, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, 44, -1, 45, -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, -1, 49, -1, -1, -1, -1, 50, -1, -1, 51, -1, 52, -1, -1, -1, -1, -1, -1, -1, 53, -1, 54, -1, -1, -1, -1, -1, 55, -1, -1, -1, 56, -1, -1, -1, -1, 57, -1, -1, -1, -1, 58, -1, -1, 59, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, 62, -1, 63, -1, -1, 64, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 68, -1, 69, -1, -1, -1, -1, 70, -1, -1, 71, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, 75, -1, -1, 76, -1, -1, -1, -1, 77, -1, -1, -1, -1, 78, -1, 79, -1, -1, -1, -1, 80, 81, -1, 82, -1, 83, -1, -1, 84, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 88, -1, 89, -1, -1, -1, -1, 90, -1, -1, -1, -1, 91, 92, -1, -1, -1, 93, 94, -1, 95, -1, 96, -1, -1, 97, -1, -1, -1, -1, 98, -1, 99, 100, -1, 101, -1, 102, -1, -1, -1, -1, 103, -1, -1, 104, -1, 105, -1, -1, -1, -1, -1, -1, -1, 106, -1, 107, -1, -1, -1, -1, 108, -1, -1, -1, -1, 109, -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 112, -1, -1, 113, -1, -1, -1, -1, -1, -1, 114, -1, -1, -1, -1, 115, -1, -1, 116, -1, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, 119, -1, -1, -1, -1, 120, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, -1, 123, -1, 124, -1, -1, -1, -1, 125, -1, -1, 126, -1, 127, -1, -1, -1, -1, 128, -1, -1, 129, -1, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, 132, -1, 133, -1, -1, 134, -1, 135, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 137, -1, -1, -1, 138, -1, -1, 139, -1, -1, -1, -1, 140, -1, 141, -1, -1, -1, -1, 142, -1, -1, 143, -1, 144, 145, -1, -1, -1, 146, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, -1, -1, -1, 151, -1, 152, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, 157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 160, -1, 161, -1, -1, 162, -1, -1, -1, -1, 163, -1, -1, -1, -1, 164, -1, 165, -1, -1, -1, -1, -1, -1, -1, 166, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 168, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1, -1, -1, -1, -1, -1, -1, 171, -1, 172, -1, -1, -1, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, 176, -1, -1, -1, -1, 177, -1, -1, -1, -1, 178, -1, -1, -1, -1, 179, -1, -1, -1, -1, 180, -1, -1, -1, -1, 181, -1, -1, 182, -1, 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, -1, -1, -1, -1, 189, -1, -1, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, -1, 192, -1, -1, -1, -1, -1, -1, -1, -1, -1, 193, -1, -1, -1, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, -1, 197, -1, -1, -1, -1, 198, -1, -1, 199, -1, 200, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, 202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, -1, -1, 204, -1, -1, -1, -1, -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, 206, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 207, -1, -1, -1, -1, 208, -1, 209, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, -1, 214, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, 216, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, -1, -1, -1, 219, -1, -1, -1, -1, 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, -1, -1, -1, 222, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 225, -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, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, -1, 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 232, -1, 233, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, 236, -1, -1, 237, -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, 239, -1, -1, -1, -1, -1, -1, -1, 240, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 245, -1, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 249, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, 253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 267, -1, -1, -1, -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 270, -1, -1, -1, -1, 271, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 272, -1, -1, -1, -1, 273 }; 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 && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') return &wordlist_value[index]; } } } return 0; }