<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update(cls, request_response_id, monetary_account_id=None, amount_responded=None, status=None, address_shipping=None, address_billing=None, custom_headers=None):
 """ Update the status to accept or reject the RequestResponse. :type user_id: int :type monetary_account_id: int :type request_response_id: int :param amount_responded: The Amount the user decides to pay. :type amount_responded: object_.Amount :param status: The responding status of the RequestResponse. Can be ACCEPTED or REJECTED. :type status: str :param address_shipping: The shipping Address to return to the user who created the RequestInquiry. Should only be provided if 'require_address' is set to SHIPPING, BILLING_SHIPPING or OPTIONAL. :type address_shipping: object_.Address :param address_billing: The billing Address to return to the user who created the RequestInquiry. Should only be provided if 'require_address' is set to BILLING, BILLING_SHIPPING or OPTIONAL. :type address_billing: object_.Address :type custom_headers: dict[str, str]|None :rtype: BunqResponseRequestResponse """


        if custom_headers is None:
            custom_headers = {}

        api_client = client.ApiClient(cls._get_api_context())

        request_map = {
            cls.FIELD_AMOUNT_RESPONDED: amount_responded,
            cls.FIELD_STATUS: status,
            cls.FIELD_ADDRESS_SHIPPING: address_shipping,
            cls.FIELD_ADDRESS_BILLING: address_billing
        }
        request_map_string = converter.class_to_json(request_map)
        request_map_string = cls._remove_field_for_request(request_map_string)

        request_bytes = request_map_string.encode()
        endpoint_url = cls._ENDPOINT_URL_UPDATE.format(cls._determine_user_id(),
                                                       cls._determine_monetary_account_id(
                                                           monetary_account_id),
                                                       request_response_id)
        response_raw = api_client.put(endpoint_url, request_bytes,
                                      custom_headers)

        return BunqResponseRequestResponse.cast_from_bunq_response(
            cls._from_json(response_raw, cls._OBJECT_TYPE_PUT)
        )