def _read_para_solution(self, code, cbit, clen, *, desc, length, version):
if version == <NUM_LIT:1> and clen != <NUM_LIT:20>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>if (clen - <NUM_LIT:4>) % <NUM_LIT:2> != <NUM_LIT:0>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>_numk = self._read_unpack(<NUM_LIT:1>)<EOL>_time = self._read_unpack(<NUM_LIT:1>)<EOL>_opak = self._read_fileng(<NUM_LIT:2>)<EOL>_rand = self._read_unpack((clen-<NUM_LIT:4>)//<NUM_LIT:2>)<EOL>_solv = self._read_unpack((clen-<NUM_LIT:4>)//<NUM_LIT:2>)<EOL>solution = dict(<EOL>type=desc,<EOL>critical=cbit,<EOL>length=clen,<EOL>number=_numk,<EOL>lifetime=<NUM_LIT:2> ** (_time - <NUM_LIT:32>),<EOL>opaque=_opak,<EOL>random=_rand,<EOL>solution=_solv,<EOL>)<EOL>_plen = length - clen<EOL>if _plen:<EOL><INDENT>self._read_fileng(_plen)<EOL><DEDENT>return solution<EOL>
Read HIP SOLUTION parameter.

        Structure of HIP SOLUTION parameter [RFC 5201][RFC 7401]:
             0                   1                   2                   3
             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |             Type              |             Length            |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |  #K, 1 byte   |    Lifetime   |        Opaque, 2 bytes        |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                      Random #I, n bytes                       |
            /                                                               /
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |            Puzzle solution #J, RHASH_len / 8 bytes            |
            /                                                               /
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


            Octets      Bits        Name                    Description
              0           0     solution.type           Parameter Type
              1          15     solution.critical       Critical Bit
              2          16     solution.length         Length of Contents
              4          32     solution.number         Number of Verified Bits
              5          40     solution.lifetime       Lifetime
              6          48     solution.opaque         Opaque
              8          64     solution.random         Random Number
              ?           ?     solution.solution       Puzzle Solution