<?xml version="1.0" encoding="UTF-8"?>
<!-- GENERATED by scripts/generate-seo.mjs from shared/siteOrigin.ts.
     DO NOT EDIT BY HAND — your change is overwritten on the next build.
     Every child except /sitemap-static.xml is NOT a file: vercel.json rewrites
     each to a function that builds it from the database at request time and
     answers 503 rather than emitting a short list.
       /sitemap-serve.xml -> api/sitemap-serve.ts (civic_board_coverage)
       /sitemap-officials.xml -> api/sitemap-officials.ts (officials + rb.county_official)
       /sitemap-bills.xml -> api/sitemap-bills.ts (legislation)
       /sitemap-districts.xml -> api/sitemap-districts.ts (districts)
       /sitemap-elections.xml -> api/sitemap-elections.ts (elections + candidates)
       /sitemap-measures.xml -> api/sitemap-measures.ts (ballot_measures + elections)
       /sitemap-meetings.xml -> api/sitemap-meetings.ts (public_meetings + rb.meeting_hearing) -->
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://rallybase.org/sitemap-static.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-serve.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-officials.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-bills.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-districts.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-elections.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-measures.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://rallybase.org/sitemap-meetings.xml</loc>
  </sitemap>
</sitemapindex>
