whole_func_string: function lastIndexOfOutside(data, item, index, exclude) {
      var result, positionResult = {start: index ? index + 1 : data.length + 1, end: 0};
  
      do {
          result = data.lastIndexOf(item, positionResult.start - 1);
      } while (result.index !== -1 && (positionResult = inPosition(result.index, exclude)));
      return result;
  }
func_code_string: function lastIndexOfOutside(data, item, index, exclude) {
      var result, positionResult = {start: index ? index + 1 : data.length + 1, end: 0};
  
      do {
          result = data.lastIndexOf(item, positionResult.start - 1);
      } while (result.index !== -1 && (positionResult = inPosition(result.index, exclude)));
      return result;
  }
func_documentation_string: Finds the last index of the item outside of the given positions
  
  @param {String} data The string to search
  @param {String} item The item to find
  @param {Number=data.length} index The end index
  @param {Array<{start: Number, end: Number}>} exclude The boundaries to exclude
  @returns {Number} The found index, or -1 if none found