--[==[ To inspect the content of this data module, use Special:ExpandTemplates and enter the following input text:     To inspect the content of this data module when editing, enter the following into the Debug console:   local util = require("Module:Road data/util")   print(util.arrayToString(p)) To inspect a particular route type, change `p` above to include the route type, e.g., `p.I` and `p["US-Hist"]`. ]==]  -- Montana local MT = {}  local util = require("Module:Road data/util") local format = mw.ustring.format util.addAll(MT, require("Module:Road data/strings/USA"))  local suffix = " ([dab||%dab%, |]Montana)"  MT.I.link = { 	["115"] = "Interstate 115", 	["315"] = "Interstate 15 Business (Great Falls, Montana)", 	default = { 		hook = "split", 		split = 100, 		above = "Interstate %route% (Montana)", 		below = "Interstate %route% in Montana" 	} }  for k, v in pairs(MT) do if k:find ("^I") then  	v.link = MT.I.link 	end end  MT.BL.link = MT.I.base .. " Business" .. suffix  for k, v in pairs(MT) do if k:find ("^BL") then  	v.link = MT.BL.link 	end end  MT.US.name = "U.S. Highway %route%" MT.US.link = { 	["10A"] = "U.S. Route 10 Alternate ([dab||%dab%–|]Montana)", 	["310"] = "U.S. Route 310", 	["312"] = "U.S. Route 312", 	default = "U.S. Route %route% in Montana" }  for k, v in pairs(MT) do if k:find ("^US %d") then  	v.name = MT.US.name 	v.link = MT.US.link 	end end  for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do 	local spec = MT[" aux "][auxType] 		for k, v in pairs(MT) do if k:find (auxType) then if k:find ("^US") then 			v.name = MT.US.name .. " " .. spec.name 			v.link = MT.US.base .. " " .. spec.name .. " ([dab||%dab%, |]Montana)" 			end 		end 	end end  MT.MT = { 	shield = "MT-%route%.svg", 	name = "Montana Highway %route%", 	link = "Montana Highway %route%[dab|| (%dab%)|]", 	abbr = "MT %route%", 	width = "expand" }  for _,type in ipairs({"MT"}) do 	for _,year in ipairs({"1926", "1948"}) do 		MT["MT " .. year] = { 			shield = format("MT-%%route%% (%s).svg", year), 			name = MT.MT.name, 			link = MT.MT.link, 			abbr = MT.MT.abbr, 			width = "square" 		} 	end end  MT["MT-Bus"] = { 	shield = MT.MT.shield,     name = MT.MT.name .. " Business",     link = "Montana Highway %route% Business[dab|| (%dab%)|]",     abbr = "MT %route% Bus.",     banner = "Business plate.svg",     aux = MT[" aux "].Bus,     width = "expand" }  MT.S = { 	shield = "MT-sec-%route%.svg",     name = "Secondary Highway %route%",     link = {     	ifexists = true, 		default = "Montana Secondary Highway %route%", 		otherwise = "List of secondary highways in Montana#Sec0%route%"     },     abbr = "S-%route%" }  MT.Sec = MT.S  MT["S 1945"] = { 	shield = "MT-sec-%route% (1945).svg",     name = MT.S.name,     link = MT.S.link,     abbr = MT.S.abbr }  MT["Sec 1945"] = MT["S 1945"]  -- add new types above this line if you want it to have the state highway browse and maint for k, v in pairs(MT) do if k:find ("^%a") then 	v.maint = "MDT" 	v.browse = "Montana Highway System" 	v.browselinks = { 		[1] = "Interstate", 		[2] = "US", 		[3] = "State", 		[4] = "Secondary" 	} 	end end  MT.CR.shield = "Connecticut Highway %route%.svg"  MT.NSB.shieldmain = {"US 212.svg", "MUTCD D6-4.svg"}  -- For internal linking on List of secondary highways in Montana  MT.Sec2 = { 	shield = MT.Sec.shield, 	link = "#Secondary Highway %route%", 	abbr = MT.Sec.abbr }  return MT