Many thanks, @siran.
A quick look confirms 1) that it still appears to function well and 2) the code will take a bit of effort to understand. I look forward to trying. And I appreciate you additional explanation to help.
Greg