internal static int HexDigit(char ch)
{
int d;
if ((uint)(d = ch - '0') <= 9)
return d;
if ((uint)(d = ch - 'a') <= 5)
return d + 0xa;
if ((uint)(d = ch - 'A') <= 5)
return d + 0xa;
return -1;
}