<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def log_stream(client, log_group, stream_name, start_time=0, skip=0):
 """A generator for log items in a single stream. This will yield all the items that are available at the current moment. Args: client (boto3.CloudWatchLogs.Client):
 The Boto client for CloudWatch logs. log_group (str):
 The name of the log group. stream_name (str):
 The name of the specific stream. start_time (int):
 The time stamp value to start reading the logs from (default: 0). skip (int):
 The number of log entries to skip at the start (default: 0). This is for when there are multiple entries at the same timestamp. Yields: dict: A CloudWatch log event with the following key-value pairs: 'timestamp' (int):
 The time of the event. 'message' (str):
 The log event data. 'ingestionTime' (int):
 The time the event was ingested. """


    next_token = None

    event_count = 1
    while event_count > 0:
        if next_token is not None:
            token_arg = {'nextToken': next_token}
        else:
            token_arg = {}

        response = client.get_log_events(logGroupName=log_group, logStreamName=stream_name, startTime=start_time,
                                         startFromHead=True, **token_arg)
        next_token = response['nextForwardToken']
        events = response['events']
        event_count = len(events)
        if event_count > skip:
            events = events[skip:]
            skip = 0
        else:
            skip = skip - event_count
            events = []
        for ev in events:
            yield ev