text: var forOwn = require('./forOwn');
  var isPlainObject = require('../lang/isPlainObject');
  
  /**
   * Mixes objects into the target object, recursively mixing existing child
   * objects.
   */
  function deepMixIn(target, objects) {
      var i = 0,
          n = arguments.length,
          obj;
  
      while (++i < n) {
          obj = arguments[i];
          if (obj) {
              forOwn(obj, copyProp, target);
          }
      }
  
      return target;
  }
  
  function copyProp(val, key) {
      var existing = this[key];
      if (isPlainObject(val) && isPlainObject(existing)) {
          deepMixIn(existing, val);
      } else {
          this[key] = val;
      }
  }
  
  module.exports = deepMixIn;
  
  
  