code: def _read_para_r1_counter(self, code, cbit, clen, *, desc, length, version):
          
          if clen != 12:
              raise ProtocolError(f'HIPv{version}: [Parano {code}] invalid format')
          if code == 128 and version != 1:
              raise ProtocolError(f'HIPv{version}: [Parano {code}] invalid parameter')
  
          _resv = self._read_fileng(4)
          _genc = self._read_unpack(8)
  
          r1_counter = dict(
              type=desc,
              critical=cbit,
              length=clen,
              count=_genc,
          )
  
          return r1_counter
docs: Read HIP R1_COUNTER parameter.
  
          Structure of HIP R1_COUNTER 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            |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                       Reserved, 4 bytes                       |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                R1 generation counter, 8 bytes                 |
              |                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  
              Octets      Bits        Name                    Description
                0           0     ri_counter.type         Parameter Type
                1          15     ri_counter.critical     Critical Bit
                2          16     ri_counter.length       Length of Contents
                4          32     -                       Reserved
                8          64     ri_counter.count        Generation of Valid Puzzles