- /* package whatever; // don't place package name! */ 
-   
- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- /* Name of the class has to be "Main" only if the class is public. */ 
- class Ideone 
- { 
- 	{ 
-         String-  data  = "syntax = \"proto3\";\r\n" +
 
-             "package grpc;\r\n" +  
-             "\r\n" +  
-             "import \"envoyproxy/protoc-gen-validate/validate/validate.proto\";\r\n" +  
-             "import \"google/api/annotations.proto\";\r\n" +  
-             "import \"google/protobuf/wrappers.proto\";\r\n" +  
-             "import \"protoc-gen-swagger/options/annotations.proto\";\r\n" +  
-             "\r\n" +  
-             "message Acc {\r\n" +  
-             "    message AccErr {\r\n" +  
-             "        enum Enum {\r\n" +  
-             "            UNKNOWN = 0;\r\n" +  
-             "            CASH = 1;\r\n" +  
-             "        }\r\n" +  
-             "    }\r\n" +  
-             "    string account_id = 1;\r\n" +  
-             "    string name = 3;\r\n" +  
-             "    string account_type = 4;\r\n" +  
-             "}\r\n" +  
-             "\r\n" +  
-             "message Name {\r\n" +  
-             "    string firstname = 1;\r\n" +  
-             "    string lastname = 2;\r\n" +  
-             "}"; 
-         String[]-  messages  =-  data. replaceAll("(?sm)\\A.*?(?=^message)"- ,  "")- . split("\\R+(?=message)");
 
-         System- . out- . println("Found " +-  messages. length + " messages: " + Arrays- . toString(- messages ));
 
- 	} 
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIFN0cmluZyBkYXRhID0gInN5bnRheCA9IFwicHJvdG8zXCI7XHJcbiIgKyAKICAgICAgICAgICAgInBhY2thZ2UgZ3JwYztcclxuIiArIAogICAgICAgICAgICAiXHJcbiIgKyAKICAgICAgICAgICAgImltcG9ydCBcImVudm95cHJveHkvcHJvdG9jLWdlbi12YWxpZGF0ZS92YWxpZGF0ZS92YWxpZGF0ZS5wcm90b1wiO1xyXG4iICsgCiAgICAgICAgICAgICJpbXBvcnQgXCJnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvXCI7XHJcbiIgKyAKICAgICAgICAgICAgImltcG9ydCBcImdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90b1wiO1xyXG4iICsgCiAgICAgICAgICAgICJpbXBvcnQgXCJwcm90b2MtZ2VuLXN3YWdnZXIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90b1wiO1xyXG4iICsgCiAgICAgICAgICAgICJcclxuIiArIAogICAgICAgICAgICAibWVzc2FnZSBBY2Mge1xyXG4iICsgCiAgICAgICAgICAgICIgICAgbWVzc2FnZSBBY2NFcnIge1xyXG4iICsgCiAgICAgICAgICAgICIgICAgICAgIGVudW0gRW51bSB7XHJcbiIgKyAKICAgICAgICAgICAgIiAgICAgICAgICAgIFVOS05PV04gPSAwO1xyXG4iICsgCiAgICAgICAgICAgICIgICAgICAgICAgICBDQVNIID0gMTtcclxuIiArIAogICAgICAgICAgICAiICAgICAgICB9XHJcbiIgKyAKICAgICAgICAgICAgIiAgICB9XHJcbiIgKyAKICAgICAgICAgICAgIiAgICBzdHJpbmcgYWNjb3VudF9pZCA9IDE7XHJcbiIgKyAKICAgICAgICAgICAgIiAgICBzdHJpbmcgbmFtZSA9IDM7XHJcbiIgKyAKICAgICAgICAgICAgIiAgICBzdHJpbmcgYWNjb3VudF90eXBlID0gNDtcclxuIiArIAogICAgICAgICAgICAifVxyXG4iICsgCiAgICAgICAgICAgICJcclxuIiArIAogICAgICAgICAgICAibWVzc2FnZSBOYW1lIHtcclxuIiArIAogICAgICAgICAgICAiICAgIHN0cmluZyBmaXJzdG5hbWUgPSAxO1xyXG4iICsgCiAgICAgICAgICAgICIgICAgc3RyaW5nIGxhc3RuYW1lID0gMjtcclxuIiArIAogICAgICAgICAgICAifSI7CiAgICAgICAgU3RyaW5nW10gbWVzc2FnZXMgPSBkYXRhLnJlcGxhY2VBbGwoIig/c20pXFxBLio/KD89Xm1lc3NhZ2UpIiwgIiIpLnNwbGl0KCJcXFIrKD89bWVzc2FnZSkiKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZvdW5kICIgKyBtZXNzYWdlcy5sZW5ndGggKyAiIG1lc3NhZ2VzOiAiICsgQXJyYXlzLnRvU3RyaW5nKG1lc3NhZ2VzKSk7Cgl9Cn0=