prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  markdown: Document built-in preprocessor priorities.
  As a follow-up to #19783, it would be good to document the priorities assigned to the built-in preprocessors that the Python-Markdown library has. A couple of notes:
  - This involves a bit of grunt work, the quickest way to do this is to loop over and print `md_engine.preprocessors._priorities` in `zerver/lib/templates.py`.
  - Note that in `templates.py`, there are different cases where different sets of preprocessors are added, so one has to do the additional work to figure out which preprocessors are running in which of those cases and then document all the priorities that are for built-in preprocessors.
  - The file to put these priorities in is: `zerver/lib/markdown/preprocessor_priorities..py`.
  
  Thanks!
  
  </issue>
  <code>
  [start of zerver/lib/markdown/preprocessor_priorities.py]
  1 # Note that in the Markdown preprocessor registry, the highest
  2 # numeric value is considered the highest priority, so the dict
  3 # below is ordered from highest-to-lowest priority.
  4 PREPROCESSOR_PRIORITES = {
  5     "generate_parameter_description": 535,
  6     "generate_response_description": 531,
  7     "generate_api_title": 531,
  8     "generate_api_description": 530,
  9     "generate_code_example": 525,
  10     "generate_return_values": 510,
  11     "generate_api_arguments": 505,
  12     "include": 500,
  13     "help_relative_links": 475,
  14     "setting": 450,
  15     "fenced_code_block": 25,
  16     "tabbed_sections": -500,
  17     "nested_code_blocks": -500,
  18     "emoticon_translations": -505,
  19 }
  20
  [end of zerver/lib/markdown/preprocessor_priorities.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/zerver/lib/markdown/preprocessor_priorities.py b/zerver/lib/markdown/preprocessor_priorities.py
  --- a/zerver/lib/markdown/preprocessor_priorities.py
  +++ b/zerver/lib/markdown/preprocessor_priorities.py
  @@ -1,6 +1,7 @@
   # Note that in the Markdown preprocessor registry, the highest
   # numeric value is considered the highest priority, so the dict
   # below is ordered from highest-to-lowest priority.
  +# Priorities for the built-in preprocessors are commented out.
   PREPROCESSOR_PRIORITES = {
       "generate_parameter_description": 535,
       "generate_response_description": 531,
  @@ -10,9 +11,12 @@
       "generate_return_values": 510,
       "generate_api_arguments": 505,
       "include": 500,
  +    # "include_wrapper": 500,
       "help_relative_links": 475,
       "setting": 450,
  +    # "normalize_whitespace": 30,
       "fenced_code_block": 25,
  +    # "html_block": 20,
       "tabbed_sections": -500,
       "nested_code_blocks": -500,
       "emoticon_translations": -505,
  
verification_info: {"golden_diff": "diff --git a/zerver/lib/markdown/preprocessor_priorities.py b/zerver/lib/markdown/preprocessor_priorities.py\n--- a/zerver/lib/markdown/preprocessor_priorities.py\n+++ b/zerver/lib/markdown/preprocessor_priorities.py\n@@ -1,6 +1,7 @@\n # Note that in the Markdown preprocessor registry, the highest\n # numeric value is considered the highest priority, so the dict\n # below is ordered from highest-to-lowest priority.\n+# Priorities for the built-in preprocessors are commented out.\n PREPROCESSOR_PRIORITES = {\n     \"generate_parameter_description\": 535,\n     \"generate_response_description\": 531,\n@@ -10,9 +11,12 @@\n     \"generate_return_values\": 510,\n     \"generate_api_arguments\": 505,\n     \"include\": 500,\n+    # \"include_wrapper\": 500,\n     \"help_relative_links\": 475,\n     \"setting\": 450,\n+    # \"normalize_whitespace\": 30,\n     \"fenced_code_block\": 25,\n+    # \"html_block\": 20,\n     \"tabbed_sections\": -500,\n     \"nested_code_blocks\": -500,\n     \"emoticon_translations\": -505,\n", "issue": "markdown: Document built-in preprocessor priorities.\nAs a follow-up to #19783, it would be good to document the priorities assigned to the built-in preprocessors that the Python-Markdown library has. A couple of notes:\r\n- This involves a bit of grunt work, the quickest way to do this is to loop over and print `md_engine.preprocessors._priorities` in `zerver/lib/templates.py`.\r\n- Note that in `templates.py`, there are different cases where different sets of preprocessors are added, so one has to do the additional work to figure out which preprocessors are running in which of those cases and then document all the priorities that are for built-in preprocessors.\r\n- The file to put these priorities in is: `zerver/lib/markdown/preprocessor_priorities..py`.\r\n\r\nThanks!\n", "before_files": [{"content": "# Note that in the Markdown preprocessor registry, the highest\n# numeric value is considered the highest priority, so the dict\n# below is ordered from highest-to-lowest priority.\nPREPROCESSOR_PRIORITES = {\n    \"generate_parameter_description\": 535,\n    \"generate_response_description\": 531,\n    \"generate_api_title\": 531,\n    \"generate_api_description\": 530,\n    \"generate_code_example\": 525,\n    \"generate_return_values\": 510,\n    \"generate_api_arguments\": 505,\n    \"include\": 500,\n    \"help_relative_links\": 475,\n    \"setting\": 450,\n    \"fenced_code_block\": 25,\n    \"tabbed_sections\": -500,\n    \"nested_code_blocks\": -500,\n    \"emoticon_translations\": -505,\n}\n", "path": "zerver/lib/markdown/preprocessor_priorities.py"}]}