<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_gapic(operation, operations_client, result_type, **kwargs):
 """Create an operation future from a gapic client. This interacts with the long-running operations `service`_ (specific to a given API) via a gapic client. .. _service: https://github.com/googleapis/googleapis/blob/\ 050400df0fdb16f63b63e9dee53819044bffc857/\ google/longrunning/operations.proto#L38 Args: operation (google.longrunning.operations_pb2.Operation):
 The operation. operations_client (google.api_core.operations_v1.OperationsClient):
 The operations client. result_type (:func:`type`):
 The protobuf result type. kwargs: Keyword args passed into the :class:`Operation` constructor. Returns: ~.api_core.operation.Operation: The operation future to track the given operation. """

    refresh = functools.partial(operations_client.get_operation, operation.name)
    cancel = functools.partial(operations_client.cancel_operation, operation.name)
    return Operation(operation, refresh, cancel, result_type, **kwargs)