var r = "";
var n = arguments.name;
var v = arguments.value;
// Don't let any exceptions stop the transaction
try {
if (compareNoCase("ACCT", n) eq 0) {
r = repeatString("X", len(v) - 4) + right(v, 4);
} else if (listContainsNoCase("CVV2,PWD,SIGNATURE", n) gt 0) {
r = repeatString("X", len(v));
} else {
r = v;
}
}
catch(Any e) {
// Fail without disclosing any data
r = "MaskingException on #n#";
}
return r;