code: func pkcs7Unpad(data []byte, blockSize int) ([]byte, error) {
  	if blockSize <= 0 {
  		return nil, ErrInvalidBlockSize
  	}
  	if len(data)%blockSize != 0 || len(data) == 0 {
  		return nil, ErrInvalidPKCS7Data
  	}
  	c := data[len(data)-1]
  	n := int(c)
  	if n == 0 || n > len(data) {
  		return nil, ErrInvalidPKCS7Padding
  	}
  	for i := 0; i < n; i++ {
  		if data[len(data)-n+i] != c {
  			return nil, ErrInvalidPKCS7Padding
  		}
  	}
  	return data[:len(data)-n], nil
  }
docs: // pkcs7Unpad returns slice of the original data without padding