<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_div(unit, length=24, start='', end='', literal_unit=False):
 """ Generate and return a custom divider. :param unit: str containing a repeating unit :param length: The maximum length (won't be exceeded) (default: 24) :param start: optional starting string :param end: optional ending string :param literal_unit: if True will not try to break unit down into smaller repeating subunits :return: a custom created divider :rtype: str :Example: custom_div = make_div(unit='=-', length=40, start='<', end='=>') note:: The generated string will be terminated at the specified length regardless of whether all the input strings have been fully replicated. A unit > 1 length may not be able to be replicated to extend to the full length. In this situation, the string will be shorter than the specified length. Example: unit of 10 characters and a specified length of 25 will contain 2 units for a total length of 20 characters. """

    # Reduce the size if possible to extend closer to full length:
    if not literal_unit:
        unit = utils.reduce_to_unit(unit)
    repeats = (length - len(start + end)) // len(unit)
    return (start + unit * repeats + end)[0:length]