8d5b8de8240d537be87a4b96f1f8f60e31c09ccc
[WebKit-https.git] / Source / WebCore / inspector / front-end / SourceCSSTokenizer.js
1 /* Generated by re2c 0.13.5 on Mon Jul  9 19:31:30 2012 */
2 /*
3  * Copyright (C) 2009 Google Inc. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  *     * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *     * Redistributions in binary form must reproduce the above
12  * copyright notice, this list of conditions and the following disclaimer
13  * in the documentation and/or other materials provided with the
14  * distribution.
15  *     * Neither the name of Google Inc. nor the names of its
16  * contributors may be used to endorse or promote products derived from
17  * this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */
31
32 // Generate js file as follows:
33
34 /*
35 re2c -isc Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js \
36   | sed 's|^yy\([^:]*\)*\:|case \1:|' \
37   | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
38   | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
39   | sed 's|[*]cursor|this._charAt(cursor)|' \
40   | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
41   | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
42   | sed 's|yych <= \(0x[0-9a-fA-F]*\)|yych \<\= String.fromCharCode(\1)|' \
43   | sed 's|unsigned\ int|var|' \
44   | sed 's|var\ yych|case 1: case 1: var yych|' > Source/WebCore/inspector/front-end/SourceCSSTokenizer.js
45 */
46
47 /**
48  * @constructor
49  * @extends {WebInspector.SourceTokenizer}
50  */
51 WebInspector.SourceCSSTokenizer = function()
52 {
53     WebInspector.SourceTokenizer.call(this);
54
55     this._propertyKeywords = WebInspector.CSSCompletions.cssPropertiesMetainfo.keySet();
56     this._colorKeywords = WebInspector.CSSKeywordCompletions.colors();
57
58     this._valueKeywords = [
59         "above", "absolute", "activeborder", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll",
60         "alternate", "always", "amharic", "amharic-abegede", "antialiased", "appworkspace", "arabic-indic", "armenian", "asterisks",
61         "auto", "avoid", "background", "backwards", "baseline", "below", "bidi-override", "binary", "bengali", "blink",
62         "block", "block-axis", "bold", "bolder", "border", "border-box", "both", "bottom", "break-all", "break-word", "button",
63         "button-bevel", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "cambodian", "capitalize", "caps-lock-indicator",
64         "caption", "captiontext", "caret", "cell", "center", "checkbox", "circle", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic",
65         "clear", "clip", "close-quote", "col-resize", "collapse", "compact", "condensed", "contain", "content", "content-box", "context-menu",
66         "continuous", "copy", "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "dashed", "decimal", "decimal-leading-zero", "default",
67         "default-button", "destination-atop", "destination-in", "destination-out", "destination-over", "devanagari", "disc", "discard", "document",
68         "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element",
69         "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez",
70         "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et",
71         "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et",
72         "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ew-resize", "expanded",
73         "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "footnotes", "forwards", "from", "geometricPrecision",
74         "georgian", "graytext", "groove", "gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hebrew", "help",
75         "hidden", "hide", "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "icon", "ignore",
76         "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
77         "inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "kannada", "katakana",
78         "katakana-iroha", "khmer", "landscape", "lao", "large", "larger", "left", "level", "lighter", "line-through", "linear", "lines",
79         "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
80         "lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "malayalam", "match", "media-controls-background",
81         "media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button",
82         "media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
83         "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button",
84         "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "mongolian", "monospace", "move", "multiple",
85         "myanmar", "n-resize", "narrower", "navy", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none",
86         "normal", "not-allowed", "nowrap", "ns-resize", "nw-resize", "nwse-resize", "oblique", "octal", "open-quote", "optimizeLegibility",
87         "optimizeSpeed", "oriya", "oromo", "outset", "outside", "overlay", "overline", "padding", "padding-box", "painted", "paused",
88         "persian", "plus-darker", "plus-lighter", "pointer", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress",
89         "push-button", "radio", "read-only", "read-write", "read-write-plaintext-only", "relative", "repeat", "repeat-x",
90         "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "round", "row-resize", "rtl", "run-in", "running", "s-resize", "sans-serif",
91         "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button",
92         "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "single",
93         "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow",
94         "small", "small-caps", "small-caption", "smaller", "solid", "somali", "source-atop", "source-in", "source-out", "source-over",
95         "space", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super",
96         "sw-resize", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group",
97         "table-row", "table-row-group", "telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai", "thick", "thin",
98         "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er", "tigrinya-er-abegede",
99         "tigrinya-et", "tigrinya-et-abegede", "to", "top", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-armenian",
100         "upper-greek", "upper-hexadecimal", "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url", "vertical", "vertical-text", "visible",
101         "visibleFill", "visiblePainted", "visibleStroke", "visual", "w-resize", "wait", "wave", "white", "wider", "window", "windowframe", "windowtext",
102         "x-large", "x-small", "xor", "xx-large", "xx-small", "yellow", "-wap-marquee", "-webkit-activelink", "-webkit-auto", "-webkit-baseline-middle",
103         "-webkit-body", "-webkit-box", "-webkit-center", "-webkit-control", "-webkit-focus-ring-color", "-webkit-grab", "-webkit-grabbing",
104         "-webkit-gradient", "-webkit-inline-box", "-webkit-left", "-webkit-link", "-webkit-marquee", "-webkit-mini-control", "-webkit-nowrap", "-webkit-pictograph",
105         "-webkit-right", "-webkit-small-control", "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
106     ].keySet();
107
108     this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
109
110     this._lexConditions = {
111         INITIAL: 0,
112         COMMENT: 1,
113         DSTRING: 2,
114         SSTRING: 3
115     };
116
117     this._parseConditions = {
118         INITIAL: 0,
119         PROPERTY: 1,
120         PROPERTY_VALUE: 2,
121         AT_RULE: 3,
122         AT_MEDIA_RULE: 4
123     };
124
125     this.case_INITIAL = 1000;
126     this.case_COMMENT = 1002;
127     this.case_DSTRING = 1003;
128     this.case_SSTRING = 1004;
129
130     this.condition = this.createInitialCondition();
131 }
132
133 WebInspector.SourceCSSTokenizer.prototype = {
134     createInitialCondition: function()
135     {
136         return { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL };
137     },
138
139     /**
140      * @param {boolean=} stringEnds
141      */
142     _stringToken: function(cursor, stringEnds)
143     {
144         if (this._isPropertyValue())
145             this.tokenType = "css-string";
146         else
147             this.tokenType = null;
148         return cursor;
149     },
150
151     _isPropertyValue: function()
152     {
153         return this._condition.parseCondition === this._parseConditions.PROPERTY_VALUE || this._condition.parseCondition === this._parseConditions.AT_RULE;
154     },
155
156     nextToken: function(cursor)
157     {
158         var cursorOnEnter = cursor;
159         var gotoCase = 1;
160         var YYMARKER;
161         while (1) {
162             switch (gotoCase)
163             // Following comment is replaced with generated state machine.
164             
165         {
166             case 1: var yych;
167             var yyaccept = 0;
168             if (this.getLexCondition() < 2) {
169                 if (this.getLexCondition() < 1) {
170                     { gotoCase = this.case_INITIAL; continue; };
171                 } else {
172                     { gotoCase = this.case_COMMENT; continue; };
173                 }
174             } else {
175                 if (this.getLexCondition() < 3) {
176                     { gotoCase = this.case_DSTRING; continue; };
177                 } else {
178                     { gotoCase = this.case_SSTRING; continue; };
179                 }
180             }
181 /* *********************************** */
182 case this.case_COMMENT:
183
184             yych = this._charAt(cursor);
185             if (yych <= '\f') {
186                 if (yych == '\n') { gotoCase = 4; continue; };
187                 { gotoCase = 3; continue; };
188             } else {
189                 if (yych <= '\r') { gotoCase = 4; continue; };
190                 if (yych == '*') { gotoCase = 6; continue; };
191                 { gotoCase = 3; continue; };
192             }
193 case 2:
194             { this.tokenType = "css-comment"; return cursor; }
195 case 3:
196             yyaccept = 0;
197             yych = this._charAt(YYMARKER = ++cursor);
198             { gotoCase = 12; continue; };
199 case 4:
200             ++cursor;
201             { this.tokenType = null; return cursor; }
202 case 6:
203             yyaccept = 1;
204             yych = this._charAt(YYMARKER = ++cursor);
205             if (yych == '*') { gotoCase = 9; continue; };
206             if (yych != '/') { gotoCase = 11; continue; };
207 case 7:
208             ++cursor;
209             this.setLexCondition(this._lexConditions.INITIAL);
210             { this.tokenType = "css-comment"; return cursor; }
211 case 9:
212             ++cursor;
213             yych = this._charAt(cursor);
214             if (yych == '*') { gotoCase = 9; continue; };
215             if (yych == '/') { gotoCase = 7; continue; };
216 case 11:
217             yyaccept = 0;
218             YYMARKER = ++cursor;
219             yych = this._charAt(cursor);
220 case 12:
221             if (yych <= '\f') {
222                 if (yych == '\n') { gotoCase = 2; continue; };
223                 { gotoCase = 11; continue; };
224             } else {
225                 if (yych <= '\r') { gotoCase = 2; continue; };
226                 if (yych == '*') { gotoCase = 9; continue; };
227                 { gotoCase = 11; continue; };
228             }
229 /* *********************************** */
230 case this.case_DSTRING:
231             yych = this._charAt(cursor);
232             if (yych <= '\r') {
233                 if (yych == '\n') { gotoCase = 17; continue; };
234                 if (yych <= '\f') { gotoCase = 16; continue; };
235                 { gotoCase = 17; continue; };
236             } else {
237                 if (yych <= '"') {
238                     if (yych <= '!') { gotoCase = 16; continue; };
239                     { gotoCase = 19; continue; };
240                 } else {
241                     if (yych == '\\') { gotoCase = 21; continue; };
242                     { gotoCase = 16; continue; };
243                 }
244             }
245 case 15:
246             { return this._stringToken(cursor); }
247 case 16:
248             yyaccept = 0;
249             yych = this._charAt(YYMARKER = ++cursor);
250             { gotoCase = 23; continue; };
251 case 17:
252             ++cursor;
253 case 18:
254             { this.tokenType = null; return cursor; }
255 case 19:
256             ++cursor;
257 case 20:
258             this.setLexCondition(this._lexConditions.INITIAL);
259             { return this._stringToken(cursor, true); }
260 case 21:
261             yych = this._charAt(++cursor);
262             if (yych <= 'e') {
263                 if (yych <= '\'') {
264                     if (yych == '"') { gotoCase = 22; continue; };
265                     if (yych <= '&') { gotoCase = 18; continue; };
266                 } else {
267                     if (yych <= '\\') {
268                         if (yych <= '[') { gotoCase = 18; continue; };
269                     } else {
270                         if (yych != 'b') { gotoCase = 18; continue; };
271                     }
272                 }
273             } else {
274                 if (yych <= 'r') {
275                     if (yych <= 'm') {
276                         if (yych >= 'g') { gotoCase = 18; continue; };
277                     } else {
278                         if (yych <= 'n') { gotoCase = 22; continue; };
279                         if (yych <= 'q') { gotoCase = 18; continue; };
280                     }
281                 } else {
282                     if (yych <= 't') {
283                         if (yych <= 's') { gotoCase = 18; continue; };
284                     } else {
285                         if (yych != 'v') { gotoCase = 18; continue; };
286                     }
287                 }
288             }
289 case 22:
290             yyaccept = 0;
291             YYMARKER = ++cursor;
292             yych = this._charAt(cursor);
293 case 23:
294             if (yych <= '\r') {
295                 if (yych == '\n') { gotoCase = 15; continue; };
296                 if (yych <= '\f') { gotoCase = 22; continue; };
297                 { gotoCase = 15; continue; };
298             } else {
299                 if (yych <= '"') {
300                     if (yych <= '!') { gotoCase = 22; continue; };
301                     { gotoCase = 26; continue; };
302                 } else {
303                     if (yych != '\\') { gotoCase = 22; continue; };
304                 }
305             }
306             ++cursor;
307             yych = this._charAt(cursor);
308             if (yych <= 'e') {
309                 if (yych <= '\'') {
310                     if (yych == '"') { gotoCase = 22; continue; };
311                     if (yych >= '\'') { gotoCase = 22; continue; };
312                 } else {
313                     if (yych <= '\\') {
314                         if (yych >= '\\') { gotoCase = 22; continue; };
315                     } else {
316                         if (yych == 'b') { gotoCase = 22; continue; };
317                     }
318                 }
319             } else {
320                 if (yych <= 'r') {
321                     if (yych <= 'm') {
322                         if (yych <= 'f') { gotoCase = 22; continue; };
323                     } else {
324                         if (yych <= 'n') { gotoCase = 22; continue; };
325                         if (yych >= 'r') { gotoCase = 22; continue; };
326                     }
327                 } else {
328                     if (yych <= 't') {
329                         if (yych >= 't') { gotoCase = 22; continue; };
330                     } else {
331                         if (yych == 'v') { gotoCase = 22; continue; };
332                     }
333                 }
334             }
335             cursor = YYMARKER;
336             { gotoCase = 15; continue; };
337 case 26:
338             ++cursor;
339             yych = this._charAt(cursor);
340             { gotoCase = 20; continue; };
341 /* *********************************** */
342 case this.case_INITIAL:
343             yych = this._charAt(cursor);
344             if (yych <= ';') {
345                 if (yych <= '\'') {
346                     if (yych <= '"') {
347                         if (yych <= ' ') { gotoCase = 29; continue; };
348                         if (yych <= '!') { gotoCase = 31; continue; };
349                         { gotoCase = 33; continue; };
350                     } else {
351                         if (yych <= '#') { gotoCase = 34; continue; };
352                         if (yych <= '$') { gotoCase = 31; continue; };
353                         if (yych >= '\'') { gotoCase = 35; continue; };
354                     }
355                 } else {
356                     if (yych <= '.') {
357                         if (yych <= ',') { gotoCase = 29; continue; };
358                         if (yych <= '-') { gotoCase = 36; continue; };
359                         { gotoCase = 37; continue; };
360                     } else {
361                         if (yych <= '/') { gotoCase = 38; continue; };
362                         if (yych <= '9') { gotoCase = 39; continue; };
363                         if (yych <= ':') { gotoCase = 41; continue; };
364                         { gotoCase = 43; continue; };
365                     }
366                 }
367             } else {
368                 if (yych <= '^') {
369                     if (yych <= '?') {
370                         if (yych == '=') { gotoCase = 31; continue; };
371                     } else {
372                         if (yych == '\\') { gotoCase = 29; continue; };
373                         if (yych <= ']') { gotoCase = 31; continue; };
374                     }
375                 } else {
376                     if (yych <= 'z') {
377                         if (yych != '`') { gotoCase = 31; continue; };
378                     } else {
379                         if (yych <= '{') { gotoCase = 45; continue; };
380                         if (yych == '}') { gotoCase = 47; continue; };
381                     }
382                 }
383             }
384 case 29:
385             ++cursor;
386 case 30:
387             { this.tokenType = null; return cursor; }
388 case 31:
389             ++cursor;
390             yych = this._charAt(cursor);
391             { gotoCase = 50; continue; };
392 case 32:
393             {
394                     var token = this._line.substring(cursorOnEnter, cursor);
395                     if (this._condition.parseCondition === this._parseConditions.INITIAL) {
396                         if (token === "@media") {
397                             this.tokenType = "css-at-rule";
398                             this._condition.parseCondition = this._parseConditions.AT_MEDIA_RULE;
399                         } else if (token.startsWith("@")) {
400                             this.tokenType = "css-at-rule";
401                             this._condition.parseCondition = this._parseConditions.AT_RULE;
402                         } else
403                             this.tokenType = "css-selector";
404                     } else if ((this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE || this._condition.parseCondition === this._parseConditions.AT_RULE) && token in this._mediaTypes)
405                         this.tokenType = "css-keyword";
406                     else if (this._condition.parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
407                         this.tokenType = "css-property";
408                     else if (this._isPropertyValue()) {
409                         if (token in this._valueKeywords)
410                             this.tokenType = "css-keyword";
411                         else if (token in this._colorKeywords) {
412                             // FIXME: this does not convert tokens toLowerCase() for the sake of speed.
413                             this.tokenType = "css-color";
414                         } else if (token === "!important")
415                             this.tokenType = "css-important";
416                     } else
417                         this.tokenType = null;
418                     return cursor;
419                 }
420 case 33:
421             yyaccept = 0;
422             yych = this._charAt(YYMARKER = ++cursor);
423             if (yych <= '-') {
424                 if (yych <= '!') {
425                     if (yych <= '\f') {
426                         if (yych == '\n') { gotoCase = 32; continue; };
427                         { gotoCase = 128; continue; };
428                     } else {
429                         if (yych <= '\r') { gotoCase = 32; continue; };
430                         if (yych <= ' ') { gotoCase = 128; continue; };
431                         { gotoCase = 126; continue; };
432                     }
433                 } else {
434                     if (yych <= '$') {
435                         if (yych <= '"') { gotoCase = 115; continue; };
436                         if (yych <= '#') { gotoCase = 128; continue; };
437                         { gotoCase = 126; continue; };
438                     } else {
439                         if (yych == '\'') { gotoCase = 126; continue; };
440                         if (yych <= ',') { gotoCase = 128; continue; };
441                         { gotoCase = 126; continue; };
442                     }
443                 }
444             } else {
445                 if (yych <= '[') {
446                     if (yych <= '<') {
447                         if (yych <= '.') { gotoCase = 128; continue; };
448                         if (yych <= '9') { gotoCase = 126; continue; };
449                         { gotoCase = 128; continue; };
450                     } else {
451                         if (yych <= '=') { gotoCase = 126; continue; };
452                         if (yych <= '?') { gotoCase = 128; continue; };
453                         { gotoCase = 126; continue; };
454                     }
455                 } else {
456                     if (yych <= '^') {
457                         if (yych <= '\\') { gotoCase = 130; continue; };
458                         if (yych <= ']') { gotoCase = 126; continue; };
459                         { gotoCase = 128; continue; };
460                     } else {
461                         if (yych == '`') { gotoCase = 128; continue; };
462                         if (yych <= 'z') { gotoCase = 126; continue; };
463                         { gotoCase = 128; continue; };
464                     }
465                 }
466             }
467 case 34:
468             yych = this._charAt(++cursor);
469             if (yych <= '@') {
470                 if (yych <= '/') { gotoCase = 30; continue; };
471                 if (yych <= '9') { gotoCase = 123; continue; };
472                 { gotoCase = 30; continue; };
473             } else {
474                 if (yych <= 'F') { gotoCase = 123; continue; };
475                 if (yych <= '`') { gotoCase = 30; continue; };
476                 if (yych <= 'f') { gotoCase = 123; continue; };
477                 { gotoCase = 30; continue; };
478             }
479 case 35:
480             yyaccept = 0;
481             yych = this._charAt(YYMARKER = ++cursor);
482             if (yych <= '-') {
483                 if (yych <= '"') {
484                     if (yych <= '\f') {
485                         if (yych == '\n') { gotoCase = 32; continue; };
486                         { gotoCase = 117; continue; };
487                     } else {
488                         if (yych <= '\r') { gotoCase = 32; continue; };
489                         if (yych <= ' ') { gotoCase = 117; continue; };
490                         { gotoCase = 113; continue; };
491                     }
492                 } else {
493                     if (yych <= '&') {
494                         if (yych == '$') { gotoCase = 113; continue; };
495                         { gotoCase = 117; continue; };
496                     } else {
497                         if (yych <= '\'') { gotoCase = 115; continue; };
498                         if (yych <= ',') { gotoCase = 117; continue; };
499                         { gotoCase = 113; continue; };
500                     }
501                 }
502             } else {
503                 if (yych <= '[') {
504                     if (yych <= '<') {
505                         if (yych <= '.') { gotoCase = 117; continue; };
506                         if (yych <= '9') { gotoCase = 113; continue; };
507                         { gotoCase = 117; continue; };
508                     } else {
509                         if (yych <= '=') { gotoCase = 113; continue; };
510                         if (yych <= '?') { gotoCase = 117; continue; };
511                         { gotoCase = 113; continue; };
512                     }
513                 } else {
514                     if (yych <= '^') {
515                         if (yych <= '\\') { gotoCase = 119; continue; };
516                         if (yych <= ']') { gotoCase = 113; continue; };
517                         { gotoCase = 117; continue; };
518                     } else {
519                         if (yych == '`') { gotoCase = 117; continue; };
520                         if (yych <= 'z') { gotoCase = 113; continue; };
521                         { gotoCase = 117; continue; };
522                     }
523                 }
524             }
525 case 36:
526             yyaccept = 0;
527             yych = this._charAt(YYMARKER = ++cursor);
528             if (yych == '.') { gotoCase = 66; continue; };
529             if (yych <= '/') { gotoCase = 50; continue; };
530             if (yych <= '9') { gotoCase = 51; continue; };
531             { gotoCase = 50; continue; };
532 case 37:
533             yych = this._charAt(++cursor);
534             if (yych <= '/') { gotoCase = 30; continue; };
535             if (yych <= '9') { gotoCase = 69; continue; };
536             { gotoCase = 30; continue; };
537 case 38:
538             yyaccept = 0;
539             yych = this._charAt(YYMARKER = ++cursor);
540             if (yych == '*') { gotoCase = 105; continue; };
541             { gotoCase = 50; continue; };
542 case 39:
543             yyaccept = 1;
544             yych = this._charAt(YYMARKER = ++cursor);
545             switch (yych) {
546             case '!':
547             case '"':
548             case '$':
549             case '\'':
550             case '-':
551             case '/':
552             case '=':
553             case '@':
554             case 'A':
555             case 'B':
556             case 'C':
557             case 'D':
558             case 'E':
559             case 'F':
560             case 'G':
561             case 'I':
562             case 'J':
563             case 'K':
564             case 'L':
565             case 'M':
566             case 'N':
567             case 'O':
568             case 'P':
569             case 'Q':
570             case 'R':
571             case 'S':
572             case 'T':
573             case 'U':
574             case 'V':
575             case 'W':
576             case 'X':
577             case 'Y':
578             case 'Z':
579             case '[':
580             case ']':
581             case 'a':
582             case 'b':
583             case 'f':
584             case 'h':
585             case 'j':
586             case 'l':
587             case 'n':
588             case 'o':
589             case 'q':
590             case 'u':
591             case 'v':
592             case 'w':
593             case 'x':
594             case 'y':
595             case 'z':    { gotoCase = 49; continue; };
596             case '%':    { gotoCase = 68; continue; };
597             case '.':    { gotoCase = 66; continue; };
598             case '0':
599             case '1':
600             case '2':
601             case '3':
602             case '4':
603             case '5':
604             case '6':
605             case '7':
606             case '8':
607             case '9':    { gotoCase = 51; continue; };
608             case 'H':    { gotoCase = 53; continue; };
609             case '_':    { gotoCase = 54; continue; };
610             case 'c':    { gotoCase = 55; continue; };
611             case 'd':    { gotoCase = 56; continue; };
612             case 'e':    { gotoCase = 57; continue; };
613             case 'g':    { gotoCase = 58; continue; };
614             case 'i':    { gotoCase = 59; continue; };
615             case 'k':    { gotoCase = 60; continue; };
616             case 'm':    { gotoCase = 61; continue; };
617             case 'p':    { gotoCase = 62; continue; };
618             case 'r':    { gotoCase = 63; continue; };
619             case 's':    { gotoCase = 64; continue; };
620             case 't':    { gotoCase = 65; continue; };
621             default:    { gotoCase = 40; continue; };
622             }
623 case 40:
624             {
625                     if (this._isPropertyValue())
626                         this.tokenType = "css-number";
627                     else
628                         this.tokenType = null;
629                     return cursor;
630                 }
631 case 41:
632             ++cursor;
633             {
634                     this.tokenType = null;
635                     if (this._condition.parseCondition === this._parseConditions.PROPERTY)
636                         this._condition.parseCondition = this._parseConditions.PROPERTY_VALUE;
637                     return cursor;
638                 }
639 case 43:
640             ++cursor;
641             {
642                     this.tokenType = null;
643                     if (this._condition.parseCondition === this._parseConditions.AT_RULE)
644                         this._condition.parseCondition = this._parseConditions.INITIAL;
645                     else
646                         this._condition.parseCondition = this._parseConditions.PROPERTY;
647                     return cursor;
648                 }
649 case 45:
650             ++cursor;
651             {
652                     this.tokenType = "block-start";
653                     if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE)
654                         this._condition.parseCondition = this._parseConditions.INITIAL;
655                     else
656                         this._condition.parseCondition = this._parseConditions.PROPERTY;
657                     return cursor;
658                 }
659 case 47:
660             ++cursor;
661             {
662                     this.tokenType = "block-end";
663                     this._condition.parseCondition = this._parseConditions.INITIAL;
664                     return cursor;
665                 }
666 case 49:
667             ++cursor;
668             yych = this._charAt(cursor);
669 case 50:
670             if (yych <= '9') {
671                 if (yych <= '&') {
672                     if (yych <= '"') {
673                         if (yych <= ' ') { gotoCase = 32; continue; };
674                         { gotoCase = 49; continue; };
675                     } else {
676                         if (yych == '$') { gotoCase = 49; continue; };
677                         { gotoCase = 32; continue; };
678                     }
679                 } else {
680                     if (yych <= ',') {
681                         if (yych <= '\'') { gotoCase = 49; continue; };
682                         { gotoCase = 32; continue; };
683                     } else {
684                         if (yych == '.') { gotoCase = 32; continue; };
685                         { gotoCase = 49; continue; };
686                     }
687                 }
688             } else {
689                 if (yych <= '\\') {
690                     if (yych <= '=') {
691                         if (yych <= '<') { gotoCase = 32; continue; };
692                         { gotoCase = 49; continue; };
693                     } else {
694                         if (yych <= '?') { gotoCase = 32; continue; };
695                         if (yych <= '[') { gotoCase = 49; continue; };
696                         { gotoCase = 32; continue; };
697                     }
698                 } else {
699                     if (yych <= '_') {
700                         if (yych == '^') { gotoCase = 32; continue; };
701                         { gotoCase = 49; continue; };
702                     } else {
703                         if (yych <= '`') { gotoCase = 32; continue; };
704                         if (yych <= 'z') { gotoCase = 49; continue; };
705                         { gotoCase = 32; continue; };
706                     }
707                 }
708             }
709 case 51:
710             yyaccept = 1;
711             YYMARKER = ++cursor;
712             yych = this._charAt(cursor);
713             switch (yych) {
714             case '!':
715             case '"':
716             case '$':
717             case '\'':
718             case '-':
719             case '/':
720             case '=':
721             case '@':
722             case 'A':
723             case 'B':
724             case 'C':
725             case 'D':
726             case 'E':
727             case 'F':
728             case 'G':
729             case 'I':
730             case 'J':
731             case 'K':
732             case 'L':
733             case 'M':
734             case 'N':
735             case 'O':
736             case 'P':
737             case 'Q':
738             case 'R':
739             case 'S':
740             case 'T':
741             case 'U':
742             case 'V':
743             case 'W':
744             case 'X':
745             case 'Y':
746             case 'Z':
747             case '[':
748             case ']':
749             case 'a':
750             case 'b':
751             case 'f':
752             case 'h':
753             case 'j':
754             case 'l':
755             case 'n':
756             case 'o':
757             case 'q':
758             case 'u':
759             case 'v':
760             case 'w':
761             case 'x':
762             case 'y':
763             case 'z':    { gotoCase = 49; continue; };
764             case '%':    { gotoCase = 68; continue; };
765             case '.':    { gotoCase = 66; continue; };
766             case '0':
767             case '1':
768             case '2':
769             case '3':
770             case '4':
771             case '5':
772             case '6':
773             case '7':
774             case '8':
775             case '9':    { gotoCase = 51; continue; };
776             case 'H':    { gotoCase = 53; continue; };
777             case '_':    { gotoCase = 54; continue; };
778             case 'c':    { gotoCase = 55; continue; };
779             case 'd':    { gotoCase = 56; continue; };
780             case 'e':    { gotoCase = 57; continue; };
781             case 'g':    { gotoCase = 58; continue; };
782             case 'i':    { gotoCase = 59; continue; };
783             case 'k':    { gotoCase = 60; continue; };
784             case 'm':    { gotoCase = 61; continue; };
785             case 'p':    { gotoCase = 62; continue; };
786             case 'r':    { gotoCase = 63; continue; };
787             case 's':    { gotoCase = 64; continue; };
788             case 't':    { gotoCase = 65; continue; };
789             default:    { gotoCase = 40; continue; };
790             }
791 case 53:
792             yych = this._charAt(++cursor);
793             if (yych == 'z') { gotoCase = 64; continue; };
794             { gotoCase = 50; continue; };
795 case 54:
796             yych = this._charAt(++cursor);
797             if (yych == '_') { gotoCase = 102; continue; };
798             { gotoCase = 50; continue; };
799 case 55:
800             yych = this._charAt(++cursor);
801             if (yych == 'm') { gotoCase = 64; continue; };
802             { gotoCase = 50; continue; };
803 case 56:
804             yych = this._charAt(++cursor);
805             if (yych == 'e') { gotoCase = 101; continue; };
806             { gotoCase = 50; continue; };
807 case 57:
808             yych = this._charAt(++cursor);
809             if (yych == 'm') { gotoCase = 64; continue; };
810             if (yych == 'x') { gotoCase = 64; continue; };
811             { gotoCase = 50; continue; };
812 case 58:
813             yych = this._charAt(++cursor);
814             if (yych == 'r') { gotoCase = 99; continue; };
815             { gotoCase = 50; continue; };
816 case 59:
817             yych = this._charAt(++cursor);
818             if (yych == 'n') { gotoCase = 64; continue; };
819             { gotoCase = 50; continue; };
820 case 60:
821             yych = this._charAt(++cursor);
822             if (yych == 'H') { gotoCase = 98; continue; };
823             { gotoCase = 50; continue; };
824 case 61:
825             yych = this._charAt(++cursor);
826             if (yych == 'm') { gotoCase = 64; continue; };
827             if (yych == 's') { gotoCase = 64; continue; };
828             { gotoCase = 50; continue; };
829 case 62:
830             yych = this._charAt(++cursor);
831             if (yych <= 's') {
832                 if (yych == 'c') { gotoCase = 64; continue; };
833                 { gotoCase = 50; continue; };
834             } else {
835                 if (yych <= 't') { gotoCase = 64; continue; };
836                 if (yych == 'x') { gotoCase = 64; continue; };
837                 { gotoCase = 50; continue; };
838             }
839 case 63:
840             yych = this._charAt(++cursor);
841             if (yych == 'a') { gotoCase = 96; continue; };
842             if (yych == 'e') { gotoCase = 97; continue; };
843             { gotoCase = 50; continue; };
844 case 64:
845             yych = this._charAt(++cursor);
846             if (yych <= '9') {
847                 if (yych <= '&') {
848                     if (yych <= '"') {
849                         if (yych <= ' ') { gotoCase = 40; continue; };
850                         { gotoCase = 49; continue; };
851                     } else {
852                         if (yych == '$') { gotoCase = 49; continue; };
853                         { gotoCase = 40; continue; };
854                     }
855                 } else {
856                     if (yych <= ',') {
857                         if (yych <= '\'') { gotoCase = 49; continue; };
858                         { gotoCase = 40; continue; };
859                     } else {
860                         if (yych == '.') { gotoCase = 40; continue; };
861                         { gotoCase = 49; continue; };
862                     }
863                 }
864             } else {
865                 if (yych <= '\\') {
866                     if (yych <= '=') {
867                         if (yych <= '<') { gotoCase = 40; continue; };
868                         { gotoCase = 49; continue; };
869                     } else {
870                         if (yych <= '?') { gotoCase = 40; continue; };
871                         if (yych <= '[') { gotoCase = 49; continue; };
872                         { gotoCase = 40; continue; };
873                     }
874                 } else {
875                     if (yych <= '_') {
876                         if (yych == '^') { gotoCase = 40; continue; };
877                         { gotoCase = 49; continue; };
878                     } else {
879                         if (yych <= '`') { gotoCase = 40; continue; };
880                         if (yych <= 'z') { gotoCase = 49; continue; };
881                         { gotoCase = 40; continue; };
882                     }
883                 }
884             }
885 case 65:
886             yych = this._charAt(++cursor);
887             if (yych == 'u') { gotoCase = 94; continue; };
888             { gotoCase = 50; continue; };
889 case 66:
890             yych = this._charAt(++cursor);
891             if (yych <= '/') { gotoCase = 67; continue; };
892             if (yych <= '9') { gotoCase = 69; continue; };
893 case 67:
894             cursor = YYMARKER;
895             if (yyaccept <= 0) {
896                 { gotoCase = 32; continue; };
897             } else {
898                 { gotoCase = 40; continue; };
899             }
900 case 68:
901             yych = this._charAt(++cursor);
902             { gotoCase = 40; continue; };
903 case 69:
904             yyaccept = 1;
905             YYMARKER = ++cursor;
906             yych = this._charAt(cursor);
907             if (yych <= 'f') {
908                 if (yych <= 'H') {
909                     if (yych <= '/') {
910                         if (yych == '%') { gotoCase = 68; continue; };
911                         { gotoCase = 40; continue; };
912                     } else {
913                         if (yych <= '9') { gotoCase = 69; continue; };
914                         if (yych <= 'G') { gotoCase = 40; continue; };
915                         { gotoCase = 81; continue; };
916                     }
917                 } else {
918                     if (yych <= 'b') {
919                         if (yych == '_') { gotoCase = 73; continue; };
920                         { gotoCase = 40; continue; };
921                     } else {
922                         if (yych <= 'c') { gotoCase = 75; continue; };
923                         if (yych <= 'd') { gotoCase = 78; continue; };
924                         if (yych >= 'f') { gotoCase = 40; continue; };
925                     }
926                 }
927             } else {
928                 if (yych <= 'm') {
929                     if (yych <= 'i') {
930                         if (yych <= 'g') { gotoCase = 79; continue; };
931                         if (yych <= 'h') { gotoCase = 40; continue; };
932                         { gotoCase = 77; continue; };
933                     } else {
934                         if (yych == 'k') { gotoCase = 82; continue; };
935                         if (yych <= 'l') { gotoCase = 40; continue; };
936                         { gotoCase = 76; continue; };
937                     }
938                 } else {
939                     if (yych <= 'q') {
940                         if (yych == 'p') { gotoCase = 74; continue; };
941                         { gotoCase = 40; continue; };
942                     } else {
943                         if (yych <= 'r') { gotoCase = 72; continue; };
944                         if (yych <= 's') { gotoCase = 68; continue; };
945                         if (yych <= 't') { gotoCase = 80; continue; };
946                         { gotoCase = 40; continue; };
947                     }
948                 }
949             }
950             yych = this._charAt(++cursor);
951             if (yych == 'm') { gotoCase = 68; continue; };
952             if (yych == 'x') { gotoCase = 68; continue; };
953             { gotoCase = 67; continue; };
954 case 72:
955             yych = this._charAt(++cursor);
956             if (yych == 'a') { gotoCase = 92; continue; };
957             if (yych == 'e') { gotoCase = 93; continue; };
958             { gotoCase = 67; continue; };
959 case 73:
960             yych = this._charAt(++cursor);
961             if (yych == '_') { gotoCase = 89; continue; };
962             { gotoCase = 67; continue; };
963 case 74:
964             yych = this._charAt(++cursor);
965             if (yych <= 's') {
966                 if (yych == 'c') { gotoCase = 68; continue; };
967                 { gotoCase = 67; continue; };
968             } else {
969                 if (yych <= 't') { gotoCase = 68; continue; };
970                 if (yych == 'x') { gotoCase = 68; continue; };
971                 { gotoCase = 67; continue; };
972             }
973 case 75:
974             yych = this._charAt(++cursor);
975             if (yych == 'm') { gotoCase = 68; continue; };
976             { gotoCase = 67; continue; };
977 case 76:
978             yych = this._charAt(++cursor);
979             if (yych == 'm') { gotoCase = 68; continue; };
980             if (yych == 's') { gotoCase = 68; continue; };
981             { gotoCase = 67; continue; };
982 case 77:
983             yych = this._charAt(++cursor);
984             if (yych == 'n') { gotoCase = 68; continue; };
985             { gotoCase = 67; continue; };
986 case 78:
987             yych = this._charAt(++cursor);
988             if (yych == 'e') { gotoCase = 88; continue; };
989             { gotoCase = 67; continue; };
990 case 79:
991             yych = this._charAt(++cursor);
992             if (yych == 'r') { gotoCase = 86; continue; };
993             { gotoCase = 67; continue; };
994 case 80:
995             yych = this._charAt(++cursor);
996             if (yych == 'u') { gotoCase = 84; continue; };
997             { gotoCase = 67; continue; };
998 case 81:
999             yych = this._charAt(++cursor);
1000             if (yych == 'z') { gotoCase = 68; continue; };
1001             { gotoCase = 67; continue; };
1002 case 82:
1003             yych = this._charAt(++cursor);
1004             if (yych != 'H') { gotoCase = 67; continue; };
1005             yych = this._charAt(++cursor);
1006             if (yych == 'z') { gotoCase = 68; continue; };
1007             { gotoCase = 67; continue; };
1008 case 84:
1009             yych = this._charAt(++cursor);
1010             if (yych != 'r') { gotoCase = 67; continue; };
1011             yych = this._charAt(++cursor);
1012             if (yych == 'n') { gotoCase = 68; continue; };
1013             { gotoCase = 67; continue; };
1014 case 86:
1015             yych = this._charAt(++cursor);
1016             if (yych != 'a') { gotoCase = 67; continue; };
1017             yych = this._charAt(++cursor);
1018             if (yych == 'd') { gotoCase = 68; continue; };
1019             { gotoCase = 67; continue; };
1020 case 88:
1021             yych = this._charAt(++cursor);
1022             if (yych == 'g') { gotoCase = 68; continue; };
1023             { gotoCase = 67; continue; };
1024 case 89:
1025             yych = this._charAt(++cursor);
1026             if (yych != 'q') { gotoCase = 67; continue; };
1027             yych = this._charAt(++cursor);
1028             if (yych != 'e') { gotoCase = 67; continue; };
1029             yych = this._charAt(++cursor);
1030             if (yych == 'm') { gotoCase = 68; continue; };
1031             { gotoCase = 67; continue; };
1032 case 92:
1033             yych = this._charAt(++cursor);
1034             if (yych == 'd') { gotoCase = 68; continue; };
1035             { gotoCase = 67; continue; };
1036 case 93:
1037             yych = this._charAt(++cursor);
1038             if (yych == 'm') { gotoCase = 68; continue; };
1039             { gotoCase = 67; continue; };
1040 case 94:
1041             yych = this._charAt(++cursor);
1042             if (yych != 'r') { gotoCase = 50; continue; };
1043             yych = this._charAt(++cursor);
1044             if (yych == 'n') { gotoCase = 64; continue; };
1045             { gotoCase = 50; continue; };
1046 case 96:
1047             yych = this._charAt(++cursor);
1048             if (yych == 'd') { gotoCase = 64; continue; };
1049             { gotoCase = 50; continue; };
1050 case 97:
1051             yych = this._charAt(++cursor);
1052             if (yych == 'm') { gotoCase = 64; continue; };
1053             { gotoCase = 50; continue; };
1054 case 98:
1055             yych = this._charAt(++cursor);
1056             if (yych == 'z') { gotoCase = 64; continue; };
1057             { gotoCase = 50; continue; };
1058 case 99:
1059             yych = this._charAt(++cursor);
1060             if (yych != 'a') { gotoCase = 50; continue; };
1061             yych = this._charAt(++cursor);
1062             if (yych == 'd') { gotoCase = 64; continue; };
1063             { gotoCase = 50; continue; };
1064 case 101:
1065             yych = this._charAt(++cursor);
1066             if (yych == 'g') { gotoCase = 64; continue; };
1067             { gotoCase = 50; continue; };
1068 case 102:
1069             yych = this._charAt(++cursor);
1070             if (yych != 'q') { gotoCase = 50; continue; };
1071             yych = this._charAt(++cursor);
1072             if (yych != 'e') { gotoCase = 50; continue; };
1073             yych = this._charAt(++cursor);
1074             if (yych == 'm') { gotoCase = 64; continue; };
1075             { gotoCase = 50; continue; };
1076 case 105:
1077             ++cursor;
1078             yych = this._charAt(cursor);
1079             if (yych <= '\f') {
1080                 if (yych == '\n') { gotoCase = 109; continue; };
1081                 { gotoCase = 105; continue; };
1082             } else {
1083                 if (yych <= '\r') { gotoCase = 109; continue; };
1084                 if (yych != '*') { gotoCase = 105; continue; };
1085             }
1086 case 107:
1087             ++cursor;
1088             yych = this._charAt(cursor);
1089             if (yych == '*') { gotoCase = 107; continue; };
1090             if (yych == '/') { gotoCase = 111; continue; };
1091             { gotoCase = 105; continue; };
1092 case 109:
1093             ++cursor;
1094             this.setLexCondition(this._lexConditions.COMMENT);
1095             { this.tokenType = "css-comment"; return cursor; }
1096 case 111:
1097             ++cursor;
1098             { this.tokenType = "css-comment"; return cursor; }
1099 case 113:
1100             yyaccept = 0;
1101             YYMARKER = ++cursor;
1102             yych = this._charAt(cursor);
1103             if (yych <= '-') {
1104                 if (yych <= '"') {
1105                     if (yych <= '\f') {
1106                         if (yych == '\n') { gotoCase = 32; continue; };
1107                         { gotoCase = 117; continue; };
1108                     } else {
1109                         if (yych <= '\r') { gotoCase = 32; continue; };
1110                         if (yych <= ' ') { gotoCase = 117; continue; };
1111                         { gotoCase = 113; continue; };
1112                     }
1113                 } else {
1114                     if (yych <= '&') {
1115                         if (yych == '$') { gotoCase = 113; continue; };
1116                         { gotoCase = 117; continue; };
1117                     } else {
1118                         if (yych <= '\'') { gotoCase = 115; continue; };
1119                         if (yych <= ',') { gotoCase = 117; continue; };
1120                         { gotoCase = 113; continue; };
1121                     }
1122                 }
1123             } else {
1124                 if (yych <= '[') {
1125                     if (yych <= '<') {
1126                         if (yych <= '.') { gotoCase = 117; continue; };
1127                         if (yych <= '9') { gotoCase = 113; continue; };
1128                         { gotoCase = 117; continue; };
1129                     } else {
1130                         if (yych <= '=') { gotoCase = 113; continue; };
1131                         if (yych <= '?') { gotoCase = 117; continue; };
1132                         { gotoCase = 113; continue; };
1133                     }
1134                 } else {
1135                     if (yych <= '^') {
1136                         if (yych <= '\\') { gotoCase = 119; continue; };
1137                         if (yych <= ']') { gotoCase = 113; continue; };
1138                         { gotoCase = 117; continue; };
1139                     } else {
1140                         if (yych == '`') { gotoCase = 117; continue; };
1141                         if (yych <= 'z') { gotoCase = 113; continue; };
1142                         { gotoCase = 117; continue; };
1143                     }
1144                 }
1145             }
1146 case 115:
1147             ++cursor;
1148             if ((yych = this._charAt(cursor)) <= '9') {
1149                 if (yych <= '&') {
1150                     if (yych <= '"') {
1151                         if (yych >= '!') { gotoCase = 49; continue; };
1152                     } else {
1153                         if (yych == '$') { gotoCase = 49; continue; };
1154                     }
1155                 } else {
1156                     if (yych <= ',') {
1157                         if (yych <= '\'') { gotoCase = 49; continue; };
1158                     } else {
1159                         if (yych != '.') { gotoCase = 49; continue; };
1160                     }
1161                 }
1162             } else {
1163                 if (yych <= '\\') {
1164                     if (yych <= '=') {
1165                         if (yych >= '=') { gotoCase = 49; continue; };
1166                     } else {
1167                         if (yych <= '?') { gotoCase = 116; continue; };
1168                         if (yych <= '[') { gotoCase = 49; continue; };
1169                     }
1170                 } else {
1171                     if (yych <= '_') {
1172                         if (yych != '^') { gotoCase = 49; continue; };
1173                     } else {
1174                         if (yych <= '`') { gotoCase = 116; continue; };
1175                         if (yych <= 'z') { gotoCase = 49; continue; };
1176                     }
1177                 }
1178             }
1179 case 116:
1180             { return this._stringToken(cursor, true); }
1181 case 117:
1182             ++cursor;
1183             yych = this._charAt(cursor);
1184             if (yych <= '\r') {
1185                 if (yych == '\n') { gotoCase = 67; continue; };
1186                 if (yych <= '\f') { gotoCase = 117; continue; };
1187                 { gotoCase = 67; continue; };
1188             } else {
1189                 if (yych <= '\'') {
1190                     if (yych <= '&') { gotoCase = 117; continue; };
1191                     { gotoCase = 122; continue; };
1192                 } else {
1193                     if (yych != '\\') { gotoCase = 117; continue; };
1194                 }
1195             }
1196 case 119:
1197             ++cursor;
1198             yych = this._charAt(cursor);
1199             if (yych <= 'a') {
1200                 if (yych <= '!') {
1201                     if (yych <= '\n') {
1202                         if (yych <= '\t') { gotoCase = 67; continue; };
1203                     } else {
1204                         if (yych != '\r') { gotoCase = 67; continue; };
1205                     }
1206                 } else {
1207                     if (yych <= '\'') {
1208                         if (yych <= '"') { gotoCase = 117; continue; };
1209                         if (yych <= '&') { gotoCase = 67; continue; };
1210                         { gotoCase = 117; continue; };
1211                     } else {
1212                         if (yych == '\\') { gotoCase = 117; continue; };
1213                         { gotoCase = 67; continue; };
1214                     }
1215                 }
1216             } else {
1217                 if (yych <= 'q') {
1218                     if (yych <= 'f') {
1219                         if (yych <= 'b') { gotoCase = 117; continue; };
1220                         if (yych <= 'e') { gotoCase = 67; continue; };
1221                         { gotoCase = 117; continue; };
1222                     } else {
1223                         if (yych == 'n') { gotoCase = 117; continue; };
1224                         { gotoCase = 67; continue; };
1225                     }
1226                 } else {
1227                     if (yych <= 't') {
1228                         if (yych == 's') { gotoCase = 67; continue; };
1229                         { gotoCase = 117; continue; };
1230                     } else {
1231                         if (yych == 'v') { gotoCase = 117; continue; };
1232                         { gotoCase = 67; continue; };
1233                     }
1234                 }
1235             }
1236             ++cursor;
1237             this.setLexCondition(this._lexConditions.SSTRING);
1238             { return this._stringToken(cursor); }
1239 case 122:
1240             yych = this._charAt(++cursor);
1241             { gotoCase = 116; continue; };
1242 case 123:
1243             ++cursor;
1244             yych = this._charAt(cursor);
1245             if (yych <= '@') {
1246                 if (yych <= '/') { gotoCase = 125; continue; };
1247                 if (yych <= '9') { gotoCase = 123; continue; };
1248             } else {
1249                 if (yych <= 'F') { gotoCase = 123; continue; };
1250                 if (yych <= '`') { gotoCase = 125; continue; };
1251                 if (yych <= 'f') { gotoCase = 123; continue; };
1252             }
1253 case 125:
1254             {
1255                     if (this._isPropertyValue())
1256                         this.tokenType = "css-color";
1257                     else
1258                         this.tokenType = null;
1259                     return cursor;
1260                 }
1261 case 126:
1262             yyaccept = 0;
1263             YYMARKER = ++cursor;
1264             yych = this._charAt(cursor);
1265             if (yych <= '-') {
1266                 if (yych <= '!') {
1267                     if (yych <= '\f') {
1268                         if (yych == '\n') { gotoCase = 32; continue; };
1269                     } else {
1270                         if (yych <= '\r') { gotoCase = 32; continue; };
1271                         if (yych >= '!') { gotoCase = 126; continue; };
1272                     }
1273                 } else {
1274                     if (yych <= '$') {
1275                         if (yych <= '"') { gotoCase = 115; continue; };
1276                         if (yych >= '$') { gotoCase = 126; continue; };
1277                     } else {
1278                         if (yych == '\'') { gotoCase = 126; continue; };
1279                         if (yych >= '-') { gotoCase = 126; continue; };
1280                     }
1281                 }
1282             } else {
1283                 if (yych <= '[') {
1284                     if (yych <= '<') {
1285                         if (yych <= '.') { gotoCase = 128; continue; };
1286                         if (yych <= '9') { gotoCase = 126; continue; };
1287                     } else {
1288                         if (yych <= '=') { gotoCase = 126; continue; };
1289                         if (yych >= '@') { gotoCase = 126; continue; };
1290                     }
1291                 } else {
1292                     if (yych <= '^') {
1293                         if (yych <= '\\') { gotoCase = 130; continue; };
1294                         if (yych <= ']') { gotoCase = 126; continue; };
1295                     } else {
1296                         if (yych == '`') { gotoCase = 128; continue; };
1297                         if (yych <= 'z') { gotoCase = 126; continue; };
1298                     }
1299                 }
1300             }
1301 case 128:
1302             ++cursor;
1303             yych = this._charAt(cursor);
1304             if (yych <= '\r') {
1305                 if (yych == '\n') { gotoCase = 67; continue; };
1306                 if (yych <= '\f') { gotoCase = 128; continue; };
1307                 { gotoCase = 67; continue; };
1308             } else {
1309                 if (yych <= '"') {
1310                     if (yych <= '!') { gotoCase = 128; continue; };
1311                     { gotoCase = 122; continue; };
1312                 } else {
1313                     if (yych != '\\') { gotoCase = 128; continue; };
1314                 }
1315             }
1316 case 130:
1317             ++cursor;
1318             yych = this._charAt(cursor);
1319             if (yych <= 'a') {
1320                 if (yych <= '!') {
1321                     if (yych <= '\n') {
1322                         if (yych <= '\t') { gotoCase = 67; continue; };
1323                     } else {
1324                         if (yych != '\r') { gotoCase = 67; continue; };
1325                     }
1326                 } else {
1327                     if (yych <= '\'') {
1328                         if (yych <= '"') { gotoCase = 128; continue; };
1329                         if (yych <= '&') { gotoCase = 67; continue; };
1330                         { gotoCase = 128; continue; };
1331                     } else {
1332                         if (yych == '\\') { gotoCase = 128; continue; };
1333                         { gotoCase = 67; continue; };
1334                     }
1335                 }
1336             } else {
1337                 if (yych <= 'q') {
1338                     if (yych <= 'f') {
1339                         if (yych <= 'b') { gotoCase = 128; continue; };
1340                         if (yych <= 'e') { gotoCase = 67; continue; };
1341                         { gotoCase = 128; continue; };
1342                     } else {
1343                         if (yych == 'n') { gotoCase = 128; continue; };
1344                         { gotoCase = 67; continue; };
1345                     }
1346                 } else {
1347                     if (yych <= 't') {
1348                         if (yych == 's') { gotoCase = 67; continue; };
1349                         { gotoCase = 128; continue; };
1350                     } else {
1351                         if (yych == 'v') { gotoCase = 128; continue; };
1352                         { gotoCase = 67; continue; };
1353                     }
1354                 }
1355             }
1356             ++cursor;
1357             this.setLexCondition(this._lexConditions.DSTRING);
1358             { return this._stringToken(cursor); }
1359 /* *********************************** */
1360 case this.case_SSTRING:
1361             yych = this._charAt(cursor);
1362             if (yych <= '\r') {
1363                 if (yych == '\n') { gotoCase = 137; continue; };
1364                 if (yych <= '\f') { gotoCase = 136; continue; };
1365                 { gotoCase = 137; continue; };
1366             } else {
1367                 if (yych <= '\'') {
1368                     if (yych <= '&') { gotoCase = 136; continue; };
1369                     { gotoCase = 139; continue; };
1370                 } else {
1371                     if (yych == '\\') { gotoCase = 141; continue; };
1372                     { gotoCase = 136; continue; };
1373                 }
1374             }
1375 case 135:
1376             { return this._stringToken(cursor); }
1377 case 136:
1378             yyaccept = 0;
1379             yych = this._charAt(YYMARKER = ++cursor);
1380             { gotoCase = 143; continue; };
1381 case 137:
1382             ++cursor;
1383 case 138:
1384             { this.tokenType = null; return cursor; }
1385 case 139:
1386             ++cursor;
1387 case 140:
1388             this.setLexCondition(this._lexConditions.INITIAL);
1389             { return this._stringToken(cursor, true); }
1390 case 141:
1391             yych = this._charAt(++cursor);
1392             if (yych <= 'e') {
1393                 if (yych <= '\'') {
1394                     if (yych == '"') { gotoCase = 142; continue; };
1395                     if (yych <= '&') { gotoCase = 138; continue; };
1396                 } else {
1397                     if (yych <= '\\') {
1398                         if (yych <= '[') { gotoCase = 138; continue; };
1399                     } else {
1400                         if (yych != 'b') { gotoCase = 138; continue; };
1401                     }
1402                 }
1403             } else {
1404                 if (yych <= 'r') {
1405                     if (yych <= 'm') {
1406                         if (yych >= 'g') { gotoCase = 138; continue; };
1407                     } else {
1408                         if (yych <= 'n') { gotoCase = 142; continue; };
1409                         if (yych <= 'q') { gotoCase = 138; continue; };
1410                     }
1411                 } else {
1412                     if (yych <= 't') {
1413                         if (yych <= 's') { gotoCase = 138; continue; };
1414                     } else {
1415                         if (yych != 'v') { gotoCase = 138; continue; };
1416                     }
1417                 }
1418             }
1419 case 142:
1420             yyaccept = 0;
1421             YYMARKER = ++cursor;
1422             yych = this._charAt(cursor);
1423 case 143:
1424             if (yych <= '\r') {
1425                 if (yych == '\n') { gotoCase = 135; continue; };
1426                 if (yych <= '\f') { gotoCase = 142; continue; };
1427                 { gotoCase = 135; continue; };
1428             } else {
1429                 if (yych <= '\'') {
1430                     if (yych <= '&') { gotoCase = 142; continue; };
1431                     { gotoCase = 146; continue; };
1432                 } else {
1433                     if (yych != '\\') { gotoCase = 142; continue; };
1434                 }
1435             }
1436             ++cursor;
1437             yych = this._charAt(cursor);
1438             if (yych <= 'e') {
1439                 if (yych <= '\'') {
1440                     if (yych == '"') { gotoCase = 142; continue; };
1441                     if (yych >= '\'') { gotoCase = 142; continue; };
1442                 } else {
1443                     if (yych <= '\\') {
1444                         if (yych >= '\\') { gotoCase = 142; continue; };
1445                     } else {
1446                         if (yych == 'b') { gotoCase = 142; continue; };
1447                     }
1448                 }
1449             } else {
1450                 if (yych <= 'r') {
1451                     if (yych <= 'm') {
1452                         if (yych <= 'f') { gotoCase = 142; continue; };
1453                     } else {
1454                         if (yych <= 'n') { gotoCase = 142; continue; };
1455                         if (yych >= 'r') { gotoCase = 142; continue; };
1456                     }
1457                 } else {
1458                     if (yych <= 't') {
1459                         if (yych >= 't') { gotoCase = 142; continue; };
1460                     } else {
1461                         if (yych == 'v') { gotoCase = 142; continue; };
1462                     }
1463                 }
1464             }
1465             cursor = YYMARKER;
1466             { gotoCase = 135; continue; };
1467 case 146:
1468             ++cursor;
1469             yych = this._charAt(cursor);
1470             { gotoCase = 140; continue; };
1471         }
1472
1473         }
1474     }
1475 }
1476
1477 WebInspector.SourceCSSTokenizer.prototype.__proto__ = WebInspector.SourceTokenizer.prototype;