{{ log.debug() }}
{%- if signature and config.show_signature -%}
  {%- with -%}
    {%- set ns = namespace(render_pos_only_separator=True, render_kw_only_separator=True, equal="=") -%}

    {%- if config.show_signature_annotations -%}
      {%- set ns.equal = " = " -%}
    {%- endif -%}

    ({%- for parameter in signature.parameters %}{% if parameter.kind == "POSITIONAL_ONLY" -%}
      {%- if ns.render_pos_only_separator -%}
        {%- set ns.render_pos_only_separator = False %}/, {% endif -%}
      {%- elif parameter.kind == "KEYWORD_ONLY" -%}
        {%- if ns.render_kw_only_separator -%}
          {%- set ns.render_kw_only_separator = False %}*, {% endif -%}
      {%- endif -%}
      {%- if config.show_signature_annotations and "annotation" in parameter -%}
        {%- set annotation = ": " + parameter.annotation|safe -%}
      {%- endif -%}
      {%- if "default" in parameter -%}
        {%- set default = ns.equal + parameter.default|safe -%}
      {%- endif -%}
      {%- if parameter.kind == "VAR_POSITIONAL" %}*
        {%- set render_kw_only_separator = False -%}
      {%- elif parameter.kind == "VAR_KEYWORD" %}**
      {%- endif %}{{ parameter.name }}{{ annotation }}{{ default }}{% if not loop.last %}, {% endif -%}
    {%- endfor %}){% if config.show_signature_annotations and "return_annotation" in signature %} -> {{ signature.return_annotation }}
    {%- endif -%}

  {%- endwith -%}
{%- endif -%}
