code: public void setInput(final String input)
  		throws DecodingException
  	{
  
  		boolean zipFlag = input.charAt(0) == '_';
  		if (zipFlag) {
  			r = new BitReader(inflateInput(
  					Base64.decodeBase64(input.substring(1)), 0));
  		}
  		else {
  			byte[] data = Base64.decodeBase64(input);
  			if (data == null) {
  
  				for (int i = 0; i < input.length(); i++) {
  					System.err.println(i + ": " + (int) input.charAt(i)
  							+ " <> " + input.charAt(i));
  				}
  
  				throw new DecodingException("BASE 64 DECODING FAILED: " + input);
  			}
  			r = new BitReader(data);
  		}
  	}
docs: Assigns base 64 encoded input.
  
  @param input
  base 64 encoded diff
  
  @throws DecodingException
  if the decoding fails