from typing import Dict, Set

# make valid subs for ewch top in nav
def valid_subs(nav: Dict[str, Dict])->Dict[str, Set[str]] :
    valid_subs_by_top: Dict[str, Set[str]] = {}
    for label, data in (nav.get("cats") or {}).items():
        top_slug = (data or {}).get("slug")
        if not top_slug:
            continue
        subs_set = {
            (s.get("slug") or "").strip()
            for s in (data.get("subs") or [])
            if s.get("slug")
        }
        valid_subs_by_top[top_slug] = subs_set
    return valid_subs_by_top
