{% import 'macros/authoritative_definitions.html' as ad_macros %}
{% set description = datacontract.description %}
{% if description %}
{% set has_authoritative_definitions = description.authoritativeDefinitions and description.authoritativeDefinitions|length > 0 %}
{% set has_custom_properties = description.customProperties and ((description.customProperties is mapping and description.customProperties|length > 0) or (description.customProperties is sequence and description.customProperties is not string and description.customProperties|length > 0)) %}
{% set has_content = description.purpose or description.usage or description.limitations or has_authoritative_definitions or has_custom_properties %}
{% if has_content %}
Terms of Use
High level description of the dataset including purpose, usage guidelines, and limitations
{% if has_authoritative_definitions %}
{% for definition in description.authoritativeDefinitions %}
{% if description.customProperties is mapping %}
{% for key, value in description.customProperties.items() %}
{{ key }}
{% if value is mapping or (value is sequence and value is not string) %}
{{ value | tojson }}
{% else %}
{{ value }}
{% endif %}
{% endfor %}
{% else %}
{% for custom_property in description.customProperties %}
{{ custom_property.property }}
{% if custom_property.value is mapping or (custom_property.value is sequence and custom_property.value is not string) %}
{{ custom_property.value | tojson }}
{% else %}
{{ custom_property.value }}
{% endif %}