def _addsub_offset_array(self, other, op):
assert op in [operator.add, operator.sub]<EOL>if len(other) == <NUM_LIT:1>:<EOL><INDENT>return op(self, other[<NUM_LIT:0>])<EOL><DEDENT>warnings.warn("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>.format(cls=type(self).__name__), PerformanceWarning)<EOL>left = lib.values_from_object(self.astype('<STR_LIT:O>'))<EOL>res_values = op(left, np.array(other))<EOL>kwargs = {}<EOL>if not is_period_dtype(self):<EOL><INDENT>kwargs['<STR_LIT>'] = '<STR_LIT>'<EOL><DEDENT>return self._from_sequence(res_values, **kwargs)<EOL>
Add or subtract array-like of DateOffset objects

Parameters
----------
other : Index, np.ndarray
    object-dtype containing pd.DateOffset objects
op : {operator.add, operator.sub}

Returns
-------
result : same class as self