BEGIN{
str = "google.com/search?q=%60Abdu%27l-Bah%C3%A1" # google.com/search?q=`Abdu'l-Bahá
len=length(str)
for (i=1;i<=len;i++) {
if ( substr(str,i,1) == "%") {
L = substr(str,1,i-1) # chars to left of "%"
M = substr(str,i+1,2) # 2 chars to right of "%"
R = substr(str,i+3) # chars to right of "%xx"
str
= sprintf("%s%c%s",L
,hex2dec
(M
),R
) }
}
}
function hex2dec(s, num) {
num
= index
("0123456789ABCDEF",toupper(substr
(s
,length
(s
)))) - 1 sub(/.$/,"",s)
return num + (length(s) ? 16*hex2dec(s) : 0)
}
QkVHSU57CnN0ciA9ICJnb29nbGUuY29tL3NlYXJjaD9xPSU2MEFiZHUlMjdsLUJhaCVDMyVBMSIgIyBnb29nbGUuY29tL3NlYXJjaD9xPWBBYmR1J2wtQmFow6EKICAgIHByaW50ZigiJXNcbiIsc3RyKQogICAgbGVuPWxlbmd0aChzdHIpCiAgICBmb3IgKGk9MTtpPD1sZW47aSsrKSB7CiAgICAgIGlmICggc3Vic3RyKHN0cixpLDEpID09ICIlIikgewogICAgICAgIEwgPSBzdWJzdHIoc3RyLDEsaS0xKSAjIGNoYXJzIHRvIGxlZnQgb2YgIiUiCiAgICAgICAgTSA9IHN1YnN0cihzdHIsaSsxLDIpICMgMiBjaGFycyB0byByaWdodCBvZiAiJSIKICAgICAgICBSID0gc3Vic3RyKHN0cixpKzMpICAgIyBjaGFycyB0byByaWdodCBvZiAiJXh4IgogICAgICAgIHN0ciA9IHNwcmludGYoIiVzJWMlcyIsTCxoZXgyZGVjKE0pLFIpCiAgICAgIH0KICAgIH0KICAgIHByaW50ZigiJXNcbiIsc3RyKQogICAgZXhpdCgwKQp9CmZ1bmN0aW9uIGhleDJkZWMocywgIG51bSkgewogICAgbnVtID0gaW5kZXgoIjAxMjM0NTY3ODlBQkNERUYiLHRvdXBwZXIoc3Vic3RyKHMsbGVuZ3RoKHMpKSkpIC0gMQogICAgc3ViKC8uJC8sIiIscykKICAgIHJldHVybiBudW0gKyAobGVuZ3RoKHMpID8gMTYqaGV4MmRlYyhzKSA6IDApCn0K