{% macro _pagination_path(route, query, pageParameterName, page_number) %}
{% set _route = page_number == 1 ? route : route~'._pagination' %}
{% if _route == 'profile_list.list_by_city' and query.city is not defined %}
{{ path(_route, query|merge({(pageParameterName): page_number, city: app.request.get('city')})) }}
{% else %}
{{ path(_route, query|merge({(pageParameterName): page_number})) }}
{% endif %}
{% endmacro %}
{% from _self import _pagination_path %}
{% if pageCount > 1 %}
<nav class="pagination-nav">
{% set classAlign = (align is not defined) ? '' : align=='center' ? ' justify-content-center' : (align=='right' ? ' justify-content-end' : '') %}
{% set classSize = (size is not defined) ? '' : size=='large' ? ' pagination-lg' : (size=='small' ? ' pagination-sm' : '') %}
<ul class="pagination{{ classAlign }}{{ classSize }}">
{% if previous is defined %}
<li class="page-item pagination__item pagination__item--arrow">
<a class="page-link pagination__link pagination__arrow" rel="prev" href="{{ _pagination_path(route, query, pageParameterName, previous) }}" aria-label="{{ 'label_previous'|trans({}, 'KnpPaginatorBundle') }}">
<svg class="icon20" aria-hidden="true" pointer-events="none"><use href="#pagination-arrow-left-icon"></use></svg>
</a>
</li>
{% else %}
<li class="page-item pagination__item pagination__item--arrow pagination__item--disabled" aria-disabled="true">
<span class="page-link pagination__link pagination__arrow" aria-label="{{ 'label_previous'|trans({}, 'KnpPaginatorBundle') }}">
<svg class="icon20" aria-hidden="true" pointer-events="none"><use href="#pagination-arrow-left-icon"></use></svg>
</span>
</li>
{% endif %}
{% if startPage > 1 %}
<li class="page-item pagination__item pagination__item--compact-hidden">
<a class="page-link pagination__link" href="{{ _pagination_path(route, query, pageParameterName, 1) }}">1</a>
</li>
{% if startPage == 3 %}
<li class="page-item pagination__item pagination__item--compact-hidden">
<a class="page-link pagination__link" href="{{ _pagination_path(route, query, pageParameterName, 2) }}">2</a>
</li>
{% elseif startPage != 2 %}
<li class="page-item pagination__item pagination__item--ellipsis pagination__item--compact-hidden" aria-hidden="true">
<span class="page-link pagination__link">…</span>
</li>
{% endif %}
{% endif %}
{% for page in pagesInRange %}
{% set isCompactPaginationPage = page >= current - 2 and page <= current + 2 %}
{% if page != current %}
<li class="page-item pagination__item{{ isCompactPaginationPage ? '' : ' pagination__item--compact-hidden' }}">
<a class="page-link pagination__link" href="{{ _pagination_path(route, query, pageParameterName, page) }}">{{ page }}</a>
</li>
{% else %}
<li class="page-item pagination__item pagination__item--active" aria-current="page">
<span class="page-link pagination__link">{{ page }}</span>
</li>
{% endif %}
{% endfor %}
{% if pageCount > endPage %}
{% if pageCount > (endPage + 1) %}
{% if pageCount > (endPage + 2) %}
<li class="page-item pagination__item pagination__item--ellipsis pagination__item--compact-hidden" aria-hidden="true">
<span class="page-link pagination__link">…</span>
</li>
{% else %}
<li class="page-item pagination__item pagination__item--compact-hidden">
<a class="page-link pagination__link" href="{{ _pagination_path(route, query, pageParameterName, (pageCount -1)) }}">{{ pageCount -1 }}</a>
</li>
{% endif %}
{% endif %}
<li class="page-item pagination__item pagination__item--compact-hidden">
<a class="page-link pagination__link" href="{{ _pagination_path(route, query, pageParameterName, pageCount) }}">{{ pageCount }}</a>
</li>
{% endif %}
{% if next is defined %}
<li class="page-item pagination__item pagination__item--arrow">
<a class="page-link pagination__link pagination__arrow" rel="next" href="{{ _pagination_path(route, query, pageParameterName, next) }}" aria-label="{{ 'label_next'|trans({}, 'KnpPaginatorBundle') }}">
<svg class="icon20" aria-hidden="true" pointer-events="none"><use href="#pagination-arrow-right-icon"></use></svg>
</a>
</li>
{% else %}
<li class="page-item pagination__item pagination__item--arrow pagination__item--disabled" aria-disabled="true">
<span class="page-link pagination__link pagination__arrow" aria-label="{{ 'label_next'|trans({}, 'KnpPaginatorBundle') }}">
<svg class="icon20" aria-hidden="true" pointer-events="none"><use href="#pagination-arrow-right-icon"></use></svg>
</span>
</li>
{% endif %}
</ul>
</nav>
{% endif %}