webengine/osswebengine/DerivedSources/WebCore/CSSPropertyNames.c
changeset 0 dd21522fd290
child 26 cb62a4f66ebe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/DerivedSources/WebCore/CSSPropertyNames.c	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,774 @@
+/* ANSI-C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -a -L ANSI-C -E -C -c -o -t -k '*' -NfindProp -Hhash_prop -Wwordlist_prop -D -s 2 CSSPropertyNames.gperf  */
+/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */
+#include "CSSPropertyNames.h"
+struct props {
+    const char* name;
+    int id;
+};
+/* maximum key range = 1712, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+hash_prop (register const char *str, register unsigned int len)
+{
+  static const unsigned short asso_values[] =
+    {
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715,    0, 1715, 1715, 1715, 1715,
+      1715,    0, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715,   30,    0,    0,
+       285,    0,  305,   50,  180,    0,    0,  340,    0,  180,
+        75,    0,    0,   40,    0,   20,    0,   65,   10,    0,
+       245,  315,    5, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+      1715, 1715, 1715, 1715, 1715, 1715
+    };
+  register int hval = len;
+
+  switch (hval)
+    {
+      default:
+      case 43:
+        hval += asso_values[(unsigned char)str[42]];
+      case 42:
+        hval += asso_values[(unsigned char)str[41]];
+      case 41:
+        hval += asso_values[(unsigned char)str[40]];
+      case 40:
+        hval += asso_values[(unsigned char)str[39]];
+      case 39:
+        hval += asso_values[(unsigned char)str[38]];
+      case 38:
+        hval += asso_values[(unsigned char)str[37]];
+      case 37:
+        hval += asso_values[(unsigned char)str[36]];
+      case 36:
+        hval += asso_values[(unsigned char)str[35]];
+      case 35:
+        hval += asso_values[(unsigned char)str[34]];
+      case 34:
+        hval += asso_values[(unsigned char)str[33]];
+      case 33:
+        hval += asso_values[(unsigned char)str[32]];
+      case 32:
+        hval += asso_values[(unsigned char)str[31]];
+      case 31:
+        hval += asso_values[(unsigned char)str[30]];
+      case 30:
+        hval += asso_values[(unsigned char)str[29]];
+      case 29:
+        hval += asso_values[(unsigned char)str[28]];
+      case 28:
+        hval += asso_values[(unsigned char)str[27]];
+      case 27:
+        hval += asso_values[(unsigned char)str[26]];
+      case 26:
+        hval += asso_values[(unsigned char)str[25]];
+      case 25:
+        hval += asso_values[(unsigned char)str[24]];
+      case 24:
+        hval += asso_values[(unsigned char)str[23]];
+      case 23:
+        hval += asso_values[(unsigned char)str[22]];
+      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 props *
+findProp (register const char *str, register unsigned int len)
+{
+  enum
+    {
+      TOTAL_KEYWORDS = 202,
+      MIN_WORD_LENGTH = 3,
+      MAX_WORD_LENGTH = 43,
+      MIN_HASH_VALUE = 3,
+      MAX_HASH_VALUE = 1714
+    };
+
+  static const struct props wordlist_prop[] =
+    {
+      {"top", CSS_PROP_TOP},
+      {"clip", CSS_PROP_CLIP},
+      {"color", CSS_PROP_COLOR},
+      {"size", CSS_PROP_SIZE},
+      {"resize", CSS_PROP_RESIZE},
+      {"clear", CSS_PROP_CLEAR},
+      {"page", CSS_PROP_PAGE},
+      {"cursor", CSS_PROP_CURSOR},
+      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
+      {"position", CSS_PROP_POSITION},
+      {"quotes", CSS_PROP_QUOTES},
+      {"outline", CSS_PROP_OUTLINE},
+      {"outline-color", CSS_PROP_OUTLINE_COLOR},
+      {"content", CSS_PROP_CONTENT},
+      {"counter-reset", CSS_PROP_COUNTER_RESET},
+      {"bottom", CSS_PROP_BOTTOM},
+      {"letter-spacing", CSS_PROP_LETTER_SPACING},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"right", CSS_PROP_RIGHT},
+      {"white-space", CSS_PROP_WHITE_SPACE},
+      {"border", CSS_PROP_BORDER},
+      {"border-top", CSS_PROP_BORDER_TOP},
+      {"border-color", CSS_PROP_BORDER_COLOR},
+      {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
+      {"left", CSS_PROP_LEFT},
+      {"widows", CSS_PROP_WIDOWS},
+      {"orphans", CSS_PROP_ORPHANS},
+      {"overflow", CSS_PROP_OVERFLOW},
+      {"word-wrap", CSS_PROP_WORD_WRAP},
+      {"float", CSS_PROP_FLOAT},
+      {"margin", CSS_PROP_MARGIN},
+      {"text-overline", CSS_PROP_TEXT_OVERLINE},
+      {"margin-top", CSS_PROP_MARGIN_TOP},
+      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
+      {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
+      {"opacity", CSS_PROP_OPACITY},
+      {"visibility", CSS_PROP_VISIBILITY},
+      {"-wap-marquee-loop", CSS_PROP__WAP_MARQUEE_LOOP},
+      {"list-style", CSS_PROP_LIST_STYLE},
+      {"direction", CSS_PROP_DIRECTION},
+      {"font", CSS_PROP_FONT},
+      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+      {"text-align", CSS_PROP_TEXT_ALIGN},
+      {"font-size", CSS_PROP_FONT_SIZE},
+      {"height", CSS_PROP_HEIGHT},
+      {"caption-side", CSS_PROP_CAPTION_SIDE},
+      {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
+      {"table-layout", CSS_PROP_TABLE_LAYOUT},
+      {"-webkit-user-select", CSS_PROP__WEBKIT_USER_SELECT},
+      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
+      {"width", CSS_PROP_WIDTH},
+      {"word-spacing", CSS_PROP_WORD_SPACING},
+      {"border-spacing", CSS_PROP_BORDER_SPACING},
+      {"border-bottom", CSS_PROP_BORDER_BOTTOM},
+      {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
+      {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
+      {"outline-style", CSS_PROP_OUTLINE_STYLE},
+      {"line-height", CSS_PROP_LINE_HEIGHT},
+      {"-webkit-appearance", CSS_PROP__WEBKIT_APPEARANCE},
+      {"empty-cells", CSS_PROP_EMPTY_CELLS},
+      {"border-right", CSS_PROP_BORDER_RIGHT},
+      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
+      {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
+      {"font-variant", CSS_PROP_FONT_VARIANT},
+      {"overflow-x", CSS_PROP_OVERFLOW_X},
+      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
+      {"margin-right", CSS_PROP_MARGIN_RIGHT},
+      {"-wap-input-required", CSS_PROP__WAP_INPUT_REQUIRED},
+      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
+      {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
+      {"font-stretch", CSS_PROP_FONT_STRETCH},
+      {"border-left", CSS_PROP_BORDER_LEFT},
+      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
+      {"z-index", CSS_PROP_Z_INDEX},
+      {"outline-width", CSS_PROP_OUTLINE_WIDTH},
+      {"font-weight", CSS_PROP_FONT_WEIGHT},
+      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
+      {"border-style", CSS_PROP_BORDER_STYLE},
+      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
+      {"overflow-y", CSS_PROP_OVERFLOW_Y},
+      {"-webkit-line-clamp", CSS_PROP__WEBKIT_LINE_CLAMP},
+      {"-wap-marquee-dir", CSS_PROP__WAP_MARQUEE_DIR},
+      {"text-decoration", CSS_PROP_TEXT_DECORATION},
+      {"margin-left", CSS_PROP_MARGIN_LEFT},
+      {"display", CSS_PROP_DISPLAY},
+      {"word-break", CSS_PROP_WORD_BREAK},
+      {"-wap-marquee-speed", CSS_PROP__WAP_MARQUEE_SPEED},
+      {"-webkit-marquee", CSS_PROP__WEBKIT_MARQUEE},
+      {"min-height", CSS_PROP_MIN_HEIGHT},
+      {"-webkit-box-orient", CSS_PROP__WEBKIT_BOX_ORIENT},
+      {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"text-indent", CSS_PROP_TEXT_INDENT},
+      {"-webkit-columns", CSS_PROP__WEBKIT_COLUMNS},
+      {"-webkit-box-lines", CSS_PROP__WEBKIT_BOX_LINES},
+      {"-wap-marquee-style", CSS_PROP__WAP_MARQUEE_STYLE},
+      {"-wap-input-format", CSS_PROP__WAP_INPUT_FORMAT},
+      {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
+      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
+      {"font-style", CSS_PROP_FONT_STYLE},
+      {"min-width", CSS_PROP_MIN_WIDTH},
+      {"padding", CSS_PROP_PADDING},
+      {"padding-top", CSS_PROP_PADDING_TOP},
+      {"-webkit-column-rule", CSS_PROP__WEBKIT_COLUMN_RULE},
+      {"-webkit-margin-start", CSS_PROP__WEBKIT_MARGIN_START},
+      {"-webkit-margin-collapse", CSS_PROP__WEBKIT_MARGIN_COLLAPSE},
+      {"-webkit-column-rule-color", CSS_PROP__WEBKIT_COLUMN_RULE_COLOR},
+      {"-webkit-margin-top-collapse", CSS_PROP__WEBKIT_MARGIN_TOP_COLLAPSE},
+      {"-webkit-box-sizing", CSS_PROP__WEBKIT_BOX_SIZING},
+      {"-webkit-marquee-repetition", CSS_PROP__WEBKIT_MARQUEE_REPETITION},
+      {"-webkit-box-align", CSS_PROP__WEBKIT_BOX_ALIGN},
+      {"-webkit-column-gap", CSS_PROP__WEBKIT_COLUMN_GAP},
+      {"text-underline", CSS_PROP_TEXT_UNDERLINE},
+      {"border-width", CSS_PROP_BORDER_WIDTH},
+      {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
+      {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
+      {"-webkit-rtl-ordering", CSS_PROP__WEBKIT_RTL_ORDERING},
+      {"text-shadow", CSS_PROP_TEXT_SHADOW},
+      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
+      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
+      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+      {"-webkit-line-break", CSS_PROP__WEBKIT_LINE_BREAK},
+      {"-webkit-user-drag", CSS_PROP__WEBKIT_USER_DRAG},
+      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
+      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
+      {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
+      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
+      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
+      {"-webkit-column-count", CSS_PROP__WEBKIT_COLUMN_COUNT},
+      {"-webkit-binding", CSS_PROP__WEBKIT_BINDING},
+      {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
+      {"background", CSS_PROP_BACKGROUND},
+      {"background-color", CSS_PROP_BACKGROUND_COLOR},
+      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
+      {"text-transform", CSS_PROP_TEXT_TRANSFORM},
+      {"-webkit-border-vertical-spacing", CSS_PROP__WEBKIT_BORDER_VERTICAL_SPACING},
+      {"max-height", CSS_PROP_MAX_HEIGHT},
+      {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
+      {"-webkit-border-image", CSS_PROP__WEBKIT_BORDER_IMAGE},
+      {"-webkit-text-fill-color", CSS_PROP__WEBKIT_TEXT_FILL_COLOR},
+      {"-webkit-nbsp-mode", CSS_PROP__WEBKIT_NBSP_MODE},
+      {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
+      {"max-width", CSS_PROP_MAX_WIDTH},
+      {"-webkit-margin-bottom-collapse", CSS_PROP__WEBKIT_MARGIN_BOTTOM_COLLAPSE},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"-webkit-border-fit", CSS_PROP__WEBKIT_BORDER_FIT},
+      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
+      {"background-position", CSS_PROP_BACKGROUND_POSITION},
+      {"-webkit-text-stroke", CSS_PROP__WEBKIT_TEXT_STROKE},
+      {"-webkit-box-direction", CSS_PROP__WEBKIT_BOX_DIRECTION},
+      {"padding-right", CSS_PROP_PADDING_RIGHT},
+      {"-webkit-text-stroke-color", CSS_PROP__WEBKIT_TEXT_STROKE_COLOR},
+      {"-webkit-box-pack", CSS_PROP__WEBKIT_BOX_PACK},
+      {"-webkit-marquee-speed", CSS_PROP__WEBKIT_MARQUEE_SPEED},
+      {"-webkit-highlight", CSS_PROP__WEBKIT_HIGHLIGHT},
+      {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
+      {"-webkit-text-security", CSS_PROP__WEBKIT_TEXT_SECURITY},
+      {"-webkit-marquee-increment", CSS_PROP__WEBKIT_MARQUEE_INCREMENT},
+      {"-webkit-marquee-style", CSS_PROP__WEBKIT_MARQUEE_STYLE},
+      {"-webkit-text-size-adjust", CSS_PROP__WEBKIT_TEXT_SIZE_ADJUST},
+      {"-webkit-marquee-direction", CSS_PROP__WEBKIT_MARQUEE_DIRECTION},
+      {"padding-left", CSS_PROP_PADDING_LEFT},
+      {"-webkit-border-radius", CSS_PROP__WEBKIT_BORDER_RADIUS},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+      {"-webkit-font-size-delta", CSS_PROP__WEBKIT_FONT_SIZE_DELTA},
+      {"-webkit-column-rule-style", CSS_PROP__WEBKIT_COLUMN_RULE_STYLE},
+      {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
+      {"-webkit-box-ordinal-group", CSS_PROP__WEBKIT_BOX_ORDINAL_GROUP},
+      {"-webkit-box-shadow", CSS_PROP__WEBKIT_BOX_SHADOW},
+      {"background-image", CSS_PROP_BACKGROUND_IMAGE},
+      {"-webkit-border-horizontal-spacing", CSS_PROP__WEBKIT_BORDER_HORIZONTAL_SPACING},
+      {"-webkit-padding-start", CSS_PROP__WEBKIT_PADDING_START},
+      {"-webkit-column-width", CSS_PROP__WEBKIT_COLUMN_WIDTH},
+      {"-webkit-box-flex", CSS_PROP__WEBKIT_BOX_FLEX},
+      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
+      {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
+      {"-webkit-background-clip", CSS_PROP__WEBKIT_BACKGROUND_CLIP},
+      {"-webkit-column-rule-width", CSS_PROP__WEBKIT_COLUMN_RULE_WIDTH},
+      {"font-family", CSS_PROP_FONT_FAMILY},
+      {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
+      {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
+      {"-webkit-background-size", CSS_PROP__WEBKIT_BACKGROUND_SIZE},
+      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
+      {"-webkit-box-flex-group", CSS_PROP__WEBKIT_BOX_FLEX_GROUP},
+      {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
+      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
+      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
+      {"-webkit-border-top-right-radius", CSS_PROP__WEBKIT_BORDER_TOP_RIGHT_RADIUS},
+      {"-webkit-dashboard-region", CSS_PROP__WEBKIT_DASHBOARD_REGION},
+      {"-webkit-background-origin", CSS_PROP__WEBKIT_BACKGROUND_ORIGIN},
+      {"-webkit-border-top-left-radius", CSS_PROP__WEBKIT_BORDER_TOP_LEFT_RADIUS},
+      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
+      {"-webkit-column-break-before", CSS_PROP__WEBKIT_COLUMN_BREAK_BEFORE},
+      {"-webkit-column-break-after", CSS_PROP__WEBKIT_COLUMN_BREAK_AFTER},
+      {"-webkit-background-composite", CSS_PROP__WEBKIT_BACKGROUND_COMPOSITE},
+      {"-webkit-text-stroke-width", CSS_PROP__WEBKIT_TEXT_STROKE_WIDTH},
+      {"-webkit-column-break-inside", CSS_PROP__WEBKIT_COLUMN_BREAK_INSIDE},
+      {"-webkit-border-bottom-right-radius", CSS_PROP__WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS},
+      {"-webkit-user-modify", CSS_PROP__WEBKIT_USER_MODIFY},
+      {"-webkit-border-bottom-left-radius", CSS_PROP__WEBKIT_BORDER_BOTTOM_LEFT_RADIUS},
+      {"-webkit-match-nearest-mail-blockquote-color", CSS_PROP__WEBKIT_MATCH_NEAREST_MAIL_BLOCKQUOTE_COLOR},
+      {"-webkit-text-decorations-in-effect", CSS_PROP__WEBKIT_TEXT_DECORATIONS_IN_EFFECT}
+    };
+
+  static const short lookup[] =
+    {
+       -1,  -1,  -1,   0,   1,   2,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   3,
+       -1,   4,  -1,  -1,  -1,   5,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,   6,  -1,  -1,  -1,  -1,  -1,
+       -1,   7,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,   8,  -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,  -1,  -1,
+       -1,  10,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  11,  -1,  -1,
+       -1,  -1,  -1,  12,  -1,  -1,  -1,  13,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  14,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  15,  -1,  -1,  16,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  17,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  18,  -1,  -1,  -1,  -1,
+       -1,  19,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  20,  -1,  -1,  -1,  21,  -1,  22,  -1,  -1,
+       -1,  23,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  24,
+       -1,  25,  26,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  27,  28,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       29,  30,  -1,  31,  -1,  32,  -1,  -1,  -1,  33,
+       34,  -1,  35,  -1,  -1,  36,  -1,  -1,  -1,  -1,
+       -1,  -1,  37,  -1,  -1,  38,  -1,  -1,  -1,  39,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  40,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  41,  -1,  -1,  -1,  -1,
+       42,  -1,  -1,  -1,  43,  -1,  44,  -1,  -1,  -1,
+       -1,  -1,  45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  46,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  47,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  48,  -1,  -1,  -1,  -1,  49,
+       50,  -1,  51,  -1,  52,  -1,  -1,  -1,  53,  -1,
+       -1,  -1,  -1,  -1,  54,  -1,  -1,  55,  56,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  57,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  58,  -1,  -1,  59,  60,  61,  -1,
+       -1,  -1,  -1,  62,  -1,  -1,  -1,  63,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       64,  -1,  -1,  65,  -1,  -1,  -1,  66,  -1,  67,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  68,  69,  -1,
+       -1,  -1,  70,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  71,  -1,  -1,  -1,  -1,  -1,  72,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  73,  74,  -1,
+       -1,  75,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  76,  77,  -1,  -1,  -1,  78,  -1,  -1,  -1,
+       79,  -1,  -1,  80,  -1,  -1,  81,  -1,  -1,  -1,
+       82,  83,  -1,  -1,  -1,  -1,  -1,  84,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  85,  -1,  -1,  86,  -1,
+       87,  -1,  -1,  -1,  -1,  88,  -1,  -1,  89,  -1,
+       -1,  -1,  -1,  -1,  90,  91,  -1,  -1,  -1,  -1,
+       -1,  92,  -1,  -1,  -1,  93,  -1,  94,  95,  -1,
+       -1,  -1,  96,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  97,  -1,  -1,  -1,  -1,
+       -1,  -1,  98,  -1,  -1,  99,  -1,  -1,  -1, 100,
+       -1,  -1, 101,  -1,  -1,  -1, 102,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 103, 104,  -1,  -1, 105,  -1,
+      106,  -1, 107, 108,  -1,  -1, 109, 110, 111, 112,
+       -1,  -1, 113,  -1,  -1, 114, 115,  -1,  -1,  -1,
+      116, 117, 118,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 119,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 120,  -1, 121,  -1,  -1,  -1, 122,  -1,  -1,
+       -1,  -1, 123, 124, 125,  -1,  -1,  -1, 126, 127,
+      128,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      129,  -1,  -1,  -1,  -1,  -1,  -1, 130,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 131,  -1,  -1,  -1,  -1,
+       -1, 132,  -1,  -1,  -1,  -1,  -1,  -1, 133, 134,
+       -1, 135,  -1,  -1,  -1, 136,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 137,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 138,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 139,  -1,  -1,  -1, 140,  -1, 141,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 142,
+       -1,  -1,  -1,  -1,  -1, 143,  -1,  -1,  -1,  -1,
+       -1,  -1, 144,  -1,  -1,  -1,  -1,  -1, 145, 146,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 147,
+       -1,  -1,  -1,  -1, 148,  -1, 149,  -1, 150,  -1,
+      151, 152,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 153,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 154, 155,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 156,  -1,  -1,  -1,
+      157, 158,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 159,  -1,  -1,  -1,  -1,  -1,
+      160,  -1, 161,  -1,  -1,  -1, 162,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 163,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 164,  -1, 165,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      166,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 167,  -1,  -1, 168,  -1,
+       -1, 169,  -1, 170,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 171,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 172,  -1,  -1,  -1,  -1,
+       -1, 173,  -1, 174,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 175,  -1, 176,  -1,
+       -1,  -1,  -1,  -1,  -1, 177,  -1,  -1,  -1,  -1,
+       -1, 178,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 179,
+      180,  -1,  -1, 181,  -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,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 183,  -1,  -1,  -1, 184,  -1,  -1,  -1,
+       -1,  -1, 185, 186,  -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,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 188,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 189,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      190, 191, 192,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 193,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 194,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 195,  -1, 196,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 197,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 198,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 199,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 200,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 201
+    };
+
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = hash_prop (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int index = lookup[key];
+
+          if (index >= 0)
+            {
+              register const char *s = wordlist_prop[index].name;
+
+              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+                return &wordlist_prop[index];
+            }
+        }
+    }
+  return 0;
+}
+static const char * const propertyList[] = {
+"",
+"background", 
+"background-attachment", 
+"background-color", 
+"background-image", 
+"background-position", 
+"background-position-x", 
+"background-position-y", 
+"background-repeat", 
+"border", 
+"border-bottom", 
+"border-bottom-color", 
+"border-bottom-style", 
+"border-bottom-width", 
+"border-collapse", 
+"border-color", 
+"border-left", 
+"border-left-color", 
+"border-left-style", 
+"border-left-width", 
+"border-right", 
+"border-right-color", 
+"border-right-style", 
+"border-right-width", 
+"border-spacing", 
+"border-style", 
+"border-top", 
+"border-top-color", 
+"border-top-style", 
+"border-top-width", 
+"border-width", 
+"bottom", 
+"caption-side", 
+"clear", 
+"clip", 
+"color", 
+"content", 
+"counter-increment", 
+"counter-reset", 
+"cursor", 
+"direction", 
+"display", 
+"empty-cells", 
+"float", 
+"font", 
+"font-family", 
+"font-size", 
+"font-stretch", 
+"font-style", 
+"font-variant", 
+"font-weight", 
+"height", 
+"left", 
+"letter-spacing", 
+"line-height", 
+"list-style", 
+"list-style-image", 
+"list-style-position", 
+"list-style-type", 
+"margin", 
+"margin-bottom", 
+"margin-left", 
+"margin-right", 
+"margin-top", 
+"max-height", 
+"max-width", 
+"min-height", 
+"min-width", 
+"opacity", 
+"orphans", 
+"outline", 
+"outline-color", 
+"outline-offset", 
+"outline-style", 
+"outline-width", 
+"overflow", 
+"overflow-x", 
+"overflow-y", 
+"padding", 
+"padding-bottom", 
+"padding-left", 
+"padding-right", 
+"padding-top", 
+"page", 
+"page-break-after", 
+"page-break-before", 
+"page-break-inside", 
+"position", 
+"quotes", 
+"resize", 
+"right", 
+"scrollbar-3dlight-color", 
+"scrollbar-arrow-color", 
+"scrollbar-darkshadow-color", 
+"scrollbar-face-color", 
+"scrollbar-highlight-color", 
+"scrollbar-shadow-color", 
+"scrollbar-track-color", 
+"size", 
+"table-layout", 
+"text-align", 
+"text-decoration", 
+"text-indent", 
+"text-line-through", 
+"text-line-through-color", 
+"text-line-through-mode", 
+"text-line-through-style", 
+"text-line-through-width", 
+"text-overflow", 
+"text-overline", 
+"text-overline-color", 
+"text-overline-mode", 
+"text-overline-style", 
+"text-overline-width", 
+"text-shadow", 
+"text-transform", 
+"text-underline", 
+"text-underline-color", 
+"text-underline-mode", 
+"text-underline-style", 
+"text-underline-width", 
+"top", 
+"unicode-bidi", 
+"vertical-align", 
+"visibility", 
+"white-space", 
+"widows", 
+"width", 
+"word-break", 
+"word-spacing", 
+"word-wrap", 
+"z-index", 
+"-webkit-appearance", 
+"-webkit-background-clip", 
+"-webkit-background-composite", 
+"-webkit-background-origin", 
+"-webkit-background-size", 
+"-webkit-binding", 
+"-webkit-border-bottom-left-radius", 
+"-webkit-border-bottom-right-radius", 
+"-webkit-border-fit", 
+"-webkit-border-horizontal-spacing", 
+"-webkit-border-image", 
+"-webkit-border-radius", 
+"-webkit-border-top-left-radius", 
+"-webkit-border-top-right-radius", 
+"-webkit-border-vertical-spacing", 
+"-webkit-box-align", 
+"-webkit-box-direction", 
+"-webkit-box-flex", 
+"-webkit-box-flex-group", 
+"-webkit-box-lines", 
+"-webkit-box-ordinal-group", 
+"-webkit-box-orient", 
+"-webkit-box-pack", 
+"-webkit-box-shadow", 
+"-webkit-box-sizing", 
+"-webkit-column-break-after", 
+"-webkit-column-break-before", 
+"-webkit-column-break-inside", 
+"-webkit-column-count", 
+"-webkit-column-gap", 
+"-webkit-column-rule", 
+"-webkit-column-rule-color", 
+"-webkit-column-rule-style", 
+"-webkit-column-rule-width", 
+"-webkit-column-width", 
+"-webkit-columns", 
+"-webkit-dashboard-region", 
+"-webkit-font-size-delta", 
+"-webkit-highlight", 
+"-webkit-line-break", 
+"-webkit-line-clamp", 
+"-webkit-margin-bottom-collapse", 
+"-webkit-margin-collapse", 
+"-webkit-margin-start", 
+"-webkit-margin-top-collapse", 
+"-webkit-marquee", 
+"-webkit-marquee-direction", 
+"-webkit-marquee-increment", 
+"-webkit-marquee-repetition", 
+"-webkit-marquee-speed", 
+"-webkit-marquee-style", 
+"-webkit-match-nearest-mail-blockquote-color", 
+"-webkit-nbsp-mode", 
+"-webkit-padding-start", 
+"-webkit-rtl-ordering", 
+"-webkit-text-decorations-in-effect", 
+"-webkit-text-fill-color", 
+"-webkit-text-security", 
+"-webkit-text-size-adjust", 
+"-webkit-text-stroke", 
+"-webkit-text-stroke-color", 
+"-webkit-text-stroke-width", 
+"-webkit-user-drag", 
+"-webkit-user-modify", 
+"-webkit-user-select", 
+"-wap-marquee-style", 
+"-wap-marquee-loop", 
+"-wap-marquee-dir", 
+"-wap-marquee-speed", 
+"-wap-input-format", 
+"-wap-input-required", 
+    0
+};
+const char* getPropertyName(CSSPropertyID id)
+{
+    if (id >= numCSSProperties || id <= 0)
+        return 0;
+    return propertyList[id];
+}
+