/*
 * Written by Tianhua Han, than@lucent.com 
 *
 * Permission is granted to anyone to use this software for any purpose 
 * on any computer system, and to alter it and redistribute it freely, 
 * subject to the following restrictions:
 *
 * The author is not responsible for the consequences of use of this 
 * software, no matter how awful, even if they arise from flaws in it.
 */
