prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Schedule editor icons need to be more distinct
  From @flynnliz
  
  The various “person” icons are confusing. It’s hard to know at a glance in the grid which conflicts are “person who must be present” and which are “chair conflict,” and it’s even more confusing that in the session request data box on the bottom right, the “requested by” icon is the same as the chair conflict. Can these three be more distinct from each other? 
  
  ![image](https://user-images.githubusercontent.com/10996692/186988300-df1ea711-d765-47eb-9971-e234ba10f4d8.png)
  
  
  - The “technology overlap” chain icon shows up really faintly and it’s very tiny, so it’s easy to miss. Same with the “key participant overlap” key icon — those two are really difficult to distinguish from each other when they are so small. Can these be made larger or even just changed to something that takes up more vertical space so they’re easier to distinguish?
  
  ![image](https://user-images.githubusercontent.com/10996692/186988318-671fa14e-3388-4780-adee-727146811a00.png)
  
  
  
  </issue>
  <code>
  [start of ietf/meeting/templatetags/editor_tags.py]
  1 # Copyright The IETF Trust 2022, All Rights Reserved
  2 # -*- coding: utf-8 -*-
  3 
  4 """Custom tags for the schedule editor"""
  5 import debug  # pyflakes: ignore
  6 
  7 from django import template
  8 from django.utils.html import format_html
  9 
  10 register = template.Library()
  11 
  12 
  13 @register.simple_tag
  14 def constraint_icon_for(constraint_name, count=None):
  15     # icons must be valid HTML and kept up to date with tests.EditorTagTests.test_constraint_icon_for()
  16     icons = {
  17         'conflict': '<span class="encircled">{reversed}1</span>',
  18         'conflic2': '<span class="encircled">{reversed}2</span>',
  19         'conflic3': '<span class="encircled">{reversed}3</span>',
  20         'bethere': '<i class="bi bi-person"></i>{count}',
  21         'timerange': '<i class="bi bi-calendar"></i>',
  22         'time_relation': '&Delta;',
  23         'wg_adjacent': '{reversed}<i class="bi bi-skip-end"></i>',
  24         'chair_conflict': '{reversed}<i class="bi bi-person-circle"></i>',
  25         'tech_overlap': '{reversed}<i class="bi bi-link"></i>',
  26         'key_participant': '{reversed}<i class="bi bi-key"></i>',
  27         'joint_with_groups': '<i class="bi bi-merge"></i>',
  28         'responsible_ad': '<span class="encircled">AD</span>',
  29     }
  30     reversed_suffix = '-reversed'
  31     if constraint_name.slug.endswith(reversed_suffix):
  32         reversed = True
  33         cn = constraint_name.slug[: -len(reversed_suffix)]
  34     else:
  35         reversed = False
  36         cn = constraint_name.slug
  37     return format_html(
  38         icons[cn],
  39         count=count or '',
  40         reversed='-' if reversed else '',
  41     )
  42
  [end of ietf/meeting/templatetags/editor_tags.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/ietf/meeting/templatetags/editor_tags.py b/ietf/meeting/templatetags/editor_tags.py
  --- a/ietf/meeting/templatetags/editor_tags.py
  +++ b/ietf/meeting/templatetags/editor_tags.py
  @@ -17,13 +17,13 @@
           'conflict': '<span class="encircled">{reversed}1</span>',
           'conflic2': '<span class="encircled">{reversed}2</span>',
           'conflic3': '<span class="encircled">{reversed}3</span>',
  -        'bethere': '<i class="bi bi-person"></i>{count}',
  +        'bethere': '<i class="bi bi-people-fill"></i>{count}',
           'timerange': '<i class="bi bi-calendar"></i>',
           'time_relation': '&Delta;',
           'wg_adjacent': '{reversed}<i class="bi bi-skip-end"></i>',
  -        'chair_conflict': '{reversed}<i class="bi bi-person-circle"></i>',
  -        'tech_overlap': '{reversed}<i class="bi bi-link"></i>',
  -        'key_participant': '{reversed}<i class="bi bi-key"></i>',
  +        'chair_conflict': '{reversed}<i class="bi bi-circle-fill"></i>',
  +        'tech_overlap': '{reversed}<i class="bi bi-link-45deg"></i>',
  +        'key_participant': '{reversed}<i class="bi bi-star"></i>',
           'joint_with_groups': '<i class="bi bi-merge"></i>',
           'responsible_ad': '<span class="encircled">AD</span>',
       }
  
verification_info: {"golden_diff": "diff --git a/ietf/meeting/templatetags/editor_tags.py b/ietf/meeting/templatetags/editor_tags.py\n--- a/ietf/meeting/templatetags/editor_tags.py\n+++ b/ietf/meeting/templatetags/editor_tags.py\n@@ -17,13 +17,13 @@\n         'conflict': '<span class=\"encircled\">{reversed}1</span>',\n         'conflic2': '<span class=\"encircled\">{reversed}2</span>',\n         'conflic3': '<span class=\"encircled\">{reversed}3</span>',\n-        'bethere': '<i class=\"bi bi-person\"></i>{count}',\n+        'bethere': '<i class=\"bi bi-people-fill\"></i>{count}',\n         'timerange': '<i class=\"bi bi-calendar\"></i>',\n         'time_relation': '&Delta;',\n         'wg_adjacent': '{reversed}<i class=\"bi bi-skip-end\"></i>',\n-        'chair_conflict': '{reversed}<i class=\"bi bi-person-circle\"></i>',\n-        'tech_overlap': '{reversed}<i class=\"bi bi-link\"></i>',\n-        'key_participant': '{reversed}<i class=\"bi bi-key\"></i>',\n+        'chair_conflict': '{reversed}<i class=\"bi bi-circle-fill\"></i>',\n+        'tech_overlap': '{reversed}<i class=\"bi bi-link-45deg\"></i>',\n+        'key_participant': '{reversed}<i class=\"bi bi-star\"></i>',\n         'joint_with_groups': '<i class=\"bi bi-merge\"></i>',\n         'responsible_ad': '<span class=\"encircled\">AD</span>',\n     }\n", "issue": "Schedule editor icons need to be more distinct\nFrom @flynnliz\r\n\r\nThe various \u201cperson\u201d icons are confusing. It\u2019s hard to know at a glance in the grid which conflicts are \u201cperson who must be present\u201d and which are \u201cchair conflict,\u201d and it\u2019s even more confusing that in the session request data box on the bottom right, the \u201crequested by\u201d icon is the same as the chair conflict. Can these three be more distinct from each other? \r\n\r\n![image](https://user-images.githubusercontent.com/10996692/186988300-df1ea711-d765-47eb-9971-e234ba10f4d8.png)\r\n\r\n\r\n- The \u201ctechnology overlap\u201d chain icon shows up really faintly and it\u2019s very tiny, so it\u2019s easy to miss. Same with the \u201ckey participant overlap\u201d key icon \u2014 those two are really difficult to distinguish from each other when they are so small. Can these be made larger or even just changed to something that takes up more vertical space so they\u2019re easier to distinguish?\r\n\r\n![image](https://user-images.githubusercontent.com/10996692/186988318-671fa14e-3388-4780-adee-727146811a00.png)\r\n\r\n\n", "before_files": [{"content": "# Copyright The IETF Trust 2022, All Rights Reserved\n# -*- coding: utf-8 -*-\n\n\"\"\"Custom tags for the schedule editor\"\"\"\nimport debug  # pyflakes: ignore\n\nfrom django import template\nfrom django.utils.html import format_html\n\nregister = template.Library()\n\n\n@register.simple_tag\ndef constraint_icon_for(constraint_name, count=None):\n    # icons must be valid HTML and kept up to date with tests.EditorTagTests.test_constraint_icon_for()\n    icons = {\n        'conflict': '<span class=\"encircled\">{reversed}1</span>',\n        'conflic2': '<span class=\"encircled\">{reversed}2</span>',\n        'conflic3': '<span class=\"encircled\">{reversed}3</span>',\n        'bethere': '<i class=\"bi bi-person\"></i>{count}',\n        'timerange': '<i class=\"bi bi-calendar\"></i>',\n        'time_relation': '&Delta;',\n        'wg_adjacent': '{reversed}<i class=\"bi bi-skip-end\"></i>',\n        'chair_conflict': '{reversed}<i class=\"bi bi-person-circle\"></i>',\n        'tech_overlap': '{reversed}<i class=\"bi bi-link\"></i>',\n        'key_participant': '{reversed}<i class=\"bi bi-key\"></i>',\n        'joint_with_groups': '<i class=\"bi bi-merge\"></i>',\n        'responsible_ad': '<span class=\"encircled\">AD</span>',\n    }\n    reversed_suffix = '-reversed'\n    if constraint_name.slug.endswith(reversed_suffix):\n        reversed = True\n        cn = constraint_name.slug[: -len(reversed_suffix)]\n    else:\n        reversed = False\n        cn = constraint_name.slug\n    return format_html(\n        icons[cn],\n        count=count or '',\n        reversed='-' if reversed else '',\n    )\n", "path": "ietf/meeting/templatetags/editor_tags.py"}]}