code: func (c *Client) GetPin() ([]byte, error) {
  	if _, err := c.in.Write([]byte("GETPIN\n")); err != nil {
  		return nil, err
  	}
  	pin, _, err := c.out.ReadLine()
  	if err != nil {
  		return nil, err
  	}
  	if bytes.HasPrefix(pin, []byte("OK")) {
  		return nil, nil
  	}
  	if !bytes.HasPrefix(pin, []byte("D ")) {
  		return nil, fmt.Errorf("unexpected response: %s", pin)
  	}
  
  	ok, _, err := c.out.ReadLine()
  	if err != nil {
  		return nil, err
  	}
  	if !bytes.HasPrefix(ok, []byte("OK")) {
  		return nil, fmt.Errorf("unexpected response: %s", ok)
  	}
  	return pin[2:], nil
  }
docs: // GetPin asks for the pin