-     import java.util.*; 
-     import java.io.*; 
-     import java.util.regex.*; 
-     import java.util.List; 
-   
-     class Program { 
-   
-     String-  subject  = "a, b, c, search:(1, 2, 3), d";
 
-     Pattern regex = Pattern.compile("\\([^)]*\\)|(\\s*,\\s*)"); 
-     Matcher m = regex.matcher(subject); 
-     while (m.find()) { 
-     if(m.group(1) != null) m.appendReplacement(b, "SplitHere"); 
-     else m.appendReplacement(b, m.group(0)); 
-     } 
-     m.appendTail(b); 
-     String-  replaced  =-  b. toString();
 
-     String[]-  splits  =-  replaced. split("SplitHere");
 
-     } // end main 
-     } // end Program 
				ICAgIGltcG9ydCBqYXZhLnV0aWwuKjsKICAgIGltcG9ydCBqYXZhLmlvLio7CiAgICBpbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CiAgICBpbXBvcnQgamF2YS51dGlsLkxpc3Q7CiAgICAgCiAgICBjbGFzcyBQcm9ncmFtIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgl7CiAgICAgCiAgICBTdHJpbmcgc3ViamVjdCA9ICJhLCBiLCBjLCBzZWFyY2g6KDEsIDIsIDMpLCBkIjsKICAgIFBhdHRlcm4gcmVnZXggPSBQYXR0ZXJuLmNvbXBpbGUoIlxcKFteKV0qXFwpfChcXHMqLFxccyopIik7CiAgICBNYXRjaGVyIG0gPSByZWdleC5tYXRjaGVyKHN1YmplY3QpOwogICAgU3RyaW5nQnVmZmVyIGI9IG5ldyBTdHJpbmdCdWZmZXIoKTsKICAgIHdoaWxlIChtLmZpbmQoKSkgewogICAgaWYobS5ncm91cCgxKSAhPSBudWxsKSBtLmFwcGVuZFJlcGxhY2VtZW50KGIsICJTcGxpdEhlcmUiKTsKICAgIGVsc2UgbS5hcHBlbmRSZXBsYWNlbWVudChiLCBtLmdyb3VwKDApKTsKICAgIH0KICAgIG0uYXBwZW5kVGFpbChiKTsKICAgIFN0cmluZyByZXBsYWNlZCA9IGIudG9TdHJpbmcoKTsKICAgIFN0cmluZ1tdIHNwbGl0cyA9IHJlcGxhY2VkLnNwbGl0KCJTcGxpdEhlcmUiKTsKICAgIGZvciAoU3RyaW5nIHNwbGl0IDogc3BsaXRzKSBTeXN0ZW0ub3V0LnByaW50bG4oc3BsaXQpOwogICAgfSAvLyBlbmQgbWFpbgogICAgfSAvLyBlbmQgUHJvZ3JhbQ==