code: def split_cond(block, func, raise_=True):
      block = block[:]
  
      new_block = []
      while len(block):
          instr = block.pop(0)
          if func(instr):
              return new_block, instr, block
          new_block.append(instr)
  
      if raise_:
          raise Exception("function found no matching instruction")
  
      return new_block, None, block
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import opcode
  import _ast
  from ..bytecodetools.instruction import Instruction
  from ..asttools.visitors.print_visitor import print_ast
  from ..utils import py3op, py2op, py3
label_desc: Use image node_id 2 for calling a global function with example usage: split_cond(block, func, raise_) and returns: new_block,  None,  block, new_block,  instr,  block