code: def subkey(self, path):
          
          t = path.split("/")
          if len(t) == 2:
              n, for_change = t
          else:
              n, = t
              for_change = 0
          b = (str(n) + ':' + str(for_change) + ':').encode("utf8") + self.master_public_key()
          offset = from_bytes_32(double_sha256(b))
          if self.secret_exponent():
              return self.__class__(
                  master_private_key=((self.master_private_key() + offset) % self._generator.order())
              )
          p1 = offset * self._generator
          x, y = self.public_pair()
          p2 = self._generator.Point(x, y)
          p = p1 + p2
          return self.__class__(public_pair=p)
docs: path:
              of the form "K" where K is an integer index, or "K/N" where N is usually
              a 0 (deposit address) or 1 (change address)