def _parse_plt_segment(self, fptr):
offset = fptr.tell() - <NUM_LIT:2><EOL>read_buffer = fptr.read(<NUM_LIT:3>)<EOL>length, zplt = struct.unpack('<STR_LIT>', read_buffer)<EOL>numbytes = length - <NUM_LIT:3><EOL>read_buffer = fptr.read(numbytes)<EOL>iplt = np.frombuffer(read_buffer, dtype=np.uint8)<EOL>packet_len = []<EOL>plen = <NUM_LIT:0><EOL>for byte in iplt:<EOL><INDENT>plen |= (byte & <NUM_LIT>)<EOL>if byte & <NUM_LIT>:<EOL><INDENT>plen <<= <NUM_LIT:7><EOL><DEDENT>else:<EOL><INDENT>packet_len.append(plen)<EOL>plen = <NUM_LIT:0><EOL><DEDENT><DEDENT>iplt = packet_len<EOL>return PLTsegment(zplt, iplt, length, offset)<EOL>
Parse the PLT segment.

        The packet headers are not parsed, i.e. they remain uninterpreted raw
        data buffers.

        Parameters
        ----------
        fptr : file
            Open file object.

        Returns
        -------
        PLTSegment
            The current PLT segment.