docs: public static Map executeAndReturnRootScopeVars(String script)
  	{
  		String start = gt.getConf().getStatementStart();
  		String end = gt.getConf().getStatementEnd();
  		if(end==null) {
  			end = "";
  		}
  		StringBuilder sb = new StringBuilder(script.length() + start.length() + end.length());
  		sb.append(start).append(script);
  
  		sb.append(end);
  		Template t = gt.getTemplate(sb.toString());
  		//		t.binding(paras);
  		t.render();
  		Map<String, Integer> idnexMap = t.program.metaData.getTemplateRootScopeIndexMap();
  		Object[] values = t.ctx.vars;
  		Map<String, Object> result = new HashMap<String, Object>();
  		for (Entry<String, Integer> entry : idnexMap.entrySet())
  		{
  			String name = entry.getKey();
  			int index = entry.getValue();
  			Object value = values[index];
  			result.put(name, value);
  		}
  		return result;
  
  	}