UCQXSJU7J6MRHRQ2HDCSNYD7CYU246FGW3T2IDJMVHSPWGCMICVAC if edge.prefix and starts_with(frag, edge.prefix) thenif edge.suffix and ends_with(frag, edge.suffix) thenCurrent_state = edge.targetbreakendendCurrent_state = edge.targetbreakendendendfunction switch_color_based_on_suffix(frag)if Next_state[Current_state] == nil thenreturnendfrag = rtrim(frag)for _,edge in pairs(Next_state[Current_state]) do