Reorder curves list by start point order in other list

I am pretty new to managing trees and lists in Grasshopper, and would love some help with this. I have a list of curves, and found from another’s post a Traveling Sales Man component which reorders points to minimize travel distance between them. I would like to sort the curves using the information from this list (somehow reorder the curves based on the reordered start points), but I am totally unsure of how to approach this. Any help appreciated!
crv sort for laser.gh (69.7 KB)
crv sort for laser.3dm (1.2 MB)

you can use Key/Value search to reorder the initial curves based on the list of points being re-ordered by the TSM:

crv sort for laser_Re.gh (74.7 KB)

Thank you! this is just what I was looking for.