nodes: 0, module; 1, function_definition; 2, function_name:flip_uuid_parts; 3, parameters; 4, block; 5, identifier:uuid; 6, expression_statement; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, return_statement; 11, comment:"""
    Flips high and low segments of the timestamp portion of a UUID string.
    This enables correct lexicographic sorting. Because it is a simple flip,
    this function works in both directions.
    """; 12, assignment; 13, assignment; 14, assignment; 15, identifier:flipped_uuid; 16, identifier:flipped_uuid; 17, call; 18, pattern_list; 19, expression_list; 20, identifier:flipped_uuid; 21, call; 22, attribute; 23, argument_list; 24, subscript; 25, subscript; 26, subscript; 27, subscript; 28, attribute; 29, argument_list; 30, identifier:uuid; 31, identifier:split; 32, string; 33, identifier:flipped_uuid; 34, integer:0; 35, identifier:flipped_uuid; 36, integer:2; 37, identifier:flipped_uuid; 38, integer:2; 39, identifier:flipped_uuid; 40, integer:0; 41, string; 42, identifier:join; 43, identifier:flipped_uuid; 44, string_content:-; 45, string_content:-
code: def flip_uuid_parts(uuid):
    """
    Flips high and low segments of the timestamp portion of a UUID string.
    This enables correct lexicographic sorting. Because it is a simple flip,
    this function works in both directions.
    """
    flipped_uuid = uuid.split('-')
    flipped_uuid[0], flipped_uuid[2] = flipped_uuid[2], flipped_uuid[0]
    flipped_uuid = '-'.join(flipped_uuid)
    return flipped_uuid