 debug = require 'debug'
 
 class IEVM
+
   # ## Class Properties
 
   # A list of all available IE versions.

    PAUSED: 2
    SAVED: 3

  # A list of initial rearms available per OS.
  @rearms:
    WinXP: 0
    Vista: 0

      debug "ievms: #{l}" for l in out.toString().trim().split "\n" if out?
    deferred.promise

  # Build an array with one instance of each possible IEVM type.
  @all: -> new @ n for n in @names

  # Build an array of all IEVM instances that match the given name, which may be
  # a specific VM (`IE6 - WinXP`), an IE version number (`9` or `7`) or an OS
  # name (`WinXP` or `Vista`).
  @find: (name) ->
    throw new Error 'No name specified' unless name?
    if typeof name isnt 'string' and typeof name isnt 'number'
      throw new Error "Invalid name: '#{name}'"
    return [new IEVM name] if name.match /^IE/
