This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

This product includes the ANTLR parsing library,
developed by JGuru.com (http://www.antlr.org and
http://www.jguru.com).

This product includes software developed by 
The OpenSymphony Group (http://www.opensymphony.com/).
