+ return dir.Close()
+}
+
+func targetsWalker(tgts []string) ([]string, error) {
+ tgtsMap := make(map[string]struct{}, 0)
+ for _, tgt := range tgts {
+ if err := targetsCollect(tgt, tgtsMap); err != nil {
+ return nil, err
+ }
+ }
+ tgts = make([]string, 0, len(tgtsMap))
+ for tgt := range tgtsMap {
+ tgts = append(tgts, tgt)
+ }
+ return tgts, nil