特别长的判断式，其实简单得很。。

Signed-off-by: Xuanwo <vars.cn@gmail.com>