IDEADEV-40965: Groovy: "Convert to String" intention applied for multiline GString...
authorMaxim Medvedev <maxim.medvedev@jetbrains.com>
Mon, 28 Dec 2009 15:07:43 +0000 (18:07 +0300)
committerMaxim Medvedev <maxim.medvedev@jetbrains.com>
Mon, 28 Dec 2009 15:07:43 +0000 (18:07 +0300)
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/lexer/_GroovyLexer.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/lexer/groovy.flex
plugins/groovy/test/org/jetbrains/plugins/groovy/intentions/ConvertGStringToStringTest.java
plugins/groovy/testdata/intentions/convertGStringToString/SlashBeforeNewLine.groovy [new file with mode: 0644]
plugins/groovy/testdata/intentions/convertGStringToString/SlashBeforeNewLine_after.groovy [new file with mode: 0644]

index 59dc986bfca8bbb783833c4890043f5028cfa6fa..a671427bc5e90c9469e640b8612765f1cc960c0e 100644 (file)
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.1 on 22.10.09 18:04 */
+/* The following code was generated by JFlex 1.4.1 on 28.12.09 17:47 */
 
 /*
  * Copyright 2000-2007 JetBrains s.r.o.
@@ -26,7 +26,7 @@ import java.util.Stack;
 /**
  * This class is a scanner generated by 
  * <a href="http://www.jflex.de/">JFlex</a> 1.4.1
- * on 22.10.09 18:04 from the specification file
+ * on 28.12.09 17:47 from the specification file
  * <tt>groovy.flex</tt>
  */
 public class _GroovyLexer implements FlexLexer, GroovyTokenTypes {
@@ -388,64 +388,63 @@ public class _GroovyLexer implements FlexLexer, GroovyTokenTypes {
     "\24\0\14\115\11\0\16\120\2\0\3\120\1\0\1\120"+
     "\1\0\4\120\2\0\1\120\24\0\14\120\1\122\2\0"+
     "\1\122\1\124\31\122\1\0\4\122\1\0\42\122\1\0"+
-    "\3\123\1\331\101\0\1\122\2\0\103\122\4\127\1\130"+
-    "\31\127\1\0\4\127\1\332\43\127\2\0\141\127\1\0"+
-    "\4\127\1\333\42\127\11\0\1\334\1\0\14\334\3\0"+
-    "\2\334\1\0\1\334\1\0\4\334\2\0\1\334\24\0"+
-    "\14\334\11\0\1\335\1\0\14\335\3\0\2\335\1\0"+
-    "\1\335\1\0\4\335\2\0\1\335\24\0\14\335\1\0"+
-    "\3\136\1\336\102\0\3\140\1\337\112\0\16\141\2\0"+
-    "\3\141\1\0\1\141\1\0\4\141\2\0\1\141\24\0"+
-    "\14\141\5\0\1\143\101\0\3\151\1\340\106\0\1\152"+
-    "\101\0\1\341\1\161\103\0\1\342\2\343\1\342\1\344"+
-    "\1\210\1\345\27\342\1\346\47\342\4\0\1\347\102\0"+
-    "\3\165\1\350\112\0\16\166\2\0\3\166\1\0\1\166"+
-    "\1\0\4\166\2\0\1\166\24\0\14\166\1\170\2\0"+
-    "\1\170\1\171\1\172\30\170\1\173\50\170\1\351\2\170"+
-    "\1\171\1\352\30\170\1\353\47\170\5\0\1\172\111\0"+
-    "\1\354\1\0\14\354\3\0\2\354\1\0\1\354\1\0"+
-    "\4\354\2\0\1\354\24\0\14\354\1\0\3\177\1\355"+
-    "\102\0\2\177\110\0\1\210\1\211\100\0\2\32\105\0"+
-    "\1\33\103\0\1\210\2\0\103\210\6\356\1\357\77\356"+
-    "\52\0\1\360\33\0\1\216\2\0\103\216\12\0\1\361"+
-    "\14\0\2\362\1\361\66\0\1\363\16\0\1\363\65\0"+
-    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
-    "\6\41\1\364\5\41\11\0\16\41\2\0\3\41\1\0"+
-    "\2\41\1\365\3\41\2\0\1\41\24\0\14\41\11\0"+
-    "\6\41\1\366\7\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\3\41\1\367\2\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\2\41\1\370\3\41\2\0"+
-    "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\4\41\1\371\1\41\2\0\1\41\24\0\4\41\1\372"+
-    "\7\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\1\373\13\41\11\0\4\41\1\374\11\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\375"+
-    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\4\41\1\376\7\41\11\0\16\41"+
-    "\2\0\3\41\1\0\4\41\1\377\1\41\2\0\1\41"+
-    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\u0100\24\0\14\41\11\0\2\u0101\2\0\2\u0101"+
-    "\4\0\4\u0101\2\0\1\u0101\10\0\1\u0101\30\0\2\u0101"+
-    "\45\0\1\u0102\24\0\1\u0103\35\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\13\41\1\u0104\11\0"+
-    "\6\41\1\u0105\7\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\4\41\1\u0106\1\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\4\41\1\u0107\1\41\2\0"+
+    "\3\123\1\331\101\0\106\122\4\127\1\130\31\127\1\0"+
+    "\4\127\1\332\206\127\1\0\4\127\1\333\42\127\11\0"+
+    "\1\334\1\0\14\334\3\0\2\334\1\0\1\334\1\0"+
+    "\4\334\2\0\1\334\24\0\14\334\11\0\1\335\1\0"+
+    "\14\335\3\0\2\335\1\0\1\335\1\0\4\335\2\0"+
+    "\1\335\24\0\14\335\1\0\3\136\1\336\102\0\3\140"+
+    "\1\337\112\0\16\141\2\0\3\141\1\0\1\141\1\0"+
+    "\4\141\2\0\1\141\24\0\14\141\5\0\1\143\101\0"+
+    "\3\151\1\340\106\0\1\152\101\0\1\341\1\161\103\0"+
+    "\1\342\2\343\1\342\1\344\1\210\1\345\27\342\1\346"+
+    "\47\342\4\0\1\347\102\0\3\165\1\350\112\0\16\166"+
+    "\2\0\3\166\1\0\1\166\1\0\4\166\2\0\1\166"+
+    "\24\0\14\166\1\170\2\0\1\170\1\171\1\172\30\170"+
+    "\1\173\50\170\1\351\2\170\1\171\1\352\30\170\1\353"+
+    "\47\170\5\0\1\172\111\0\1\354\1\0\14\354\3\0"+
+    "\2\354\1\0\1\354\1\0\4\354\2\0\1\354\24\0"+
+    "\14\354\1\0\3\177\1\355\102\0\2\177\110\0\1\210"+
+    "\1\211\100\0\2\32\105\0\1\33\103\0\1\210\2\0"+
+    "\103\210\6\356\1\357\77\356\52\0\1\360\33\0\1\216"+
+    "\2\0\103\216\12\0\1\361\14\0\2\362\1\361\66\0"+
+    "\1\363\16\0\1\363\65\0\16\41\2\0\3\41\1\0"+
+    "\6\41\2\0\1\41\24\0\6\41\1\364\5\41\11\0"+
+    "\16\41\2\0\3\41\1\0\2\41\1\365\3\41\2\0"+
+    "\1\41\24\0\14\41\11\0\6\41\1\366\7\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\3\41\1\367\2\41\2\0"+
     "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\u0108\24\0\1\41\1\u0109\6\41\1\u010a"+
-    "\3\41\11\0\10\41\1\u010b\5\41\2\0\3\41\1\0"+
-    "\3\41\1\u010c\2\41\2\0\1\41\24\0\14\41\11\0"+
-    "\14\41\1\u010d\1\41\2\0\3\41\1\0\6\41\2\0"+
+    "\2\41\1\370\3\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\4\41\1\371\1\41\2\0"+
+    "\1\41\24\0\4\41\1\372\7\41\11\0\16\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\1\373\13\41"+
+    "\11\0\4\41\1\374\11\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\375\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\4\41"+
+    "\1\376\7\41\11\0\16\41\2\0\3\41\1\0\4\41"+
+    "\1\377\1\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\u0100\24\0\14\41"+
+    "\11\0\2\u0101\2\0\2\u0101\4\0\4\u0101\2\0\1\u0101"+
+    "\10\0\1\u0101\30\0\2\u0101\45\0\1\u0102\24\0\1\u0103"+
+    "\35\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\13\41\1\u0104\11\0\6\41\1\u0105\7\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\4\41\1\u0106\1\41\2\0"+
     "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\6\41\1\u010e\5\41\11\0"+
-    "\16\41\2\0\3\41\1\0\4\41\1\u010f\1\41\2\0"+
-    "\1\41\24\0\14\41\1\265\2\0\1\265\1\266\31\265"+
-    "\1\0\4\265\1\u0110\43\265\2\0\103\265\43\0\1\u0111"+
-    "\42\0\1\270\2\0\1\270\1\271\37\270\1\u0112\42\270"+
-    "\2\0\103\270\44\0\1\u0113\124\0\1\u0114\104\0\1\u0115"+
+    "\4\41\1\u0107\1\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\6\41\2\0\1\u0108\24\0"+
+    "\1\41\1\u0109\6\41\1\u010a\3\41\11\0\10\41\1\u010b"+
+    "\5\41\2\0\3\41\1\0\3\41\1\u010c\2\41\2\0"+
+    "\1\41\24\0\14\41\11\0\14\41\1\u010d\1\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\6\41\1\u010e\5\41\11\0\16\41\2\0\3\41\1\0"+
+    "\4\41\1\u010f\1\41\2\0\1\41\24\0\14\41\1\265"+
+    "\2\0\1\265\1\266\31\265\1\0\4\265\1\u0110\150\265"+
+    "\43\0\1\u0111\42\0\1\270\2\0\1\270\1\271\37\270"+
+    "\1\u0112\147\270\44\0\1\u0113\124\0\1\u0114\104\0\1\u0115"+
     "\75\0\1\u0116\105\0\1\u0117\7\0\1\u0118\34\0\10\41"+
     "\1\u0119\5\41\2\0\3\41\1\0\6\41\2\0\1\41"+
     "\24\0\6\41\1\u011a\5\41\11\0\16\41\2\0\3\41"+
@@ -481,244 +480,243 @@ public class _GroovyLexer implements FlexLexer, GroovyTokenTypes {
     "\47\342\1\343\2\0\1\343\1\u0130\1\0\30\343\1\147"+
     "\47\343\1\342\1\u0131\2\342\1\344\1\u0132\30\342\1\u0133"+
     "\47\342\1\u0134\2\356\1\u0134\1\u0135\1\356\1\u0136\27\u0134"+
-    "\1\356\47\u0134\5\0\1\u012f\100\0\1\164\2\0\103\164"+
-    "\1\0\2\165\103\0\1\170\1\0\2\170\1\171\1\172"+
-    "\30\170\1\173\47\170\11\0\16\354\2\0\3\354\1\0"+
-    "\1\354\1\0\4\354\2\0\1\354\24\0\14\354\6\356"+
-    "\1\u0137\77\356\5\u0138\1\u0139\1\357\77\u0138\12\0\1\361"+
-    "\2\u013a\2\221\4\0\2\224\4\0\1\361\66\0\1\361"+
-    "\16\0\1\361\66\0\1\363\2\u013a\2\221\4\0\2\224"+
-    "\2\225\2\0\1\363\65\0\16\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\1\41\1\u013b\12\41\11\0"+
+    "\1\356\47\u0134\5\0\1\u012f\100\0\106\164\1\0\2\165"+
+    "\103\0\1\170\1\0\2\170\1\171\1\172\30\170\1\173"+
+    "\47\170\11\0\16\354\2\0\3\354\1\0\1\354\1\0"+
+    "\4\354\2\0\1\354\24\0\14\354\6\356\1\u0137\77\356"+
+    "\5\u0138\1\u0139\1\357\77\u0138\12\0\1\361\2\u013a\2\221"+
+    "\4\0\2\224\4\0\1\361\66\0\1\361\16\0\1\361"+
+    "\66\0\1\363\2\u013a\2\221\4\0\2\224\2\225\2\0"+
+    "\1\363\65\0\16\41\2\0\3\41\1\0\6\41\2\0"+
+    "\1\41\24\0\1\41\1\u013b\12\41\11\0\16\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\1\41\1\u013c"+
+    "\12\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
+    "\1\41\24\0\4\41\1\u013d\7\41\11\0\2\41\1\u013e"+
+    "\13\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\14\41\11\0\14\41\1\u013f\1\41\2\0\3\41\1\0"+
+    "\6\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
+    "\3\41\1\0\4\41\1\u0140\1\41\2\0\1\41\24\0"+
+    "\14\41\11\0\6\41\1\u0141\7\41\2\0\3\41\1\0"+
+    "\6\41\2\0\1\41\24\0\6\41\1\u0142\5\41\11\0"+
     "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
-    "\1\41\1\u013c\12\41\11\0\16\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\4\41\1\u013d\7\41\11\0"+
-    "\2\41\1\u013e\13\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\14\41\11\0\14\41\1\u013f\1\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\4\41\1\u0140\1\41\2\0"+
-    "\1\41\24\0\14\41\11\0\6\41\1\u0141\7\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\6\41\1\u0142"+
-    "\5\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\1\41\1\u0143\12\41\11\0\16\41\2\0"+
-    "\3\41\1\0\5\41\1\u0144\2\0\1\41\24\0\14\41"+
-    "\11\0\14\41\1\u0145\1\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u0146\1\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\5\41\1\u0147\6\41\11\0\2\u0101\2\220\2\u0101"+
-    "\2\222\2\223\2\u0101\2\u0148\2\0\1\u0101\2\0\1\226"+
-    "\5\0\1\u0101\30\0\2\u0101\22\0\6\41\1\u0149\7\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\10\41\1\u014a\5\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\u014b\24\0\14\41\11\0\14\41"+
-    "\1\u014c\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\2\41"+
-    "\1\u014d\3\41\2\0\1\41\24\0\14\41\11\0\16\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\4\41"+
-    "\1\u014e\7\41\11\0\16\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\6\41\1\u014f\5\41\11\0\16\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\1\41"+
-    "\1\u0150\12\41\11\0\6\41\1\u0151\7\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\14\41"+
-    "\1\u0152\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\14\41\4\u0153\1\u0154\31\u0153\1\0\4\u0153\1\u0155"+
-    "\42\u0153\4\u0113\1\u0156\37\u0113\1\u0157\41\u0113\52\0\1\u0158"+
-    "\44\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\7\41\1\u0159\4\41\11\0\16\41\2\0\3\41"+
-    "\1\0\4\41\1\u015a\1\41\2\0\1\41\24\0\14\41"+
-    "\11\0\6\41\1\u015b\7\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\3\41\1\u015c\10\41"+
-    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u015d\1\41"+
-    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u015e\1\41"+
+    "\1\41\1\u0143\12\41\11\0\16\41\2\0\3\41\1\0"+
+    "\5\41\1\u0144\2\0\1\41\24\0\14\41\11\0\14\41"+
+    "\1\u0145\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\14\41\1\u0146\1\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\5\41"+
+    "\1\u0147\6\41\11\0\2\u0101\2\220\2\u0101\2\222\2\223"+
+    "\2\u0101\2\u0148\2\0\1\u0101\2\0\1\226\5\0\1\u0101"+
+    "\30\0\2\u0101\22\0\6\41\1\u0149\7\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\10\41"+
+    "\1\u014a\5\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\u014b\24\0\14\41\11\0\14\41\1\u014c\1\41"+
     "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\4\41\1\u015f\7\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\2\41\1\u0160\11\41"+
-    "\11\0\14\41\1\u0161\1\41\2\0\3\41\1\0\6\41"+
+    "\11\0\16\41\2\0\3\41\1\0\2\41\1\u014d\3\41"+
     "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\4\41\1\u0162\1\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\3\41\1\u0163\2\41"+
-    "\2\0\1\41\24\0\14\41\11\0\10\41\1\u0164\5\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u0165\1\41"+
-    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u0166\1\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
+    "\1\0\6\41\2\0\1\41\24\0\4\41\1\u014e\7\41"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\2\41\1\u0167\11\41\11\0\16\41\2\0\3\41"+
-    "\1\0\3\41\1\u0168\2\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u0169\1\41"+
-    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\1\41\1\u016a\12\41"+
-    "\11\0\12\41\1\u016b\3\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\6\41\1\u016c\7\41"+
+    "\24\0\6\41\1\u014f\5\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\1\41\1\u0150\12\41"+
+    "\11\0\6\41\1\u0151\7\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u0152\1\41"+
     "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\36\127\1\0\4\127\1\u016d\42\127\1\343\1\u016e\2\343"+
-    "\1\u0130\31\343\1\u016f\47\343\1\342\1\0\2\342\1\344"+
-    "\1\u012f\30\342\1\346\47\342\1\u0134\2\356\1\u0134\1\u0135"+
-    "\1\356\1\u0170\27\u0134\1\356\50\u0134\1\u0171\2\u0134\1\u0135"+
-    "\1\u0134\1\u0170\77\u0134\1\u0172\2\u0138\1\u0172\1\u0173\1\u0139"+
-    "\1\u0136\27\u0172\1\u0138\47\u0172\5\356\1\u0174\1\u0175\77\356"+
-    "\6\u0138\1\u0176\77\u0138\11\0\16\41\2\0\3\41\1\0"+
-    "\4\41\1\u0177\1\41\2\0\1\41\24\0\14\41\11\0"+
-    "\6\41\1\u0178\7\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\14\41\11\0\14\41\1\u0179\1\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\3\41\1\u017a\2\41\2\0"+
-    "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\1\41\1\u017b\12\41\11\0"+
-    "\14\41\1\u017c\1\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\3\41\1\u017d\2\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\6\41\2\0\1\u017e\24\0"+
-    "\14\41\11\0\6\41\1\u017f\7\41\2\0\3\41\1\0"+
+    "\4\u0153\1\u0154\31\u0153\1\0\4\u0153\1\u0155\42\u0153\4\u0113"+
+    "\1\u0156\37\u0113\1\u0157\41\u0113\52\0\1\u0158\44\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\7\41"+
+    "\1\u0159\4\41\11\0\16\41\2\0\3\41\1\0\4\41"+
+    "\1\u015a\1\41\2\0\1\41\24\0\14\41\11\0\6\41"+
+    "\1\u015b\7\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\3\41\1\u015c\10\41\11\0\16\41"+
+    "\2\0\3\41\1\0\4\41\1\u015d\1\41\2\0\1\41"+
+    "\24\0\14\41\11\0\14\41\1\u015e\1\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\4\41"+
+    "\1\u015f\7\41\11\0\16\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\2\41\1\u0160\11\41\11\0\14\41"+
+    "\1\u0161\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\4\41"+
+    "\1\u0162\1\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\3\41\1\u0163\2\41\2\0\1\41"+
+    "\24\0\14\41\11\0\10\41\1\u0164\5\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\4\41\1\u0165\1\41\2\0\1\41"+
+    "\24\0\14\41\11\0\14\41\1\u0166\1\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\2\41"+
+    "\1\u0167\11\41\11\0\16\41\2\0\3\41\1\0\3\41"+
+    "\1\u0168\2\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\4\41\1\u0169\1\41\2\0\1\41"+
+    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\1\41\1\u016a\12\41\11\0\12\41"+
+    "\1\u016b\3\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\6\41\1\u016c\7\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\36\127\1\0"+
+    "\4\127\1\u016d\42\127\1\343\1\u016e\2\343\1\u0130\31\343"+
+    "\1\u016f\47\343\1\342\1\0\2\342\1\344\1\u012f\30\342"+
+    "\1\346\47\342\1\u0134\2\356\1\u0134\1\u0135\1\356\1\u0170"+
+    "\27\u0134\1\356\50\u0134\1\u0171\2\u0134\1\u0135\1\u0134\1\u0170"+
+    "\77\u0134\1\u0172\2\u0138\1\u0172\1\u0173\1\u0139\1\u0136\27\u0172"+
+    "\1\u0138\47\u0172\5\356\1\u0174\1\u0175\77\356\6\u0138\1\u0176"+
+    "\77\u0138\11\0\16\41\2\0\3\41\1\0\4\41\1\u0177"+
+    "\1\41\2\0\1\41\24\0\14\41\11\0\6\41\1\u0178"+
+    "\7\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\14\41\11\0\14\41\1\u0179\1\41\2\0\3\41\1\0"+
     "\6\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
-    "\3\41\1\0\2\41\1\u0180\3\41\2\0\1\41\24\0"+
-    "\14\41\11\0\2\u0101\2\220\2\u0101\2\222\2\223\2\u0101"+
-    "\2\u0148\2\362\1\u0101\2\0\1\226\5\0\1\u0101\30\0"+
-    "\2\u0101\22\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\7\41\1\u0181\4\41\11\0\16\41\2\0"+
-    "\3\41\1\0\3\41\1\u0182\2\41\2\0\1\41\24\0"+
+    "\3\41\1\0\3\41\1\u017a\2\41\2\0\1\41\24\0"+
     "\14\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\4\41\1\u0183\7\41\11\0\16\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\13\41\1\u0184"+
+    "\1\41\24\0\1\41\1\u017b\12\41\11\0\14\41\1\u017c"+
+    "\1\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\14\41\11\0\16\41\2\0\3\41\1\0\3\41\1\u017d"+
+    "\2\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\u017e\24\0\14\41\11\0"+
+    "\6\41\1\u017f\7\41\2\0\3\41\1\0\6\41\2\0"+
+    "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
+    "\2\41\1\u0180\3\41\2\0\1\41\24\0\14\41\11\0"+
+    "\2\u0101\2\220\2\u0101\2\222\2\223\2\u0101\2\u0148\2\362"+
+    "\1\u0101\2\0\1\226\5\0\1\u0101\30\0\2\u0101\22\0"+
+    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\7\41\1\u0181\4\41\11\0\16\41\2\0\3\41\1\0"+
+    "\3\41\1\u0182\2\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\4\41\1\u0183\7\41\11\0\16\41\2\0\3\41\1\0"+
+    "\6\41\2\0\1\41\24\0\13\41\1\u0184\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\3\41"+
+    "\1\u0185\10\41\11\0\14\41\1\u0186\1\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\4\u0153\1\u0154"+
+    "\31\u0153\1\0\4\u0153\1\u0187\206\u0153\1\0\4\u0153\1\u0188"+
+    "\42\u0153\4\u0113\1\u0156\37\u0113\1\u0189\105\u0113\1\u018a\41\u0113"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\3\41\1\u0185\10\41\11\0\14\41\1\u0186\1\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\4\u0153\1\u0154\31\u0153\1\0\4\u0153\1\u0187\43\u0153\2\0"+
-    "\141\u0153\1\0\4\u0153\1\u0188\42\u0153\4\u0113\1\u0156\37\u0113"+
-    "\1\u0189\105\u0113\1\u018a\41\u0113\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\1\41\1\u018b\12\41"+
-    "\11\0\14\41\1\u018c\1\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\10\41\1\u018d\5\41"+
+    "\24\0\1\41\1\u018b\12\41\11\0\14\41\1\u018c\1\41"+
     "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
+    "\11\0\10\41\1\u018d\5\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\1\41\1\u018e\12\41"+
+    "\11\0\16\41\2\0\3\41\1\0\3\41\1\u018f\2\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\3\41\1\u0190\2\41\2\0\1\41\24\0\14\41"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\1\41\1\u018e\12\41\11\0\16\41\2\0\3\41"+
-    "\1\0\3\41\1\u018f\2\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\3\41\1\u0190\2\41"+
+    "\24\0\4\41\1\u0191\7\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\11\41\1\u0192\2\41"+
+    "\11\0\10\41\1\u0193\5\41\2\0\3\41\1\0\6\41"+
     "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\4\41\1\u0191\7\41"+
+    "\1\0\6\41\2\0\1\41\24\0\2\41\1\u0194\11\41"+
+    "\11\0\10\41\1\u0195\5\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\3\41\1\u0196\2\41\2\0\1\41\24\0\14\41"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\11\41\1\u0192\2\41\11\0\10\41\1\u0193\5\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
+    "\24\0\11\41\1\u0197\2\41\11\0\16\41\2\0\3\41"+
+    "\1\0\4\41\1\u0198\1\41\2\0\1\41\24\0\14\41"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\2\41\1\u0194\11\41\11\0\10\41\1\u0195\5\41"+
+    "\24\0\2\41\1\u0199\11\41\11\0\16\41\2\0\3\41"+
+    "\1\0\4\41\1\u019a\1\41\2\0\1\41\24\0\14\41"+
+    "\11\0\14\41\1\u019b\1\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\1\343\1\0\2\343\1\u0130"+
+    "\1\0\30\343\1\147\47\343\1\u0134\2\356\1\u0134\1\u0135"+
+    "\1\u0174\1\u019c\27\u0134\1\356\50\u0134\1\356\2\u0134\1\u0135"+
+    "\1\356\1\u0170\27\u0134\1\356\47\u0134\1\u0172\2\u0138\1\u0172"+
+    "\1\u0173\1\u0138\1\u019d\27\u0172\1\u0138\50\u0172\1\u019e\2\u0172"+
+    "\1\u0173\1\u0172\1\u019d\77\u0172\5\u0138\1\u0139\1\u019f\77\u0138"+
+    "\11\0\6\41\1\u01a0\7\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\11\0\4\41\1\u01a1\11\41"+
     "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\3\41\1\u0196\2\41"+
+    "\11\0\16\41\2\0\3\41\1\0\2\41\1\u01a2\3\41"+
     "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\11\41\1\u0197\2\41"+
-    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u0198\1\41"+
-    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\2\41\1\u0199\11\41"+
-    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u019a\1\41"+
-    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u019b\1\41"+
+    "\1\0\6\41\2\0\1\41\24\0\5\41\1\u01a3\6\41"+
+    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u01a4\1\41"+
+    "\2\0\1\41\24\0\14\41\11\0\6\41\1\u01a5\7\41"+
     "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\1\343\1\0\2\343\1\u0130\1\0\30\343\1\147\47\343"+
-    "\1\u0134\2\356\1\u0134\1\u0135\1\u0174\1\u019c\27\u0134\1\356"+
-    "\50\u0134\1\356\2\u0134\1\u0135\1\356\1\u0170\27\u0134\1\356"+
-    "\47\u0134\1\u0172\2\u0138\1\u0172\1\u0173\1\u0138\1\u019d\27\u0172"+
-    "\1\u0138\50\u0172\1\u019e\2\u0172\1\u0173\1\u0172\1\u019d\77\u0172"+
-    "\5\u0138\1\u0139\1\u019f\77\u0138\11\0\6\41\1\u01a0\7\41"+
+    "\11\0\14\41\1\u01a6\1\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\11\0\12\41\1\u01a7\3\41"+
     "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\4\41\1\u01a1\11\41\2\0\3\41\1\0\6\41"+
+    "\11\0\14\41\1\u01a8\1\41\2\0\3\41\1\0\6\41"+
     "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\2\41\1\u01a2\3\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\5\41\1\u01a3\6\41\11\0\16\41\2\0\3\41"+
-    "\1\0\4\41\1\u01a4\1\41\2\0\1\41\24\0\14\41"+
-    "\11\0\6\41\1\u01a5\7\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u01a6\1\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\12\41\1\u01a7\3\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\14\41\11\0\14\41\1\u01a8\1\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\2\41\1\u01a9\3\41"+
-    "\2\0\1\41\24\0\14\41\11\0\10\41\1\u01aa\5\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\4\41\1\u01ab\7\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\1\41\1\u01ac\12\41"+
-    "\36\u0153\1\0\4\u0153\1\u01ad\100\u0153\1\0\4\u0153\1\0"+
-    "\42\u0153\4\u0113\1\u0156\37\u0113\1\u01ae\105\u0113\1\u0112\41\u0113"+
-    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u01af\1\41"+
+    "\1\0\2\41\1\u01a9\3\41\2\0\1\41\24\0\14\41"+
+    "\11\0\10\41\1\u01aa\5\41\2\0\3\41\1\0\6\41"+
     "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\2\41\1\u01b0\11\41"+
+    "\1\0\6\41\2\0\1\41\24\0\4\41\1\u01ab\7\41"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\2\41\1\u01b1\11\41\11\0\2\41\1\u01b2\13\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
+    "\24\0\1\41\1\u01ac\12\41\36\u0153\1\0\4\u0153\1\u01ad"+
+    "\100\u0153\1\0\4\u0153\1\0\42\u0153\4\u0113\1\u0156\37\u0113"+
+    "\1\u01ae\105\u0113\1\u0112\41\u0113\11\0\16\41\2\0\3\41"+
+    "\1\0\4\41\1\u01af\1\41\2\0\1\41\24\0\14\41"+
     "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\1\41\1\u01b3\12\41\11\0\16\41\2\0\3\41"+
-    "\1\0\4\41\1\u01b4\1\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\2\41\1\u01b5\3\41"+
+    "\24\0\2\41\1\u01b0\11\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\2\41\1\u01b1\11\41"+
+    "\11\0\2\41\1\u01b2\13\41\2\0\3\41\1\0\6\41"+
     "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
-    "\1\0\4\41\1\u01b6\1\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\2\41\1\u01b7\11\41\11\0\16\41\2\0\3\41"+
-    "\1\0\3\41\1\u01b8\2\41\2\0\1\41\24\0\14\41"+
-    "\11\0\16\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\11\41\1\u01b9\2\41\11\0\10\41\1\u01ba\5\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\14\41"+
-    "\1\u0172\2\u0138\1\u0172\1\u0173\1\u0139\1\u01bb\27\u0172\1\u0138"+
-    "\50\u0172\1\u0138\2\u0172\1\u0173\1\u0138\1\u019d\27\u0172\1\u0138"+
-    "\47\u0172\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\10\41\1\u01bc\3\41\11\0\16\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\1\41\1\u01bd"+
-    "\12\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\41\24\0\2\41\1\u01be\11\41\11\0\14\41\1\u01bf"+
-    "\1\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
-    "\14\41\11\0\16\41\2\0\3\41\1\0\4\41\1\u01c0"+
-    "\1\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\4\41\1\u01c1"+
-    "\7\41\11\0\14\41\1\u01c2\1\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
-    "\3\41\1\0\2\41\1\u01c3\3\41\2\0\1\41\24\0"+
-    "\14\41\36\u0153\1\0\4\u0153\1\u0110\42\u0153\44\u0113\1\u01c4"+
-    "\41\u0113\11\0\14\41\1\u01c5\1\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
-    "\3\41\1\0\4\41\1\u01c6\1\41\2\0\1\41\24\0"+
-    "\14\41\11\0\14\41\1\u01c7\1\41\2\0\3\41\1\0"+
+    "\1\0\6\41\2\0\1\41\24\0\1\41\1\u01b3\12\41"+
+    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u01b4\1\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\2\41\1\u01b5\3\41\2\0\1\41\24\0\14\41"+
+    "\11\0\16\41\2\0\3\41\1\0\4\41\1\u01b6\1\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\2\41\1\u01b7\11\41"+
+    "\11\0\16\41\2\0\3\41\1\0\3\41\1\u01b8\2\41"+
+    "\2\0\1\41\24\0\14\41\11\0\16\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\11\41\1\u01b9\2\41"+
+    "\11\0\10\41\1\u01ba\5\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\14\41\1\u0172\2\u0138\1\u0172\1\u0173"+
+    "\1\u0139\1\u01bb\27\u0172\1\u0138\50\u0172\1\u0138\2\u0172\1\u0173"+
+    "\1\u0138\1\u019d\27\u0172\1\u0138\47\u0172\11\0\16\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\10\41\1\u01bc"+
+    "\3\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
+    "\1\41\24\0\1\41\1\u01bd\12\41\11\0\16\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\2\41\1\u01be"+
+    "\11\41\11\0\14\41\1\u01bf\1\41\2\0\3\41\1\0"+
     "\6\41\2\0\1\41\24\0\14\41\11\0\16\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\2\41\1\u01c8"+
-    "\11\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
-    "\1\u01c9\24\0\14\41\11\0\4\41\1\u01ca\11\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
-    "\6\41\1\u01cb\5\41\11\0\6\41\1\u01cc\7\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
-    "\2\41\1\u01cd\11\41\11\0\14\41\1\u01ce\1\41\2\0"+
-    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
-    "\16\41\2\0\3\41\1\0\2\41\1\u01cf\3\41\2\0"+
+    "\3\41\1\0\4\41\1\u01c0\1\41\2\0\1\41\24\0"+
+    "\14\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
+    "\1\41\24\0\4\41\1\u01c1\7\41\11\0\14\41\1\u01c2"+
+    "\1\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\14\41\11\0\16\41\2\0\3\41\1\0\2\41\1\u01c3"+
+    "\3\41\2\0\1\41\24\0\14\41\36\u0153\1\0\4\u0153"+
+    "\1\u0110\42\u0153\44\u0113\1\u01c4\41\u0113\11\0\14\41\1\u01c5"+
+    "\1\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\14\41\11\0\16\41\2\0\3\41\1\0\4\41\1\u01c6"+
+    "\1\41\2\0\1\41\24\0\14\41\11\0\14\41\1\u01c7"+
+    "\1\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\14\41\11\0\16\41\2\0\3\41\1\0\6\41\2\0"+
+    "\1\41\24\0\2\41\1\u01c8\11\41\11\0\16\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\u01c9\24\0\14\41\11\0"+
+    "\4\41\1\u01ca\11\41\2\0\3\41\1\0\6\41\2\0"+
     "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\2\41\1\u01d0\3\41\2\0\1\41\24\0\14\41\11\0"+
-    "\14\41\1\u01d1\1\41\2\0\3\41\1\0\6\41\2\0"+
+    "\6\41\2\0\1\41\24\0\6\41\1\u01cb\5\41\11\0"+
+    "\6\41\1\u01cc\7\41\2\0\3\41\1\0\6\41\2\0"+
     "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\4\41\1\u01d2\1\41\2\0\1\41\24\0\14\41\11\0"+
-    "\14\41\1\u01d3\1\41\2\0\3\41\1\0\6\41\2\0"+
+    "\6\41\2\0\1\41\24\0\2\41\1\u01cd\11\41\11\0"+
+    "\14\41\1\u01ce\1\41\2\0\3\41\1\0\6\41\2\0"+
     "\1\41\24\0\14\41\11\0\16\41\2\0\3\41\1\0"+
-    "\6\41\2\0\1\41\24\0\1\u01d4\13\41\11\0\16\41"+
-    "\2\0\3\41\1\0\2\41\1\u01d5\3\41\2\0\1\41"+
-    "\24\0\14\41\11\0\14\41\1\u01d6\1\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\14\41"+
-    "\1\u01d7\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\6\41\1\u01d8\5\41\11\0\16\41"+
-    "\2\0\3\41\1\0\4\41\1\u01d9\1\41\2\0\1\41"+
-    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\4\41"+
-    "\1\u01da\1\41\2\0\1\41\24\0\14\41\11\0\12\41"+
-    "\1\u01db\3\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\14\41\11\0\10\41\1\u01dc\5\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\4\41"+
-    "\1\u01dd\11\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\14\41\11\0\16\41\2\0\3\41\1\0\6\41"+
-    "\2\0\1\41\24\0\4\41\1\u01de\7\41\11\0\16\41"+
-    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\12\41"+
-    "\1\u01df\1\41\11\0\14\41\1\u01e0\1\41\2\0\3\41"+
-    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\12\41"+
-    "\1\u01e1\3\41\2\0\3\41\1\0\6\41\2\0\1\41"+
-    "\24\0\14\41";
+    "\2\41\1\u01cf\3\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\2\41\1\u01d0\3\41\2\0"+
+    "\1\41\24\0\14\41\11\0\14\41\1\u01d1\1\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\4\41\1\u01d2\1\41\2\0"+
+    "\1\41\24\0\14\41\11\0\14\41\1\u01d3\1\41\2\0"+
+    "\3\41\1\0\6\41\2\0\1\41\24\0\14\41\11\0"+
+    "\16\41\2\0\3\41\1\0\6\41\2\0\1\41\24\0"+
+    "\1\u01d4\13\41\11\0\16\41\2\0\3\41\1\0\2\41"+
+    "\1\u01d5\3\41\2\0\1\41\24\0\14\41\11\0\14\41"+
+    "\1\u01d6\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\14\41\1\u01d7\1\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\6\41"+
+    "\1\u01d8\5\41\11\0\16\41\2\0\3\41\1\0\4\41"+
+    "\1\u01d9\1\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\4\41\1\u01da\1\41\2\0\1\41"+
+    "\24\0\14\41\11\0\12\41\1\u01db\3\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\10\41"+
+    "\1\u01dc\5\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\4\41\1\u01dd\11\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41\11\0\16\41"+
+    "\2\0\3\41\1\0\6\41\2\0\1\41\24\0\4\41"+
+    "\1\u01de\7\41\11\0\16\41\2\0\3\41\1\0\6\41"+
+    "\2\0\1\41\24\0\12\41\1\u01df\1\41\11\0\14\41"+
+    "\1\u01e0\1\41\2\0\3\41\1\0\6\41\2\0\1\41"+
+    "\24\0\14\41\11\0\12\41\1\u01e1\3\41\2\0\3\41"+
+    "\1\0\6\41\2\0\1\41\24\0\14\41";
 
   private static int [] zzUnpackTrans() {
     int [] result = new int[23730];
index 5ca59ae96b4caa2097f8a7ecaf91c3170ad7e9e1..4c407bb36a0b9badbf7e9c80a4a166c896358c58 100644 (file)
@@ -134,7 +134,7 @@ mIDENT_NOBUCKS = {mLETTER} ({mLETTER} | {mDIGIT})*
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 mSTRING_NL = {mONE_NL}
-mSTRING_ESC = \\ [^\n\r]
+mSTRING_ESC = \\ [^]
 mREGEX_ESC = \\ n | \\ r | \\ t | \\ b | \\ f | "\\" "\\" | \\ "$" | \\ \" | \\ \'
 | "\\""u"{mHEX_DIGIT}{4}
 | "\\" [0..3] ([0..7] ([0..7])?)?
index db559ba0d0499a321f4ff152fb90561ba65ead42..4f118b931ffe361a6070b1f0263444e8dc400477 100644 (file)
@@ -38,4 +38,8 @@ public class ConvertGStringToStringTest extends GrIntentionTestCase {
   public void testEscaping() throws Exception {
     doTest("Convert to String", true);
   }
+
+  public void testSlashBeforeNewLine() throws Exception {
+    doTest("Convert to String", true);
+  }
 }
diff --git a/plugins/groovy/testdata/intentions/convertGStringToString/SlashBeforeNewLine.groovy b/plugins/groovy/testdata/intentions/convertGStringToString/SlashBeforeNewLine.groovy
new file mode 100644 (file)
index 0000000..b66c8b5
--- /dev/null
@@ -0,0 +1,4 @@
+def text = """\
+s<caret>ome text
+${s}
+"""
diff --git a/plugins/groovy/testdata/intentions/convertGStringToString/SlashBeforeNewLine_after.groovy b/plugins/groovy/testdata/intentions/convertGStringToString/SlashBeforeNewLine_after.groovy
new file mode 100644 (file)
index 0000000..cb15818
--- /dev/null
@@ -0,0 +1,4 @@
+def text = '''\
+some text
+''' + String.valueOf(s) + '''
+'''