{
  "_comment": "Complete Ohio county-to-district mappings for 2026+ elections",
  "_sources": {
    "us_house": "congressional-2026-2032-adopted-2025-10-31.pdf",
    "state_house": "ohiohouseofrepresentatives-adopted2023-09-26.pdf",
    "state_senate": "ohiosenate-adopted2023-09-26.pdf (visual analysis + geojson)"
  },
  "mappings": [
    {"district_type": "us_house", "district_number": 1, "counties": ["clinton", "hamilton", "warren"], "is_partial": [false, true, false]},
    {"district_type": "us_house", "district_number": 2, "counties": ["adams", "athens", "brown", "clermont", "gallia", "hocking", "jackson", "lawrence", "meigs", "morgan", "perry", "pike", "ross", "scioto", "vinton", "washington"], "is_partial": [false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false]},
    {"district_type": "us_house", "district_number": 3, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "us_house", "district_number": 4, "counties": ["allen", "auglaize", "champaign", "clark", "delaware", "hardin", "logan", "marion", "mercer", "morrow", "richland", "shelby", "union", "van-wert"], "is_partial": [false, false, false, true, true, false, false, false, false, false, true, false, false, false]},
    {"district_type": "us_house", "district_number": 5, "counties": ["crawford", "hancock", "huron", "lorain", "richland", "sandusky", "seneca", "wood", "wyandot"], "is_partial": [false, false, false, false, true, false, false, true, false]},
    {"district_type": "us_house", "district_number": 6, "counties": ["belmont", "carroll", "columbiana", "harrison", "holmes", "jefferson", "mahoning", "stark", "tuscarawas", "wayne"], "is_partial": [false, false, false, false, true, false, true, true, false, true]},
    {"district_type": "us_house", "district_number": 7, "counties": ["ashland", "cuyahoga", "medina", "wayne"], "is_partial": [false, true, false, true]},
    {"district_type": "us_house", "district_number": 8, "counties": ["butler", "darke", "hamilton", "miami", "preble"], "is_partial": [true, false, true, true, false]},
    {"district_type": "us_house", "district_number": 9, "counties": ["defiance", "erie", "fulton", "henry", "lucas", "ottawa", "paulding", "williams", "wood"], "is_partial": [false, false, false, false, false, false, false, false, true]},
    {"district_type": "us_house", "district_number": 10, "counties": ["butler", "greene", "montgomery"], "is_partial": [true, false, false]},
    {"district_type": "us_house", "district_number": 11, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "us_house", "district_number": 12, "counties": ["coshocton", "delaware", "fairfield", "guernsey", "holmes", "knox", "licking", "monroe", "muskingum", "noble", "perry"], "is_partial": [false, true, false, false, true, false, false, false, false, false, true]},
    {"district_type": "us_house", "district_number": 13, "counties": ["portage", "stark", "summit"], "is_partial": [true, true, false]},
    {"district_type": "us_house", "district_number": 14, "counties": ["ashtabula", "geauga", "lake", "mahoning", "portage", "trumbull"], "is_partial": [false, false, false, true, true, false]},
    {"district_type": "us_house", "district_number": 15, "counties": ["clark", "fayette", "franklin", "highland", "madison", "miami", "pickaway"], "is_partial": [true, false, true, false, false, true, false]},

    {"district_type": "state_house", "district_number": 1, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 2, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 3, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 4, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 5, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 6, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 7, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 8, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 9, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 10, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 11, "counties": ["franklin"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 12, "counties": ["franklin", "madison", "pickaway"], "is_partial": [true, false, false]},
    {"district_type": "state_house", "district_number": 13, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 14, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 15, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 16, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 17, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 18, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 19, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 20, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 21, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 22, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 23, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 24, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 25, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 26, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 27, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 28, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 29, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 30, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 31, "counties": ["summit"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 32, "counties": ["summit"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 33, "counties": ["summit"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 34, "counties": ["summit"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 35, "counties": ["geauga", "portage", "summit"], "is_partial": [false, false, false]},
    {"district_type": "state_house", "district_number": 36, "counties": ["montgomery"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 37, "counties": ["montgomery"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 38, "counties": ["montgomery"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 39, "counties": ["montgomery"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 40, "counties": ["butler", "montgomery", "preble"], "is_partial": [true, true, true]},
    {"district_type": "state_house", "district_number": 41, "counties": ["lucas"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 42, "counties": ["lucas"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 43, "counties": ["lucas"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 44, "counties": ["lucas", "ottawa", "wood"], "is_partial": [true, true, true]},
    {"district_type": "state_house", "district_number": 45, "counties": ["butler"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 46, "counties": ["butler"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 47, "counties": ["stark"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 48, "counties": ["stark"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 49, "counties": ["stark"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 50, "counties": ["stark"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 51, "counties": ["stark", "tuscarawas"], "is_partial": [true, false]},
    {"district_type": "state_house", "district_number": 52, "counties": ["lorain"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 53, "counties": ["lorain"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 54, "counties": ["erie", "huron", "lorain"], "is_partial": [true, true, true]},
    {"district_type": "state_house", "district_number": 55, "counties": ["warren"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 56, "counties": ["warren"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 57, "counties": ["lake"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 58, "counties": ["mahoning"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 59, "counties": ["columbiana", "mahoning"], "is_partial": [true, true]},
    {"district_type": "state_house", "district_number": 60, "counties": ["delaware"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 61, "counties": ["delaware", "knox"], "is_partial": [true, true]},
    {"district_type": "state_house", "district_number": 62, "counties": ["clermont"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 63, "counties": ["brown", "clermont"], "is_partial": [true, true]},
    {"district_type": "state_house", "district_number": 64, "counties": ["trumbull"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 65, "counties": ["ashtabula", "trumbull"], "is_partial": [true, true]},
    {"district_type": "state_house", "district_number": 66, "counties": ["medina"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 67, "counties": ["ashland", "medina"], "is_partial": [false, true]},
    {"district_type": "state_house", "district_number": 68, "counties": ["licking"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 69, "counties": ["fairfield", "licking", "perry"], "is_partial": [true, true, true]},
    {"district_type": "state_house", "district_number": 70, "counties": ["greene"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 71, "counties": ["clark", "clinton", "greene"], "is_partial": [true, false, true]},
    {"district_type": "state_house", "district_number": 72, "counties": ["portage"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 73, "counties": ["fairfield"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 74, "counties": ["clark"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 75, "counties": ["wood"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 76, "counties": ["richland"], "is_partial": [false]},
    {"district_type": "state_house", "district_number": 77, "counties": ["wayne"], "is_partial": [false]},
    {"district_type": "state_house", "district_number": 78, "counties": ["allen", "auglaize"], "is_partial": [false, true]},
    {"district_type": "state_house", "district_number": 79, "counties": ["columbiana"], "is_partial": [true]},
    {"district_type": "state_house", "district_number": 80, "counties": ["darke", "miami"], "is_partial": [true, false]},
    {"district_type": "state_house", "district_number": 81, "counties": ["defiance", "fulton", "henry", "williams"], "is_partial": [true, false, false, false]},
    {"district_type": "state_house", "district_number": 82, "counties": ["defiance", "paulding", "putnam", "van-wert"], "is_partial": [true, false, false, false]},
    {"district_type": "state_house", "district_number": 83, "counties": ["hancock", "hardin"], "is_partial": [false, false]},
    {"district_type": "state_house", "district_number": 84, "counties": ["auglaize", "mercer"], "is_partial": [true, false]},
    {"district_type": "state_house", "district_number": 85, "counties": ["champaign", "logan", "shelby"], "is_partial": [false, true, false]},
    {"district_type": "state_house", "district_number": 86, "counties": ["marion", "union"], "is_partial": [true, false]},
    {"district_type": "state_house", "district_number": 87, "counties": ["crawford", "marion", "morrow"], "is_partial": [false, true, false]},
    {"district_type": "state_house", "district_number": 88, "counties": ["sandusky", "seneca"], "is_partial": [false, false]},
    {"district_type": "state_house", "district_number": 89, "counties": ["erie", "huron"], "is_partial": [true, true]},
    {"district_type": "state_house", "district_number": 90, "counties": ["adams", "brown", "scioto"], "is_partial": [false, true, false]},
    {"district_type": "state_house", "district_number": 91, "counties": ["fayette", "highland", "pike", "ross"], "is_partial": [false, false, false, true]},
    {"district_type": "state_house", "district_number": 92, "counties": ["hocking", "perry", "ross", "vinton"], "is_partial": [false, true, true, false]},
    {"district_type": "state_house", "district_number": 93, "counties": ["gallia", "jackson", "lawrence"], "is_partial": [false, false, false]},
    {"district_type": "state_house", "district_number": 94, "counties": ["athens", "meigs", "morgan", "washington"], "is_partial": [false, false, false, true]},
    {"district_type": "state_house", "district_number": 95, "counties": ["belmont", "guernsey", "harrison", "noble", "washington"], "is_partial": [true, true, false, false, true]},
    {"district_type": "state_house", "district_number": 96, "counties": ["belmont", "jefferson", "monroe"], "is_partial": [true, false, false]},
    {"district_type": "state_house", "district_number": 97, "counties": ["guernsey", "muskingum"], "is_partial": [true, false]},
    {"district_type": "state_house", "district_number": 98, "counties": ["coshocton", "holmes", "knox"], "is_partial": [false, false, true]},
    {"district_type": "state_house", "district_number": 99, "counties": ["ashtabula", "geauga"], "is_partial": [true, true]},

    {"district_type": "state_senate", "district_number": 1, "counties": ["defiance", "fulton", "hardin", "henry", "logan", "paulding", "putnam", "van-wert", "williams"], "is_partial": [false, false, false, false, true, false, false, false, false]},
    {"district_type": "state_senate", "district_number": 2, "counties": ["hancock", "sandusky", "seneca", "wood", "wyandot"], "is_partial": [false, false, false, true, false]},
    {"district_type": "state_senate", "district_number": 3, "counties": ["mercer", "shelby"], "is_partial": [false, false]},
    {"district_type": "state_senate", "district_number": 4, "counties": ["auglaize", "champaign", "logan", "miami"], "is_partial": [false, false, true, false]},
    {"district_type": "state_senate", "district_number": 5, "counties": ["clark", "madison"], "is_partial": [true, false]},
    {"district_type": "state_senate", "district_number": 6, "counties": ["butler", "preble"], "is_partial": [true, false]},
    {"district_type": "state_senate", "district_number": 7, "counties": ["butler", "warren"], "is_partial": [true, true]},
    {"district_type": "state_senate", "district_number": 8, "counties": ["clermont", "hamilton"], "is_partial": [true, true]},
    {"district_type": "state_senate", "district_number": 9, "counties": ["hamilton"], "is_partial": [true]},
    {"district_type": "state_senate", "district_number": 10, "counties": ["clark", "clinton", "greene", "montgomery"], "is_partial": [true, false, false, true]},
    {"district_type": "state_senate", "district_number": 11, "counties": ["lucas"], "is_partial": [true]},
    {"district_type": "state_senate", "district_number": 12, "counties": ["erie", "huron", "ottawa"], "is_partial": [false, false, false]},
    {"district_type": "state_senate", "district_number": 13, "counties": ["lorain"], "is_partial": [true]},
    {"district_type": "state_senate", "district_number": 14, "counties": ["adams", "brown", "highland", "pike", "scioto"], "is_partial": [false, false, false, false, false]},
    {"district_type": "state_senate", "district_number": 15, "counties": ["fayette", "franklin", "pickaway"], "is_partial": [false, true, false]},
    {"district_type": "state_senate", "district_number": 16, "counties": ["delaware", "franklin"], "is_partial": [true, true]},
    {"district_type": "state_senate", "district_number": 17, "counties": ["athens", "gallia", "hocking", "jackson", "lawrence", "meigs", "morgan", "vinton"], "is_partial": [false, false, false, false, false, false, false, false]},
    {"district_type": "state_senate", "district_number": 18, "counties": ["ashtabula", "lake"], "is_partial": [false, true]},
    {"district_type": "state_senate", "district_number": 19, "counties": ["coshocton", "holmes", "knox", "morrow"], "is_partial": [false, false, false, false]},
    {"district_type": "state_senate", "district_number": 20, "counties": ["fairfield", "licking", "perry"], "is_partial": [false, false, false]},
    {"district_type": "state_senate", "district_number": 21, "counties": ["geauga", "lake", "portage"], "is_partial": [true, true, true]},
    {"district_type": "state_senate", "district_number": 22, "counties": ["ashland", "crawford", "marion", "richland", "wayne"], "is_partial": [false, false, false, false, false]},
    {"district_type": "state_senate", "district_number": 23, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_senate", "district_number": 24, "counties": ["cuyahoga", "lorain", "medina"], "is_partial": [true, true, true]},
    {"district_type": "state_senate", "district_number": 25, "counties": ["cuyahoga"], "is_partial": [true]},
    {"district_type": "state_senate", "district_number": 26, "counties": ["allen", "union"], "is_partial": [false, false]},
    {"district_type": "state_senate", "district_number": 27, "counties": ["portage", "stark", "summit"], "is_partial": [true, true, true]},
    {"district_type": "state_senate", "district_number": 28, "counties": ["medina", "summit"], "is_partial": [true, true]},
    {"district_type": "state_senate", "district_number": 29, "counties": ["mahoning", "stark"], "is_partial": [true, true]},
    {"district_type": "state_senate", "district_number": 30, "counties": ["belmont", "guernsey", "monroe", "noble", "washington"], "is_partial": [false, false, false, false, false]},
    {"district_type": "state_senate", "district_number": 31, "counties": ["carroll", "columbiana", "jefferson", "tuscarawas"], "is_partial": [false, false, true, false]},
    {"district_type": "state_senate", "district_number": 32, "counties": ["geauga", "mahoning", "trumbull"], "is_partial": [true, true, false]},
    {"district_type": "state_senate", "district_number": 33, "counties": ["carroll", "columbiana", "mahoning"], "is_partial": [false, true, true]}
  ]
}
