code: def __draw_domain_rules(scales):
      """Draws vertical lines at the ends of each metric's domain."""
  
      x_domain = [0, 1]
      domain_rules_df = pd.DataFrame({"x_position": x_domain})
  
      vertical_domain_rules = (
          alt.Chart(domain_rules_df)
          .mark_rule(
              strokeWidth=Rule.stroke_width,
              stroke=Rule.stroke,
              tooltip=None,
          )
          .encode(
              x=alt.X("x_position:Q", scale=scales["x"]),
              y=alt.value(scales["y"]["range"][0]),
              y2=alt.value(scales["y"]["range"][1]),
          )
      )
  
      return vertical_domain_rules
  
imports: import altair
  import pandas
  from aequitas.plot.commons.helpers import no_axis, transform_ratio, get_chart_metadata
  from aequitas.plot.commons.legend import draw_legend
  from aequitas.plot.commons.scales import get_chart_size_range
  from aequitas.plot.commons.tooltips import get_tooltip_text_group_size, get_tooltip_text_disparity_explanation
  from aequitas.plot.commons.style.classes import Metric_Axis, Axis, Threshold_Band, Threshold_Rule, Annotation, Bubble, Rule, Chart_Title
  from aequitas.plot.commons.style.sizes import Metric_Chart
  from aequitas.plot.commons.style.text import FONT, FONT_SIZE_SMALL
  from aequitas.plot.commons import initializers
  from aequitas.plot.commons import labels
label_desc: Use image node_id 3 for calling a global function with example usage: __draw_domain_rules(scales) and returns: vertical_domain_rules