Interview Guides
Given a JavaScript-style route configuration represented as a Python list of dictionaries, flatten it into a list of full paths paired with component names. Each route object contains a path, optional component, and optional children. Child paths should be joined to their parent path using /, normalizing duplicate slashes. Return the flattened routes in depth-first order.
1 <= len(routes) <= 10^4path and optional keys component, childrenpath is a non-empty string10^5