Expand and compress
IPv6 addresses can be written long (every group padded to four hex digits) or short (leading zeros dropped, one run of zero groups replaced by ::). Tools and configs sometimes need one form or the other — this converts both ways and validates the address.