here's more of the start of the while loop:

        # a stack to perform a depth-first enumeration of the tree
        # atm, the child offset is not tracked as inner nodes are traversed.
        # instead, the global offset is tracked, and children are enumerated
        # again when backtracking, under the idea that total time is still
        # O(log n)
        #           index      stream offset  index offset  region size
        indices = [(self.tail, 0,             0,            total_size)]

        while len(indices):
            index, index_offset, index_start, index_size = indices[-1]
            index_offset_in_stream = index_offset - index_start
            for type, index, index_substart, index_subsize, *_ in index:
                if index_offset_in_stream == stream_output_offset and
index_subsize > 0:

Reply via email to