code: def _generate_window_strategies():
    
    for wnd_dict in window._content_generation_table:
      names = wnd_dict["names"]
      sname = wnd_dict["sname"] = names[0]
      wnd_dict.setdefault("params_def", "")
      for sdict in [window, wsymm]:
        docs_dict = window._doc_kwargs(symm = sdict is wsymm, **wnd_dict)
        decorators = [format_docstring(**docs_dict), sdict.strategy(*names)]
        ns = dict(pi=pi, sin=sin, cos=cos, xrange=xrange, __name__=__name__)
        exec(sdict._code_template.format(**wnd_dict), ns, ns)
        reduce(lambda func, dec: dec(func), decorators, ns[sname])
        if not wnd_dict.get("distinct", True):
          wsymm[sname] = window[sname]
          break
      wsymm[sname].periodic = window[sname].periodic = window[sname]
      wsymm[sname].symm = window[sname].symm = wsymm[sname]
docs: Create all window and wsymm strategies