{% if currentpage.supercategory is defined %}
{% elif currentpage.doc_type is defined %}
{% elif currentpage.funnel is defined %}
{% endif %}
{% if not pages|selectattr("funnel", "equalto", currentpage.funnel)|selectattr("category", "defined")|list|length %}
{% set funnelpages = pages|selectattr("funnel", "equalto", currentpage.funnel)|list %}
{% elif currentpage.supercategory is defined %}
{% for cat in categories %}
{% set catpages = pages|selectattr("category", "equalto", cat)|list %}
{% if currentpage.funnel is defined %}
{% set catpages = catpages|selectattr("funnel", "equalto", currentpage.funnel)|list %}
{% endif %}
{% if currentpage.doc_type is defined %}
{% set catpages = catpages|selectattr("doc_type", "equalto", currentpage.doc_type)|list %}
{% endif %}
{% set catpages = catpages|selectattr("supercategory", "equalto", currentpage.supercategory)|list %}
{% if catpages|length %}
{% set cat_parent = pages|selectattr('category', 'equalto', cat)|first %}
{% endif %}
{% endfor %}
{% else %}
{% set sidebar_pagelist = pages|selectattr("funnel", "equalto", currentpage.funnel)|list %}
{% if currentpage.doc_type is defined %}
{% set sidebar_pagelist = sidebar_pagelist|selectattr("doc_type", "equalto", currentpage.doc_type)|list %}
{% endif %}
{% set printed_modules = [] %}
{% for page in sidebar_pagelist %}
{% if page.supercategory is defined %}
{% if page.supercategory not in printed_modules %}
{% set supercat = page.supercategory %}
{% set supercatpages = sidebar_pagelist|selectattr("supercategory", "equalto", page.supercategory)|list %}
{% if supercatpages|length %}
{% set supercat_parent = supercatpages|first %}
{% set _ = printed_modules.append(page.supercategory) %}
{% endif %}
{% endif %}
{% elif page.category is defined and page.category not in printed_modules %}
{% set cat = page.category %}
{% set catpages = sidebar_pagelist|selectattr("category", "equalto", page.category)|list %}
{% if catpages|length %}
{% set cat_parent = catpages|first %}
{% endif %}
{% set _ = printed_modules.append(page.category) %}
{% endif %}
{% endfor %}
{% endif %}