code: def flex_method_SERIES(op):
      name = op.__name__.strip("_")
      doc = make_flex_doc(name, "series")
  
      @Appender(doc)
      def flex_wrapper(
          self, other, level=None, fill_value=None, axis: Axis = 0
      ):
          # validate axis
          if axis is not None:
              self._get_axis_number(axis)
  
          res_name = get_op_result_name(self, other)
  
          if isinstance(other, ABCSeries):
              return self._binop(
                  other, op, level=level, fill_value=fill_value
              )
          elif isinstance(other, (np.ndarray, list, tuple)):
              if len(other) != len(self):
                  raise ValueError("Lengths must be equal")
              other = self._constructor(other, self.index)
              result = self._binop(
                  other, op, level=level, fill_value=fill_value
              )
              result.name = res_name
              return result
          else:
              if fill_value is not None:
                  self = self.fillna(fill_value)
  
              return op(self, other)
  
      flex_wrapper.__name__ = name
      return flex_wrapper
  
imports: from __future__ import annotations
  import operator
  from typing import TYPE_CHECKING, cast
  import numpy
  from pandas._libs.ops_dispatch import maybe_dispatch_ufunc_to_dunder_op
  from pandas._typing import Axis, AxisInt, Level
  from pandas.util._decorators import Appender
  from pandas.core.dtypes.common import is_array_like, is_list_like
  from pandas.core.dtypes.generic import ABCDataFrame, ABCSeries
  from pandas.core.dtypes.missing import isna
  from pandas.core import algorithms, roperator
  from pandas.core.ops.array_ops import arithmetic_op, comp_method_OBJECT_ARRAY, comparison_op, get_array_op, logical_op, maybe_prepare_scalar_for_op
  from pandas.core.ops.common import get_op_result_name, unpack_zerodim_and_defer
  from pandas.core.ops.docstrings import _flex_comp_doc_FRAME, _op_descriptions, make_flex_doc
  from pandas.core.ops.invalid import invalid_comparison
  from pandas.core.ops.mask_ops import kleene_and, kleene_or, kleene_xor
  from pandas.core.ops.methods import add_flex_arithmetic_methods
  from pandas.core.roperator import radd, rand_, rdiv, rdivmod, rfloordiv, rmod, rmul, ror_, rpow, rsub, rtruediv, rxor
label_desc: Use image node_id 3 for calling a global function with example usage: flex_method_SERIES(op) and returns: flex_wrapper, self, result, op