Module:GenerateTables

From Foundry Wiki

Documentation for this module may be created at Module:GenerateTables/doc

-- Automatically generated code

local recipes = {
  ["Advanced Xenoferrite-Ignium Ore Blend"] = {
    name="Advanced Xenoferrite-Ignium Ore Blend",
    sanitizedName="Advanced Xenoferrite-Ignium Ore Blend",
    iconItem="Advanced Xenoferrite-Ignium Ore Blend",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore", amount=4 },
      { item="Ignium Ore", amount=2 },
    },
    outputs={
      { item="Advanced Xenoferrite-Ignium Ore Blend", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=3000.0, rate=20.0 },
      { crafter="Crusher II", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Air Intake Base"] = {
    name="Air Intake Base",
    sanitizedName="Air Intake Base",
    iconItem="Air Intake Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Air Intake Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=100 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Air Intake Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Sales Warehouse (Assembly Line)"] = {
    name="Sales Warehouse (Assembly Line)",
    sanitizedName="Sales Warehouse (Assembly Line)",
    iconItem="Sales Warehouse",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Sales Warehouse (Assembly Line)",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
      { item="Hydraulic Piston", amount=20 },
    },
    outputs={
      { item="Sales Warehouse (Assembly Line)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembly Line Merger"] = {
    name="Assembly Line Merger",
    sanitizedName="Assembly Line Merger",
    iconItem="Assembly Line Merger",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=5000.0,
    relatedItemTemplate="Assembly Line Merger",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Advanced Machinery Parts", amount=6 },
      { item="Circuit Board", amount=2 },
    },
    outputs={
      { item="Assembly Line Merger", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Assembly Line Painter"] = {
    name="Assembly Line Painter",
    sanitizedName="Assembly Line Painter",
    iconItem="Assembly Line Painter",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Assembly Line Painter",
    inputs={
      { item="Xenoferrite Plates", amount=40 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=10 },
      { item="Hydraulic Piston", amount=10 },
    },
    outputs={
      { item="Assembly Line Painter", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembly Line Producer"] = {
    name="Assembly Line Producer",
    sanitizedName="Assembly Line Producer",
    iconItem="Assembly Line Producer",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Assembly Line Producer",
    inputs={
      { item="Xenoferrite Plates", amount=40 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=10 },
      { item="Hydraulic Piston", amount=10 },
    },
    outputs={
      { item="Assembly Line Producer", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembly Line Rail"] = {
    name="Assembly Line Rail",
    sanitizedName="Assembly Line Rail",
    iconItem="Assembly Line Rail",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=3000.0,
    relatedItemTemplate="Assembly Line Rail",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Advanced Machinery Parts", amount=1 },
    },
    outputs={
      { item="Assembly Line Rail", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Assembly Line Splitter"] = {
    name="Assembly Line Splitter",
    sanitizedName="Assembly Line Splitter",
    iconItem="Assembly Line Splitter",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=5000.0,
    relatedItemTemplate="Assembly Line Splitter",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Advanced Machinery Parts", amount=6 },
      { item="Circuit Board", amount=2 },
    },
    outputs={
      { item="Assembly Line Splitter", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Assembly Line Start"] = {
    name="Assembly Line Start",
    sanitizedName="Assembly Line Start",
    iconItem="Assembly Line Start",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Assembly Line Start",
    inputs={
      { item="Xenoferrite Plates", amount=30 },
      { item="Advanced Machinery Parts", amount=8 },
      { item="Circuit Board", amount=4 },
      { item="Hydraulic Piston", amount=8 },
    },
    outputs={
      { item="Assembly Line Start", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Fluid-Assembler I"] = {
    name="Fluid-Assembler I",
    sanitizedName="Fluid-Assembler I",
    iconItem="Fluid Assembler I",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Fluid Assembler I",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=5 },
      { item="Polymer Board", amount=10 },
    },
    outputs={
      { item="Fluid Assembler I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Assembler I"] = {
    name="Assembler I",
    sanitizedName="Assembler I",
    iconItem="Assembler I",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Assembler I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=10 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Assembler I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembler II"] = {
    name="Assembler II",
    sanitizedName="Assembler II",
    iconItem="Assembler II",
    category="Structures",
    rowGroup="Processing",
    timeMs=6000.0,
    relatedItemTemplate="Assembler II",
    inputs={
      { item="Assembler I", amount=1 },
      { item="Advanced Machinery Parts", amount=6 },
    },
    outputs={
      { item="Assembler II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
      { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Assembler III"] = {
    name="Assembler III",
    sanitizedName="Assembler III",
    iconItem="Assembler III",
    category="Structures",
    rowGroup="Processing",
    timeMs=6000.0,
    relatedItemTemplate="Assembler III",
    inputs={
      { item="Assembler II", amount=1 },
      { item="Firmarlite Sheet", amount=20 },
      { item="Circuit Board", amount=10 },
    },
    outputs={
      { item="Assembler III", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
      { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Olumite Refining Olumite Gas"] = {
    name="Olumite Refining: Olumite Gas",
    sanitizedName="Olumite Refining Olumite Gas",
    iconItem="Olumite Gas",
    category="Components",
    rowGroup="Liquids",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Crude Olumite", amount=100.0 },
    },
    outputs={
      { item="Olumite Gas", amount=90.0, percentage=1.0 },
      { item="Waste Gas", amount=10.0, percentage=1.0 },
    },
    tags={ "distillation_column" },
    rates={
      { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Olumite Refining Low Density Olumite"] = {
    name="Olumite Refining: Low Density Olumite",
    sanitizedName="Olumite Refining Low Density Olumite",
    iconItem="Low Density Olumite",
    category="Components",
    rowGroup="Liquids",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Crude Olumite", amount=100.0 },
    },
    outputs={
      { item="Low Density Olumite", amount=100.0, percentage=1.0 },
      { item="Waste Gas", amount=25.0, percentage=1.0 },
    },
    tags={ "distillation_column" },
    rates={
      { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Olumite Refining Liquid Polymer"] = {
    name="Olumite Refining: Liquid Polymer",
    sanitizedName="Olumite Refining Liquid Polymer",
    iconItem="Liquid Polymer",
    category="Components",
    rowGroup="Liquids",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Crude Olumite", amount=100.0 },
    },
    outputs={
      { item="Liquid Polymer", amount=75.0, percentage=1.0 },
      { item="Waste Gas", amount=50.0, percentage=1.0 },
    },
    tags={ "distillation_column" },
    rates={
      { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Battery (Small)"] = {
    name="Battery (Small)",
    sanitizedName="Battery (Small)",
    iconItem="Battery (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Battery (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Electronic Components", amount=4 },
      { item="Technum Rods", amount=20 },
      { item="Energy Cell", amount=10 },
    },
    outputs={
      { item="Battery (Small)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Battery (Large)"] = {
    name="Battery (Large)",
    sanitizedName="Battery (Large)",
    iconItem="Battery (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=7500.0,
    relatedItemTemplate="Battery (Large)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Circuit Board", amount=10 },
      { item="Energy Cell", amount=20 },
    },
    outputs={
      { item="Battery (Large)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Biomass"] = {
    name="Biomass",
    sanitizedName="Biomass",
    iconItem="Biomass",
    category="Components",
    rowGroup="General",
    timeMs=60000.0,
    relatedItemTemplate="Biomass",
    inputs={
      { item="Biomass", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Biomass", amount=2, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=60000.0, rate=1.0 },
    }
  },
  ["Biomass Burner"] = {
    name="Biomass Burner",
    sanitizedName="Biomass Burner",
    iconItem="Biomass Burner",
    category="Structures",
    rowGroup="Energy",
    timeMs=4000.0,
    relatedItemTemplate="Biomass Burner",
    inputs={
      { item="Xenoferrite Plates", amount=5 },
      { item="Electronic Components", amount=5 },
      { item="Technum Rods", amount=5 },
    },
    outputs={
      { item="Biomass Burner", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Blast Furnace Base"] = {
    name="Blast Furnace Base",
    sanitizedName="Blast Furnace Base",
    iconItem="Blast Furnace Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="_base_blast_furnance_base",
    inputs={
      { item="Concrete", amount=600 },
      { item="Steel Beams", amount=600 },
      { item="Advanced Machinery Parts", amount=300 },
      { item="Circuit Board", amount=200 },
    },
    outputs={
      { item="Blast Furnace Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Boiler"] = {
    name="Boiler",
    sanitizedName="Boiler",
    iconItem="Boiler",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Boiler",
    inputs={
      { item="Pipe", amount=5 },
      { item="Machinery Parts", amount=10 },
      { item="Steel Beams", amount=10 },
    },
    outputs={
      { item="Boiler", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Forest Seed (Plants)"] = {
    name="Forest Seed (Plants)",
    sanitizedName="Forest Seed (Plants)",
    iconItem="Forest Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Forest Seed (Plants)",
    inputs={
      { item="Forest Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Forest Seed (Plants)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Forest Seed (Trees)"] = {
    name="Forest Seed (Trees)",
    sanitizedName="Forest Seed (Trees)",
    iconItem="Forest Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Forest Seed (Trees)",
    inputs={
      { item="Forest Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Forest Seed (Trees)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Building Block"] = {
    name="Building Block",
    sanitizedName="Building Block",
    iconItem="Building Block",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=5000.0,
    relatedItemTemplate="Building Block",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Technum Rods", amount=4 },
    },
    outputs={
      { item="Building Block", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Burner Generator"] = {
    name="Burner Generator",
    sanitizedName="Burner Generator",
    iconItem="Burner Generator",
    category="Structures",
    rowGroup="Energy",
    timeMs=4000.0,
    relatedItemTemplate="Burner Generator",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Electronic Components", amount=10 },
      { item="Technum Rods", amount=5 },
    },
    outputs={
      { item="Burner Generator", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Casting Machine"] = {
    name="Casting Machine",
    sanitizedName="Casting Machine",
    iconItem="Casting Machine",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Casting Machine",
    inputs={
      { item="Steel Beams", amount=15 },
      { item="Advanced Machinery Parts", amount=20 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Casting Machine", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Cement"] = {
    name="Cement",
    sanitizedName="Cement",
    iconItem="Cement",
    category="Components",
    rowGroup="Concrete",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Mineral Rocks", amount=2 },
      { item="Xenoferrite Ore Rubble", amount=1 },
    },
    outputs={
      { item="Cement", amount=2, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=12000.0, rate=5.0 },
      { crafter="Crusher II", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Cement (Slag Reprocessing)"] = {
    name="Cement (Slag Reprocessing)",
    sanitizedName="Cement (Slag Reprocessing)",
    iconItem="Cement",
    category="Components",
    rowGroup="Concrete",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Blast Furnace Slag", amount=36.0 },
    },
    outputs={
      { item="Cement", amount=1, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=12000.0, rate=5.0 },
    }
  },
  ["Chemical Processor"] = {
    name="Chemical Processor",
    sanitizedName="Chemical Processor",
    iconItem="Chemical Processor",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Chemical Processor",
    inputs={
      { item="Steel Beams", amount=20 },
      { item="Polymer Board", amount=10 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Chemical Processor", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Coked Ignium"] = {
    name="Coked Ignium",
    sanitizedName="Coked Ignium",
    iconItem="Coked Ignium",
    category="Components",
    rowGroup="General",
    timeMs=11250.0,
    relatedItemTemplate="Coked Ignium",
    inputs={
      { item="Ignium Ore", amount=2 },
    },
    outputs={
      { item="Coked Ignium", amount=5, percentage=1.0 },
    },
    tags={ "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Concrete"] = {
    name="Concrete",
    sanitizedName="Concrete",
    iconItem="Concrete",
    category="Components",
    rowGroup="Concrete",
    timeMs=15000.0,
    relatedItemTemplate="Concrete",
    inputs={
      { item="Cement", amount=2 },
      { item="Gravel", amount=4 },
      { item="Water", amount=20.0 },
    },
    outputs={
      { item="Concrete", amount=4, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Construction Ship Port"] = {
    name="Construction Ship Port",
    sanitizedName="Construction Ship Port",
    iconItem="Construction Ship Port",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Construction Ship Port",
    inputs={
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=100 },
      { item="Circuit Board", amount=25 },
      { item="Energy Cell", amount=10 },
      { item="Polymer Board", amount=50 },
      { item="Maintenance Drone", amount=20 },
    },
    outputs={
      { item="Construction Ship Port", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Construction Material"] = {
    name="Construction Material",
    sanitizedName="Construction Material",
    iconItem="Construction Material",
    category="Components",
    rowGroup="General",
    timeMs=90000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=100 },
      { item="Steel Beams", amount=25 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Concrete", amount=60 },
      { item="Polymer Board", amount=60 },
      { item="Electronic Components", amount=50 },
    },
    outputs={
      { item="Construction Material", amount=320, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=90000.0, rate=0.6666666666666666 },
      { crafter="Assembler II", timeMs=60000.0, rate=1.0 },
      { crafter="Assembler III", timeMs=45000.0, rate=1.3333333333333333 },
    }
  },
  ["Construction Warehouse"] = {
    name="Construction Warehouse",
    sanitizedName="Construction Warehouse",
    iconItem="Construction Warehouse",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Construction Warehouse",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
    },
    outputs={
      { item="Construction Warehouse", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Container"] = {
    name="Container",
    sanitizedName="Container",
    iconItem="Container",
    category="Structures",
    rowGroup="Storage",
    timeMs=5000.0,
    relatedItemTemplate="Container",
    inputs={
      { item="Xenoferrite Plates", amount=30 },
    },
    outputs={
      { item="Container", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Conveyor Balancer I"] = {
    name="Conveyor Balancer I",
    sanitizedName="Conveyor Balancer I",
    iconItem="Conveyor Balancer I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor Balancer I",
    inputs={
      { item="Conveyor I", amount=4 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Conveyor Balancer I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor Balancer II"] = {
    name="Conveyor Balancer II",
    sanitizedName="Conveyor Balancer II",
    iconItem="Conveyor Balancer II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor Balancer II",
    inputs={
      { item="Conveyor Balancer I", amount=1 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Conveyor Balancer II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor Balancer III"] = {
    name="Conveyor Balancer III",
    sanitizedName="Conveyor Balancer III",
    iconItem="Conveyor Balancer III",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor Balancer III",
    inputs={
      { item="Conveyor Balancer II", amount=1 },
      { item="Advanced Machinery Parts", amount=2 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Conveyor Balancer III", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor I"] = {
    name="Conveyor I",
    sanitizedName="Conveyor I",
    iconItem="Conveyor I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor I",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Conveyor I", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor II"] = {
    name="Conveyor II",
    sanitizedName="Conveyor II",
    iconItem="Conveyor II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=5000.0,
    relatedItemTemplate="Conveyor II",
    inputs={
      { item="Conveyor I", amount=2 },
      { item="Machinery Parts", amount=2 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Conveyor II", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Conveyor III"] = {
    name="Conveyor III",
    sanitizedName="Conveyor III",
    iconItem="Conveyor III",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=7500.0,
    relatedItemTemplate="Conveyor III",
    inputs={
      { item="Conveyor II", amount=2 },
      { item="Advanced Machinery Parts", amount=1 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Conveyor III", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Conveyor Slope I"] = {
    name="Conveyor Slope I",
    sanitizedName="Conveyor Slope I",
    iconItem="Conveyor Slope I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=1500.0,
    relatedItemTemplate="Conveyor Slope I",
    inputs={
      { item="Conveyor I", amount=2 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Conveyor Slope I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Conveyor Slope II"] = {
    name="Conveyor Slope II",
    sanitizedName="Conveyor Slope II",
    iconItem="Conveyor Slope II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=2500.0,
    relatedItemTemplate="Conveyor Slope II",
    inputs={
      { item="Conveyor Slope I", amount=1 },
      { item="Machinery Parts", amount=2 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Conveyor Slope II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=833.3333333333334, rate=72.0 },
      { crafter="Assembler I", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler II", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler III", timeMs=1250.0, rate=48.0 },
    }
  },
  ["Conveyor Slope III"] = {
    name="Conveyor Slope III",
    sanitizedName="Conveyor Slope III",
    iconItem="Conveyor Slope III",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3750.0,
    relatedItemTemplate="Conveyor Slope III",
    inputs={
      { item="Conveyor Slope II", amount=1 },
      { item="Advanced Machinery Parts", amount=1 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Conveyor Slope III", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1250.0, rate=48.0 },
      { crafter="Assembler I", timeMs=3750.0, rate=16.0 },
      { crafter="Assembler II", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler III", timeMs=1875.0, rate=32.0 },
    }
  },
  ["CPU"] = {
    name="CPU",
    sanitizedName="CPU",
    iconItem="CPU",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=120000.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Wafer", amount=1 },
      { item="Polymer Board", amount=2 },
      { item="Olumic Acid", amount=80.0 },
    },
    outputs={
      { item="CPU", amount=8, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=120000.0, rate=0.5 },
    }
  },
  ["Crate"] = {
    name="Crate",
    sanitizedName="Crate",
    iconItem="Crate",
    category="Structures",
    rowGroup="Storage",
    timeMs=2000.0,
    relatedItemTemplate="Crate",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
    },
    outputs={
      { item="Crate", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Crusher I"] = {
    name="Crusher I",
    sanitizedName="Crusher I",
    iconItem="Crusher I",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Crusher I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=10 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Crusher I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Crusher II"] = {
    name="Crusher II",
    sanitizedName="Crusher II",
    iconItem="Crusher II",
    category="Structures",
    rowGroup="Processing",
    timeMs=6000.0,
    relatedItemTemplate="Crusher II",
    inputs={
      { item="Crusher I", amount=1 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Crusher II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
      { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Decor (Basic Shapes)"] = {
    name="Decor (Basic Shapes)",
    sanitizedName="Decor (Basic Shapes)",
    iconItem="Decor (Basic Shapes)",
    category="Decor",
    rowGroup="Blocks",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Basic Shapes)",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Decor (Basic Shapes)", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Misc)"] = {
    name="Decor (Misc)",
    sanitizedName="Decor (Misc)",
    iconItem="Decor (Misc)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Misc)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
    },
    outputs={
      { item="Decor (Misc)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Struts)"] = {
    name="Decor (Struts)",
    sanitizedName="Decor (Struts)",
    iconItem="Decor (Struts)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Struts)",
    inputs={
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Decor (Struts)", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Support)"] = {
    name="Decor (Support)",
    sanitizedName="Decor (Support)",
    iconItem="Decor (Support)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Support)",
    inputs={
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Decor (Support)", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Walls)"] = {
    name="Decor (Walls)",
    sanitizedName="Decor (Walls)",
    iconItem="Decor (Walls)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Walls)",
    inputs={
      { item="Xenoferrite Plates", amount=5 },
    },
    outputs={
      { item="Decor (Walls)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Windows)"] = {
    name="Decor (Windows)",
    sanitizedName="Decor (Windows)",
    iconItem="Decor (Windows)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Windows)",
    inputs={
      { item="Steel Beams", amount=1 },
      { item="Glass", amount=1 },
    },
    outputs={
      { item="Decor (Windows)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Modular Windows)"] = {
    name="Decor (Modular Windows)",
    sanitizedName="Decor (Modular Windows)",
    iconItem="Decor (Modular Windows)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Modular Windows)",
    inputs={
      { item="Glass", amount=1 },
    },
    outputs={
      { item="Decor (Modular Windows)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Distillation Column"] = {
    name="Distillation Column",
    sanitizedName="Distillation Column",
    iconItem="Distillation Column",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Distillation Column",
    inputs={
      { item="Steel Beams", amount=30 },
      { item="Pipe", amount=30 },
      { item="Advanced Machinery Parts", amount=15 },
      { item="Electronic Components", amount=15 },
    },
    outputs={
      { item="Distillation Column", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Door (Single)"] = {
    name="Door (Single)",
    sanitizedName="Door (Single)",
    iconItem="Door (Single)",
    category="Decor",
    rowGroup="Doors",
    timeMs=5000.0,
    relatedItemTemplate="Door (Single)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Door (Single)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Door (Double)"] = {
    name="Door (Double)",
    sanitizedName="Door (Double)",
    iconItem="Door (Double)",
    category="Decor",
    rowGroup="Doors",
    timeMs=5000.0,
    relatedItemTemplate="Door (Double)",
    inputs={
      { item="Xenoferrite Plates", amount=20 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Door (Double)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Hangar Gate"] = {
    name="Hangar Gate",
    sanitizedName="Hangar Gate",
    iconItem="Hangar Gate",
    category="Decor",
    rowGroup="Doors",
    timeMs=5000.0,
    relatedItemTemplate="Hangar Gate",
    inputs={
      { item="Steel Beams", amount=25 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Hangar Gate", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Drone Miner I"] = {
    name="Drone Miner I",
    sanitizedName="Drone Miner I",
    iconItem="Drone Miner I",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=5000.0,
    relatedItemTemplate="Drone Miner I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=8 },
      { item="Electronic Components", amount=6 },
    },
    outputs={
      { item="Drone Miner I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Drone Miner II"] = {
    name="Drone Miner II",
    sanitizedName="Drone Miner II",
    iconItem="Drone Miner II",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=7500.0,
    relatedItemTemplate="Drone Miner II",
    inputs={
      { item="Drone Miner I", amount=1 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=4 },
    },
    outputs={
      { item="Drone Miner II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Cargo Ship Start Pad"] = {
    name="Cargo Ship Start Pad",
    sanitizedName="Cargo Ship Start Pad",
    iconItem="Cargo Ship Start Pad",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=30000.0,
    relatedItemTemplate="Cargo Ship Start Pad",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=100 },
      { item="Circuit Board", amount=50 },
      { item="Glass", amount=20 },
    },
    outputs={
      { item="Cargo Ship Start Pad", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Cargo Ship Target Pad"] = {
    name="Cargo Ship Target Pad",
    sanitizedName="Cargo Ship Target Pad",
    iconItem="Cargo Ship Target Pad",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=12000.0,
    relatedItemTemplate="Cargo Ship Target Pad",
    inputs={
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=10 },
    },
    outputs={
      { item="Cargo Ship Target Pad", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler I", timeMs=12000.0, rate=5.0 },
      { crafter="Assembler II", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler III", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Explosive Charge"] = {
    name="Explosive Charge",
    sanitizedName="Explosive Charge",
    iconItem="Explosive Charge",
    category="Handhelds",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="Explosive Charge",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Explosives", amount=1 },
      { item="Wire Coil", amount=3 },
      { item="Electronic Components", amount=3 },
    },
    outputs={
      { item="Explosive Charge", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Explosives Detonator"] = {
    name="Explosives Detonator",
    sanitizedName="Explosives Detonator",
    iconItem="Explosives Detonator",
    category="Handhelds",
    rowGroup="General",
    timeMs=8000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=40 },
    },
    outputs={
      { item="Explosives Detonator", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Electronic Components"] = {
    name="Electronic Components",
    sanitizedName="Electronic Components",
    iconItem="Electronic Components",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Rods", amount=1 },
      { item="Wire Coil", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Circuit Board"] = {
    name="Circuit Board",
    sanitizedName="Circuit Board",
    iconItem="Circuit Board",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Polymer Board", amount=1 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Circuit Board", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Electric Arc Furnace"] = {
    name="Electric Arc Furnace",
    sanitizedName="Electric Arc Furnace",
    iconItem="Electric Arc Furnace",
    category="Structures",
    rowGroup="Processing",
    timeMs=15000.0,
    relatedItemTemplate="Electric Arc Furnace",
    inputs={
      { item="Steel Beams", amount=30 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Electronic Components", amount=50 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Electric Arc Furnace", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Elevator"] = {
    name="Elevator",
    sanitizedName="Elevator",
    iconItem="Elevator",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=10000.0,
    relatedItemTemplate="Elevator",
    inputs={
      { item="Xenoferrite Plates", amount=50 },
      { item="Steel Beams", amount=50 },
      { item="Advanced Machinery Parts", amount=20 },
      { item="Electronic Components", amount=15 },
    },
    outputs={
      { item="Elevator", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Emergency Beacon"] = {
    name="Emergency Beacon",
    sanitizedName="Emergency Beacon",
    iconItem="Emergency Beacon",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=3000.0,
    relatedItemTemplate="Emergency Beacon",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Emergency Beacon", amount=1, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Energy Cell"] = {
    name="Energy Cell",
    sanitizedName="Energy Cell",
    iconItem="Energy Cell",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
      { item="Electronic Components", amount=6 },
      { item="Glass", amount=6 },
      { item="Olumic Acid", amount=60.0 },
    },
    outputs={
      { item="Energy Cell", amount=6, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=30000.0, rate=2.0 },
    }
  },
  ["Escalator"] = {
    name="Escalator",
    sanitizedName="Escalator",
    iconItem="Escalator",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Escalator",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
    },
    outputs={
      { item="Escalator", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Explosives (Primitive)"] = {
    name="Explosives (Primitive)",
    sanitizedName="Explosives (Primitive)",
    iconItem="Explosives",
    category="Components",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Ore Rubble", amount=2 },
      { item="Technum Ore Rubble", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Explosives", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Explosives"] = {
    name="Explosives",
    sanitizedName="Explosives",
    iconItem="Explosives",
    category="Components",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Powder", amount=4 },
      { item="Low Density Olumite", amount=50.0 },
    },
    outputs={
      { item="Explosives", amount=1, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Firmarlite Sheet (T1)"] = {
    name="Firmarlite Sheet (T1)",
    sanitizedName="Firmarlite Sheet (T1)",
    iconItem="Firmarlite Sheet",
    category="Metallurgy",
    rowGroup="Firmarlite",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Liquid Firmarlite", amount=250.0 },
    },
    outputs={
      { item="Firmarlite Sheet", amount=1, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=12000.0, rate=5.0 },
    }
  },
  ["Flare Stack"] = {
    name="Flare Stack",
    sanitizedName="Flare Stack",
    iconItem="Flare Stack",
    category="Structures",
    rowGroup="Processing",
    timeMs=5000.0,
    relatedItemTemplate="Flare Stack",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Steel Beams", amount=5 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Flare Stack", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Fracking Liquid"] = {
    name="Fracking Liquid",
    sanitizedName="Fracking Liquid",
    iconItem="Fracking Liquid",
    category="Components",
    rowGroup="Liquids",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Air", amount=30.0 },
      { item="Olumite Gas", amount=10.0 },
      { item="Water", amount=60.0 },
    },
    outputs={
      { item="Fracking Liquid", amount=100.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Fracking Tower Base"] = {
    name="Fracking Tower Base",
    sanitizedName="Fracking Tower Base",
    iconItem="Fracking Tower Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Fracking Tower Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Fracking Tower Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Freight Elevator I"] = {
    name="Freight Elevator I",
    sanitizedName="Freight Elevator I",
    iconItem="Freight Elevator I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=7500.0,
    relatedItemTemplate="Freight Elevator I",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Steel Beams", amount=15 },
      { item="Advanced Machinery Parts", amount=5 },
    },
    outputs={
      { item="Freight Elevator I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Freight Elevator II"] = {
    name="Freight Elevator II",
    sanitizedName="Freight Elevator II",
    iconItem="Freight Elevator II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=7500.0,
    relatedItemTemplate="Freight Elevator II",
    inputs={
      { item="Freight Elevator I", amount=1 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Freight Elevator II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Fuel Rod Casing"] = {
    name="Fuel Rod Casing",
    sanitizedName="Fuel Rod Casing",
    iconItem="Fuel Rod Casing",
    category="Components",
    rowGroup="Fuel Rod",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Machinery Parts", amount=1 },
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Fuel Rod Casing", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Glass"] = {
    name="Glass",
    sanitizedName="Glass",
    iconItem="Glass",
    category="Components",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Gravel", amount=5 },
    },
    outputs={
      { item="Glass", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Smelter (Small)", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Gravel"] = {
    name="Gravel",
    sanitizedName="Gravel",
    iconItem="Gravel",
    category="Components",
    rowGroup="Concrete",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Mineral Rocks", amount=2 },
    },
    outputs={
      { item="Gravel", amount=6, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=12000.0, rate=5.0 },
      { crafter="Crusher II", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Greenhouse"] = {
    name="Greenhouse",
    sanitizedName="Greenhouse",
    iconItem="Greenhouse",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Greenhouse",
    inputs={
      { item="Xenoferrite Plates", amount=20 },
      { item="Glass", amount=6 },
      { item="Pipe", amount=4 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Greenhouse", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Hot Air Stove Base"] = {
    name="Hot Air Stove Base",
    sanitizedName="Hot Air Stove Base",
    iconItem="Hot Air Stove Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Hot Air Stove Base",
    inputs={
      { item="Concrete", amount=100 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Electronic Components", amount=25 },
    },
    outputs={
      { item="Hot Air Stove Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Hydraulic Piston"] = {
    name="Hydraulic Piston",
    sanitizedName="Hydraulic Piston",
    iconItem="Hydraulic Piston",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Steel Beams", amount=1 },
      { item="Low Density Olumite", amount=30.0 },
    },
    outputs={
      { item="Hydraulic Piston", amount=1, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Ignium Fuel Rod"] = {
    name="Ignium Fuel Rod",
    sanitizedName="Ignium Fuel Rod",
    iconItem="Ignium Fuel Rod",
    category="Components",
    rowGroup="Fuel Rod",
    timeMs=15000.0,
    relatedItemTemplate="Ignium Fuel Rod",
    inputs={
      { item="Fuel Rod Casing", amount=1 },
      { item="Wire Coil", amount=10 },
      { item="Ignium Powder", amount=20 },
      { item="Liquid Fuel", amount=400.0 },
    },
    outputs={
      { item="Ignium Fuel Rod", amount=1, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Ignium Powder"] = {
    name="Ignium Powder",
    sanitizedName="Ignium Powder",
    iconItem="Ignium Powder",
    category="Components",
    rowGroup="Fuel Rod",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Ore Rubble", amount=1 },
    },
    outputs={
      { item="Ignium Powder", amount=5, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=5000.0, rate=12.0 },
      { crafter="Crusher II", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Incinerator"] = {
    name="Incinerator",
    sanitizedName="Incinerator",
    iconItem="Incinerator",
    category="Structures",
    rowGroup="Processing",
    timeMs=5000.0,
    relatedItemTemplate="Incinerator",
    inputs={
      { item="Steel Beams", amount=20 },
      { item="Electronic Components", amount=5 },
      { item="Concrete", amount=25 },
    },
    outputs={
      { item="Incinerator", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Jetpack Fuel"] = {
    name="Jetpack Fuel",
    sanitizedName="Jetpack Fuel",
    iconItem="Jetpack Fuel",
    category="Components",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="Jetpack Fuel",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Liquid Fuel", amount=30.0 },
    },
    outputs={
      { item="Jetpack Fuel", amount=1, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Ladder"] = {
    name="Ladder",
    sanitizedName="Ladder",
    iconItem="Ladder",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Ladder",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Ladder", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Light Pole"] = {
    name="Light Pole",
    sanitizedName="Light Pole",
    iconItem="Lightpole I",
    category="Decor",
    rowGroup="Lights",
    timeMs=3000.0,
    relatedItemTemplate="Lightpole I",
    inputs={
      { item="Xenoferrite Plates", amount=5 },
      { item="Electronic Components", amount=1 },
      { item="Technum Rods", amount=1 },
    },
    outputs={
      { item="Lightpole I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Ceiling Light"] = {
    name="Ceiling Light",
    sanitizedName="Ceiling Light",
    iconItem="Ceiling Light I",
    category="Decor",
    rowGroup="Lights",
    timeMs=2000.0,
    relatedItemTemplate="Ceiling Light I",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Ceiling Light I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Wall Light"] = {
    name="Wall Light",
    sanitizedName="Wall Light",
    iconItem="Wall Light I",
    category="Decor",
    rowGroup="Lights",
    timeMs=2000.0,
    relatedItemTemplate="Wall Light I",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Wall Light I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Liquid Firmarlite"] = {
    name="Liquid Firmarlite",
    sanitizedName="Liquid Firmarlite",
    iconItem="Liquid Firmarlite",
    category="Metallurgy",
    rowGroup="Firmarlite",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Firmarlite Bar", amount=100 },
    },
    outputs={
      { item="Liquid Firmarlite", amount=1250.0, percentage=1.0 },
    },
    tags={ "electric_arc_furnace" },
    rates={
      { crafter="Electric Arc Furnace", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Liquid Fuel"] = {
    name="Liquid Fuel",
    sanitizedName="Liquid Fuel",
    iconItem="Liquid Fuel",
    category="Components",
    rowGroup="Liquids",
    timeMs=8000.0,
    relatedItemTemplate="Liquid Fuel",
    inputs={
      { item="Low Density Olumite", amount=50.0 },
    },
    outputs={
      { item="Liquid Fuel", amount=150.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=8000.0, rate=7.5 },
    }
  },
  ["Liquid Telluxite"] = {
    name="Liquid Telluxite",
    sanitizedName="Liquid Telluxite",
    iconItem="Liquid Telluxite",
    category="Metallurgy",
    rowGroup="Telluxite",
    timeMs=60000.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Ingot", amount=40 },
    },
    outputs={
      { item="Liquid Telluxite", amount=2000.0, percentage=1.0 },
    },
    tags={ "electric_arc_furnace" },
    rates={
      { crafter="Electric Arc Furnace", timeMs=60000.0, rate=1.0 },
    }
  },
  ["Loader"] = {
    name="Loader",
    sanitizedName="Loader",
    iconItem="Loader",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Loader",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Loader", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Filter Loader"] = {
    name="Filter Loader",
    sanitizedName="Filter Loader",
    iconItem="Filter Loader",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Filter Loader",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Advanced Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Filter Loader", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Loader 2nd Lane"] = {
    name="Loader, 2nd Lane",
    sanitizedName="Loader 2nd Lane",
    iconItem="Loader (2nd Lane)",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Loader (2nd Lane)",
    inputs={
      { item="Xenoferrite Plates", amount=8 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Loader (2nd Lane)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Loader 3rd Lane"] = {
    name="Loader, 3rd Lane",
    sanitizedName="Loader 3rd Lane",
    iconItem="Loader (3rd Lane)",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Loader (3rd Lane)",
    inputs={
      { item="Xenoferrite Plates", amount=12 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Loader (3rd Lane)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Logistic Container I"] = {
    name="Logistic Container I",
    sanitizedName="Logistic Container I",
    iconItem="Logistic Container I",
    category="Structures",
    rowGroup="Storage",
    timeMs=5000.0,
    relatedItemTemplate="Logistic Container I",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Logistic Container I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Logistic Container II"] = {
    name="Logistic Container II",
    sanitizedName="Logistic Container II",
    iconItem="Logistic Container II",
    category="Structures",
    rowGroup="Storage",
    timeMs=7500.0,
    relatedItemTemplate="Logistic Container II",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Steel Beams", amount=10 },
      { item="Advanced Machinery Parts", amount=4 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Logistic Container II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Logistic Container III"] = {
    name="Logistic Container III",
    sanitizedName="Logistic Container III",
    iconItem="Logistic Container III",
    category="Structures",
    rowGroup="Storage",
    timeMs=10000.0,
    relatedItemTemplate="Logistic Container III",
    inputs={
      { item="Steel Beams", amount=25 },
      { item="Advanced Machinery Parts", amount=4 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Logistic Container III", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Maintenance Drone"] = {
    name="Maintenance Drone",
    sanitizedName="Maintenance Drone",
    iconItem="Maintenance Drone",
    category="Robots",
    rowGroup="Drones",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Machinery Parts", amount=4 },
      { item="Electronic Components", amount=5 },
      { item="Circuit Board", amount=1 },
      { item="Energy Cell", amount=1 },
    },
    outputs={
      { item="Maintenance Drone", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Modular Building Planner"] = {
    name="Modular Building Planner",
    sanitizedName="Modular Building Planner",
    iconItem="Modular Building Planner",
    category="Handhelds",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Polymer Board", amount=1 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Modular Building Planner", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Machinery Parts"] = {
    name="Machinery Parts",
    sanitizedName="Machinery Parts",
    iconItem="Machinery Parts",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Advanced Machinery Parts"] = {
    name="Advanced Machinery Parts",
    sanitizedName="Advanced Machinery Parts",
    iconItem="Advanced Machinery Parts",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=4500.0,
    relatedItemTemplate="",
    inputs={
      { item="Machinery Parts", amount=2 },
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Advanced Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler I", timeMs=4500.0, rate=13.333333333333334 },
      { crafter="Assembler II", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler III", timeMs=2250.0, rate=26.666666666666668 },
    }
  },
  ["Mining Drill"] = {
    name="Mining Drill",
    sanitizedName="Mining Drill",
    iconItem="Mining Drill",
    category="Handhelds",
    rowGroup="General",
    timeMs=8000.0,
    relatedItemTemplate="Mining Drill",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=25 },
      { item="Technum Rods", amount=25 },
    },
    outputs={
      { item="Mining Drill", amount=1, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
    }
  },
  ["Mining Laser"] = {
    name="Mining Laser",
    sanitizedName="Mining Laser",
    iconItem="Mining Laser",
    category="Handhelds",
    rowGroup="General",
    timeMs=10000.0,
    relatedItemTemplate="Mining Laser",
    inputs={
      { item="Steel Beams", amount=2 },
      { item="Advanced Machinery Parts", amount=15 },
      { item="Energy Cell", amount=15 },
      { item="Electronic Components", amount=15 },
    },
    outputs={
      { item="Mining Laser", amount=1, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
    }
  },
  ["Modular Storage Tank Base"] = {
    name="Modular Storage Tank Base",
    sanitizedName="Modular Storage Tank Base",
    iconItem="Modular Storage Tank Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Modular Storage Tank Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Modular Storage Tank Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Monument Base"] = {
    name="Monument Base",
    sanitizedName="Monument Base",
    iconItem="Monument Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Monument Base",
    inputs={
      { item="Concrete", amount=50 },
    },
    outputs={
      { item="Monument Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Wooden Blocks"] = {
    name="Wooden Blocks",
    sanitizedName="Wooden Blocks",
    iconItem="Wooden Blocks",
    category="Decor",
    rowGroup="Blocks",
    timeMs=5000.0,
    relatedItemTemplate="Wooden Blocks",
    inputs={
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Wooden Blocks", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Wooden Decor Blocks"] = {
    name="Wooden Decor Blocks",
    sanitizedName="Wooden Decor Blocks",
    iconItem="Wooden Decor Blocks",
    category="Decor",
    rowGroup="Blocks",
    timeMs=5000.0,
    relatedItemTemplate="Wooden Decor Blocks",
    inputs={
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Wooden Decor Blocks", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Office Chair"] = {
    name="Office Chair",
    sanitizedName="Office Chair",
    iconItem="Office Chair",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Chair",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Office Chair", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Chair"] = {
    name="Executive Office Chair",
    sanitizedName="Executive Office Chair",
    iconItem="Executive Office Chair",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Chair",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Executive Office Chair", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Couch"] = {
    name="Office Couch",
    sanitizedName="Office Couch",
    iconItem="Office Couch",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Couch",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Office Couch", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Couch"] = {
    name="Executive Office Couch",
    sanitizedName="Executive Office Couch",
    iconItem="Executive Office Couch",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Couch",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Executive Office Couch", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Desk"] = {
    name="Office Desk",
    sanitizedName="Office Desk",
    iconItem="Office Desk",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Desk",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Office Desk", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Desk"] = {
    name="Executive Office Desk",
    sanitizedName="Executive Office Desk",
    iconItem="Executive Office Desk",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Desk",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Executive Office Desk", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office File Cabinet"] = {
    name="Office File Cabinet",
    sanitizedName="Office File Cabinet",
    iconItem="Office File Cabinet",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office File Cabinet",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Office File Cabinet", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office File Cabinet"] = {
    name="Executive Office File Cabinet",
    sanitizedName="Executive Office File Cabinet",
    iconItem="Executive Office File Cabinet",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office File Cabinet",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Executive Office File Cabinet", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Marble (Black)"] = {
    name="Marble (Black)",
    sanitizedName="Marble (Black)",
    iconItem="Marble (Black)",
    category="Decor",
    rowGroup="Blocks",
    timeMs=3000.0,
    relatedItemTemplate="Marble (Black)",
    inputs={
      { item="Mineral Rocks", amount=1 },
      { item="Crude Olumite", amount=5.0 },
    },
    outputs={
      { item="Marble (Black)", amount=2, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Marble (White)"] = {
    name="Marble (White)",
    sanitizedName="Marble (White)",
    iconItem="Marble (White)",
    category="Decor",
    rowGroup="Blocks",
    timeMs=3000.0,
    relatedItemTemplate="Marble (White)",
    inputs={
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=5.0 },
    },
    outputs={
      { item="Marble (White)", amount=2, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Office Nameplate"] = {
    name="Office Nameplate",
    sanitizedName="Office Nameplate",
    iconItem="Office Nameplate",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Office Nameplate",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Office Nameplate", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Plant"] = {
    name="Office Plant",
    sanitizedName="Office Plant",
    iconItem="Office Plant",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Plant",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Office Plant", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Plant"] = {
    name="Executive Office Plant",
    sanitizedName="Executive Office Plant",
    iconItem="Executive Office Plant",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Plant",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Executive Office Plant", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Statue"] = {
    name="Office Statue",
    sanitizedName="Office Statue",
    iconItem="Office Statue",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Office Statue",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Office Statue", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Table"] = {
    name="Office Table",
    sanitizedName="Office Table",
    iconItem="Office Table",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Table",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Office Table", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Table"] = {
    name="Executive Office Table",
    sanitizedName="Executive Office Table",
    iconItem="Executive Office Table",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Table",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Executive Office Table", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Wall Plaque"] = {
    name="Office Wall Plaque",
    sanitizedName="Office Wall Plaque",
    iconItem="Office Wall Plaque",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Office Wall Plaque",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Office Wall Plaque", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Olumic Acid"] = {
    name="Olumic Acid",
    sanitizedName="Olumic Acid",
    iconItem="Olumic Acid",
    category="Components",
    rowGroup="Liquids",
    timeMs=8000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Powder", amount=16 },
      { item="Olumite Gas", amount=75.0 },
      { item="Water", amount=25.0 },
    },
    outputs={
      { item="Olumic Acid", amount=40.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=8000.0, rate=7.5 },
    }
  },
  ["Ignium Ore"] = {
    name="Ignium Ore",
    sanitizedName="Ignium Ore",
    iconItem="Ignium Ore",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Ore Rubble", amount=1 },
    },
    outputs={
      { item="Ignium Ore", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Ore Scanner (Handheld)"] = {
    name="Ore Scanner (Handheld)",
    sanitizedName="Ore Scanner (Handheld)",
    iconItem="Ore Scanner",
    category="Handhelds",
    rowGroup="General",
    timeMs=10000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Electronic Components", amount=20 },
    },
    outputs={
      { item="Ore Scanner", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Technum Ore"] = {
    name="Technum Ore",
    sanitizedName="Technum Ore",
    iconItem="Technum Ore",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore Rubble", amount=1 },
    },
    outputs={
      { item="Technum Ore", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Telluxite Ore"] = {
    name="Telluxite Ore",
    sanitizedName="Telluxite Ore",
    iconItem="Telluxite Ore",
    category="Metallurgy",
    rowGroup="Telluxite",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Ore Rubble", amount=4 },
    },
    outputs={
      { item="Telluxite Ore", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Ore Vein Miner"] = {
    name="Ore Vein Miner",
    sanitizedName="Ore Vein Miner",
    iconItem="Ore Vein Miner",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=8000.0,
    relatedItemTemplate="Ore Vein Miner",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=10 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Ore Vein Miner", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Xenoferrite Ore"] = {
    name="Xenoferrite Ore",
    sanitizedName="Xenoferrite Ore",
    iconItem="Xenoferrite Ore",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=1 },
    },
    outputs={
      { item="Xenoferrite Ore", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Paint"] = {
    name="Paint",
    sanitizedName="Paint",
    iconItem="Paint",
    category="Components",
    rowGroup="Liquids",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Low Density Olumite", amount=50.0 },
      { item="Olumite Gas", amount=50.0 },
      { item="Water", amount=50.0 },
    },
    outputs={
      { item="Paint", amount=100.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Paint Roller"] = {
    name="Paint Roller",
    sanitizedName="Paint Roller",
    iconItem="Paint Roller",
    category="Handhelds",
    rowGroup="General",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Biomass", amount=10 },
      { item="Technum Rods", amount=1 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Paint Roller", amount=1, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipe"] = {
    name="Pipe",
    sanitizedName="Pipe",
    iconItem="Pipe",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=4000.0,
    relatedItemTemplate="Pipe",
    inputs={
      { item="Steel Beams", amount=2 },
    },
    outputs={
      { item="Pipe", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipeline"] = {
    name="Pipeline",
    sanitizedName="Pipeline",
    iconItem="Pipeline",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=4000.0,
    relatedItemTemplate="Pipeline",
    inputs={
      { item="Steel Beams", amount=8 },
    },
    outputs={
      { item="Pipeline", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipe Adapter"] = {
    name="Pipe Adapter",
    sanitizedName="Pipe Adapter",
    iconItem="Pipe Adapter",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=4000.0,
    relatedItemTemplate="Pipe Adapter",
    inputs={
      { item="Steel Beams", amount=6 },
    },
    outputs={
      { item="Pipe Adapter", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipe Intake"] = {
    name="Pipe Intake",
    sanitizedName="Pipe Intake",
    iconItem="Pipe Intake",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Pipe Intake",
    inputs={
      { item="Pipe", amount=1 },
      { item="Machinery Parts", amount=5 },
    },
    outputs={
      { item="Pipe Intake", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Plumber Tool"] = {
    name="Plumber Tool",
    sanitizedName="Plumber Tool",
    iconItem="Plumber Tool",
    category="Handhelds",
    rowGroup="General",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Biomass", amount=5 },
    },
    outputs={
      { item="Plumber Tool", amount=1, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Polymer Board"] = {
    name="Polymer Board",
    sanitizedName="Polymer Board",
    iconItem="Polymer Board",
    category="Components",
    rowGroup="General",
    timeMs=2000.0,
    relatedItemTemplate="",
    inputs={
      { item="Liquid Polymer", amount=5.0 },
    },
    outputs={
      { item="Polymer Board", amount=1, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Portable Fuel"] = {
    name="Portable Fuel",
    sanitizedName="Portable Fuel",
    iconItem="Portable Fuel",
    category="Components",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="Portable Fuel",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Liquid Fuel", amount=30.0 },
    },
    outputs={
      { item="Portable Fuel", amount=1, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Power Line"] = {
    name="Power Line",
    sanitizedName="Power Line",
    iconItem="Power Line",
    category="Handhelds",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Wire Coil", amount=2 },
    },
    outputs={
      { item="Power Line", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Power Pole (Small)"] = {
    name="Power Pole (Small)",
    sanitizedName="Power Pole (Small)",
    iconItem="Power Pole (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=3000.0,
    relatedItemTemplate="Power Pole (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Power Pole (Small)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Power Pole (Large)"] = {
    name="Power Pole (Large)",
    sanitizedName="Power Pole (Large)",
    iconItem="Power Pole (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Power Pole (Large)",
    inputs={
      { item="Steel Beams", amount=10 },
      { item="Electronic Components", amount=5 },
      { item="Polymer Board", amount=5 },
    },
    outputs={
      { item="Power Pole (Large)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Power Pole (Wall-Mounted)"] = {
    name="Power Pole (Wall-Mounted)",
    sanitizedName="Power Pole (Wall-Mounted)",
    iconItem="Power Pole (Wall-Mounted)",
    category="Structures",
    rowGroup="Energy",
    timeMs=3000.0,
    relatedItemTemplate="Power Pole (Wall-Mounted)",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Power Pole (Wall-Mounted)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Pumpjack I"] = {
    name="Pumpjack I",
    sanitizedName="Pumpjack I",
    iconItem="Pumpjack I",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=8000.0,
    relatedItemTemplate="Pumpjack I",
    inputs={
      { item="Steel Beams", amount=12 },
      { item="Pipe", amount=8 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Pumpjack I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Pump (Pipes)"] = {
    name="Pump (Pipes)",
    sanitizedName="Pump (Pipes)",
    iconItem="Pump (Pipes)",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Pump (Pipes)",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Pump (Pipes)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Pump (Pipelines)"] = {
    name="Pump (Pipelines)",
    sanitizedName="Pump (Pipelines)",
    iconItem="Pump (Pipelines)",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Pump (Pipelines)",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Pump (Pipelines)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Radio Tower Base"] = {
    name="Radio Tower Base",
    sanitizedName="Radio Tower Base",
    iconItem="Radio Tower Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Radio Tower Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Radio Tower Base", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Railings"] = {
    name="Railings",
    sanitizedName="Railings",
    iconItem="Railings",
    category="Decor",
    rowGroup="General",
    timeMs=1500.0,
    relatedItemTemplate="Railings",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Railings", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Research Server"] = {
    name="Research Server",
    sanitizedName="Research Server",
    iconItem="Research Server",
    category="Science",
    rowGroup="Servers",
    timeMs=4000.0,
    relatedItemTemplate="Research Server",
    inputs={
      { item="Xenoferrite Plates", amount=20 },
      { item="Electronic Components", amount=10 },
      { item="Technum Rods", amount=20 },
    },
    outputs={
      { item="Research Server", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Robot Arm"] = {
    name="Robot Arm",
    sanitizedName="Robot Arm",
    iconItem="Robot Arm",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="Hydraulic Piston", amount=1 },
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Robot Arm", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Head"] = {
    name="Robot Head",
    sanitizedName="Robot Head",
    iconItem="Robot Head",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="CPU", amount=2 },
      { item="Glass", amount=1 },
    },
    outputs={
      { item="Robot Head", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Leg"] = {
    name="Robot Leg",
    sanitizedName="Robot Leg",
    iconItem="Robot Leg",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="Hydraulic Piston", amount=1 },
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Robot Leg", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Torso"] = {
    name="Robot Torso",
    sanitizedName="Robot Torso",
    iconItem="Robot Torso",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="Firmarlite Sheet", amount=2 },
      { item="Circuit Board", amount=1 },
      { item="Energy Cell", amount=1 },
    },
    outputs={
      { item="Robot Torso", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Parts"] = {
    name="Robot Parts",
    sanitizedName="Robot Parts",
    iconItem="Robot Parts",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Firmarlite Sheet", amount=2 },
      { item="Advanced Machinery Parts", amount=1 },
      { item="Electronic Components", amount=4 },
      { item="Polymer Board", amount=2 },
    },
    outputs={
      { item="Robot Parts", amount=2, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Rocky Desert Seed (Plants)"] = {
    name="Rocky Desert Seed (Plants)",
    sanitizedName="Rocky Desert Seed (Plants)",
    iconItem="Rocky Desert Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Rocky Desert Seed (Plants)",
    inputs={
      { item="Rocky Desert Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Rocky Desert Seed (Plants)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Rocky Desert Seed (Trees)"] = {
    name="Rocky Desert Seed (Trees)",
    sanitizedName="Rocky Desert Seed (Trees)",
    iconItem="Rocky Desert Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Rocky Desert Seed (Trees)",
    inputs={
      { item="Rocky Desert Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Rocky Desert Seed (Trees)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Space Station Requester Warehouse"] = {
    name="Space Station Requester Warehouse",
    sanitizedName="Space Station Requester Warehouse",
    iconItem="Space Station Requester Warehouse",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Space Station Requester Warehouse",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
    },
    outputs={
      { item="Space Station Requester Warehouse", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Sales Warehouse"] = {
    name="Sales Warehouse",
    sanitizedName="Sales Warehouse",
    iconItem="Sales Warehouse",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Sales Warehouse",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
    },
    outputs={
      { item="Sales Warehouse", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Sandy Desert Seed (Plants)"] = {
    name="Sandy Desert Seed (Plants)",
    sanitizedName="Sandy Desert Seed (Plants)",
    iconItem="Sandy Desert Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Sandy Desert Seed (Plants)",
    inputs={
      { item="Sandy Desert Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Sandy Desert Seed (Plants)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Sandy Desert Seed (Trees)"] = {
    name="Sandy Desert Seed (Trees)",
    sanitizedName="Sandy Desert Seed (Trees)",
    iconItem="Sandy Desert Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Sandy Desert Seed (Trees)",
    inputs={
      { item="Sandy Desert Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Sandy Desert Seed (Trees)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Long Range Scanner Base"] = {
    name="Long Range Scanner Base",
    sanitizedName="Long Range Scanner Base",
    iconItem="Long Range Scanner",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Long Range Scanner",
    inputs={
      { item="Concrete", amount=25 },
      { item="Steel Beams", amount=50 },
      { item="Machinery Parts", amount=25 },
      { item="Electronic Components", amount=50 },
    },
    outputs={
      { item="Long Range Scanner", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Science Pack I"] = {
    name="Science Pack I",
    sanitizedName="Science Pack I",
    iconItem="Science Pack I",
    category="Science",
    rowGroup="Science Packs",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Machinery Parts", amount=10 },
      { item="Technum Rods", amount=8 },
    },
    outputs={
      { item="Science Pack I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Science Pack II"] = {
    name="Science Pack II",
    sanitizedName="Science Pack II",
    iconItem="Science Pack II",
    category="Science",
    rowGroup="Science Packs",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Conveyor I", amount=6 },
      { item="Building Block", amount=12 },
    },
    outputs={
      { item="Science Pack II", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Science Pack III"] = {
    name="Science Pack III",
    sanitizedName="Science Pack III",
    iconItem="Science Pack III",
    category="Science",
    rowGroup="Science Packs",
    timeMs=60000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Machinery Parts", amount=5 },
      { item="Concrete", amount=12 },
      { item="Pipe", amount=4 },
    },
    outputs={
      { item="Science Pack III", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler I", timeMs=60000.0, rate=1.0 },
      { crafter="Assembler II", timeMs=40000.0, rate=1.5 },
      { crafter="Assembler III", timeMs=30000.0, rate=2.0 },
    }
  },
  ["Science Pack IV"] = {
    name="Science Pack IV",
    sanitizedName="Science Pack IV",
    iconItem="Science Pack IV",
    category="Science",
    rowGroup="Science Packs",
    timeMs=60000.0,
    relatedItemTemplate="",
    inputs={
      { item="Circuit Board", amount=12 },
      { item="Energy Cell", amount=12 },
      { item="Firmarlite Bar", amount=4 },
    },
    outputs={
      { item="Science Pack IV", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler I", timeMs=60000.0, rate=1.0 },
      { crafter="Assembler II", timeMs=40000.0, rate=1.5 },
      { crafter="Assembler III", timeMs=30000.0, rate=2.0 },
    }
  },
  ["Science Pack V"] = {
    name="Science Pack V",
    sanitizedName="Science Pack V",
    iconItem="Science Pack V",
    category="Science",
    rowGroup="Science Packs",
    timeMs=120000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=4 },
      { item="Hydraulic Piston", amount=12 },
      { item="CPU", amount=1 },
    },
    outputs={
      { item="Science Pack V", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=40000.0, rate=1.5 },
      { crafter="Assembler I", timeMs=120000.0, rate=0.5 },
      { crafter="Assembler II", timeMs=80000.0, rate=0.75 },
      { crafter="Assembler III", timeMs=60000.0, rate=1.0 },
    }
  },
  ["Sign"] = {
    name="Sign",
    sanitizedName="Sign",
    iconItem="Sign",
    category="Decor",
    rowGroup="General",
    timeMs=1500.0,
    relatedItemTemplate="Sign",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
    },
    outputs={
      { item="Sign", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Advanced Smelter"] = {
    name="Advanced Smelter",
    sanitizedName="Advanced Smelter",
    iconItem="Advanced Smelter",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Advanced Smelter",
    inputs={
      { item="Steel Beams", amount=15 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Advanced Smelter", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Smelter (Small)"] = {
    name="Smelter (Small)",
    sanitizedName="Smelter (Small)",
    iconItem="Smelter (Small)",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Smelter (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=4 },
    },
    outputs={
      { item="Smelter (Small)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Solar Panel (Small)"] = {
    name="Solar Panel (Small)",
    sanitizedName="Solar Panel (Small)",
    iconItem="Solar Panel (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=8000.0,
    relatedItemTemplate="Solar Panel (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Electronic Components", amount=10 },
      { item="Glass", amount=10 },
      { item="Energy Cell", amount=5 },
    },
    outputs={
      { item="Solar Panel (Small)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Solar Panel (Large)"] = {
    name="Solar Panel (Large)",
    sanitizedName="Solar Panel (Large)",
    iconItem="Solar Panel (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=10000.0,
    relatedItemTemplate="Solar Panel (Large)",
    inputs={
      { item="Xenoferrite Plates", amount=30 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=10 },
      { item="Energy Cell", amount=10 },
      { item="Glass", amount=10 },
    },
    outputs={
      { item="Solar Panel (Large)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Stairs"] = {
    name="Stairs",
    sanitizedName="Stairs",
    iconItem="Stairs",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Stairs",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Stairs", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Xenoferrite-Ignium Ore Blend"] = {
    name="Xenoferrite-Ignium Ore Blend",
    sanitizedName="Xenoferrite-Ignium Ore Blend",
    iconItem="Xenoferrite-Ignium Ore Blend",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=4 },
      { item="Ignium Ore Rubble", amount=2 },
    },
    outputs={
      { item="Xenoferrite-Ignium Ore Blend", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=3000.0, rate=20.0 },
      { crafter="Crusher II", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Steel Beams (T1)"] = {
    name="Steel Beams (T1)",
    sanitizedName="Steel Beams (T1)",
    iconItem="Steel Beams",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite-Ignium Ore Blend", amount=1 },
    },
    outputs={
      { item="Steel Beams", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
      { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Steel Beams (T2)"] = {
    name="Steel Beams (T2)",
    sanitizedName="Steel Beams (T2)",
    iconItem="Steel Beams",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Xenoferrite-Ignium Ore Blend", amount=1 },
    },
    outputs={
      { item="Steel Beams", amount=2, percentage=1.0 },
    },
    tags={ "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Tank"] = {
    name="Tank",
    sanitizedName="Tank",
    iconItem="Tank I",
    category="Structures",
    rowGroup="Storage",
    timeMs=5000.0,
    relatedItemTemplate="Tank I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Steel Beams", amount=20 },
      { item="Advanced Machinery Parts", amount=5 },
    },
    outputs={
      { item="Tank I", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Technum Rods (Tier 1)"] = {
    name="Technum Rods (Tier 1)",
    sanitizedName="Technum Rods (Tier 1)",
    iconItem="Technum Rods",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore Rubble", amount=1 },
    },
    outputs={
      { item="Technum Rods", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=2000.0, rate=30.0 },
      { crafter="Smelter (Small)", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Technum Rods"] = {
    name="Technum Rods",
    sanitizedName="Technum Rods",
    iconItem="Technum Rods",
    category="",
    rowGroup="",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore Rubble", amount=2 },
    },
    outputs={
      { item="Technum Rods", amount=1, percentage=1.0 },
    },
    tags={ "base_station" },
    rates={
    }
  },
  ["Technum Rods (Tier 2)"] = {
    name="Technum Rods (Tier 2)",
    sanitizedName="Technum Rods (Tier 2)",
    iconItem="Technum Rods",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore", amount=2 },
    },
    outputs={
      { item="Technum Rods", amount=3, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
      { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Technum Rods (Tier 3)"] = {
    name="Technum Rods (Tier 3)",
    sanitizedName="Technum Rods (Tier 3)",
    iconItem="Technum Rods",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Molten Technum", amount=15.0 },
    },
    outputs={
      { item="Technum Rods", amount=5, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Telluxite Ingot"] = {
    name="Telluxite Ingot",
    sanitizedName="Telluxite Ingot",
    iconItem="Telluxite Ingot",
    category="Metallurgy",
    rowGroup="Telluxite",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Ore", amount=4 },
    },
    outputs={
      { item="Telluxite Ingot", amount=1, percentage=1.0 },
    },
    tags={ "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Telluxite Wafer"] = {
    name="Telluxite Wafer",
    sanitizedName="Telluxite Wafer",
    iconItem="Telluxite Wafer",
    category="Components",
    rowGroup="General",
    timeMs=24000.0,
    relatedItemTemplate="",
    inputs={
      { item="Liquid Telluxite", amount=400.0 },
    },
    outputs={
      { item="Telluxite Wafer", amount=1, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=24000.0, rate=2.5 },
    }
  },
  ["Transformer (Small)"] = {
    name="Transformer (Small)",
    sanitizedName="Transformer (Small)",
    iconItem="Transformer (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Transformer (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Electronic Components", amount=10 },
      { item="Technum Rods", amount=15 },
    },
    outputs={
      { item="Transformer (Small)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Transformer (Large)"] = {
    name="Transformer (Large)",
    sanitizedName="Transformer (Large)",
    iconItem="Transformer (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=10000.0,
    relatedItemTemplate="Transformer (Large)",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Electronic Components", amount=10 },
      { item="Circuit Board", amount=10 },
    },
    outputs={
      { item="Transformer (Large)", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Transport Ship Port"] = {
    name="Transport Ship Port",
    sanitizedName="Transport Ship Port",
    iconItem="Transport Ship Port",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=12000.0,
    relatedItemTemplate="Transport Ship Port",
    inputs={
      { item="Steel Beams", amount=400 },
      { item="Advanced Machinery Parts", amount=200 },
      { item="Circuit Board", amount=100 },
      { item="Energy Cell", amount=40 },
      { item="Polymer Board", amount=200 },
    },
    outputs={
      { item="Transport Ship Port", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler I", timeMs=12000.0, rate=5.0 },
      { crafter="Assembler II", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler III", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Tropical Rainforest Seed (Plants)"] = {
    name="Tropical Rainforest Seed (Plants)",
    sanitizedName="Tropical Rainforest Seed (Plants)",
    iconItem="Tropical Rainforest Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Tropical Rainforest Seed (Plants)",
    inputs={
      { item="Tropical Rainforest Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Tropical Rainforest Seed (Plants)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Tropical Rainforest Seed (Trees)"] = {
    name="Tropical Rainforest Seed (Trees)",
    sanitizedName="Tropical Rainforest Seed (Trees)",
    iconItem="Tropical Rainforest Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Tropical Rainforest Seed (Trees)",
    inputs={
      { item="Tropical Rainforest Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Tropical Rainforest Seed (Trees)", amount=3, percentage=0.5 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Steam Turbine"] = {
    name="Steam Turbine",
    sanitizedName="Steam Turbine",
    iconItem="Steam Turbine",
    category="Structures",
    rowGroup="Energy",
    timeMs=8000.0,
    relatedItemTemplate="Steam Turbine",
    inputs={
      { item="Pipe", amount=10 },
      { item="Machinery Parts", amount=40 },
      { item="Steel Beams", amount=25 },
      { item="Electronic Components", amount=25 },
    },
    outputs={
      { item="Steam Turbine", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Walkway"] = {
    name="Walkway",
    sanitizedName="Walkway",
    iconItem="Walkway",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Walkway",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
    },
    outputs={
      { item="Walkway", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Wire Coil"] = {
    name="Wire Coil",
    sanitizedName="Wire Coil",
    iconItem="Wire Coil",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Rods", amount=1 },
    },
    outputs={
      { item="Wire Coil", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Xenoferrite Plates (Tier 1)"] = {
    name="Xenoferrite Plates (Tier 1)",
    sanitizedName="Xenoferrite Plates (Tier 1)",
    iconItem="Xenoferrite Plates",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=2000.0, rate=30.0 },
      { crafter="Smelter (Small)", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Xenoferrite Plates"] = {
    name="Xenoferrite Plates",
    sanitizedName="Xenoferrite Plates",
    iconItem="Xenoferrite Plates",
    category="",
    rowGroup="",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "base_station" },
    rates={
    }
  },
  ["Xenoferrite Plates (Tier 2)"] = {
    name="Xenoferrite Plates (Tier 2)",
    sanitizedName="Xenoferrite Plates (Tier 2)",
    iconItem="Xenoferrite Plates",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=3, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
      { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Xenoferrite Plates (Tier 3)"] = {
    name="Xenoferrite Plates (Tier 3)",
    sanitizedName="Xenoferrite Plates (Tier 3)",
    iconItem="Xenoferrite Plates",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Molten Xenoferrite", amount=15.0 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=5, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Molten Technum"] = {
    name="Molten Technum",
    sanitizedName="Molten Technum",
    iconItem="Molten Technum",
    category="",
    rowGroup="",
    timeMs=30000,
    relatedItemTemplate="Molten Technum",
    inputs={
      { item="Technum Ore", amount=640 },
      { item="Coked Ignium", amount=320 },
      { item="Mineral Rocks", amount=128 },
    },
    outputs={
      { item="Molten Technum", amount=5760.0, percentage=1.0 },
      { item="Blast Furnace Slag", amount=640.0, percentage=1.0 },
    },
    tags={ "blast_furnace" },
    rates={
      { crafter="Blast Furnace Base", timeMs=30000, rate=2.0 },
    }
  },
  ["Molten Xenoferrite"] = {
    name="Molten Xenoferrite",
    sanitizedName="Molten Xenoferrite",
    iconItem="Molten Xenoferrite",
    category="",
    rowGroup="",
    timeMs=30000,
    relatedItemTemplate="Molten Xenoferrite",
    inputs={
      { item="Xenoferrite Ore", amount=640 },
      { item="Coked Ignium", amount=320 },
      { item="Mineral Rocks", amount=128 },
    },
    outputs={
      { item="Molten Xenoferrite", amount=5760.0, percentage=1.0 },
      { item="Blast Furnace Slag", amount=640.0, percentage=1.0 },
    },
    tags={ "blast_furnace" },
    rates={
      { crafter="Blast Furnace Base", timeMs=30000, rate=2.0 },
    }
  },
}

local funcs = {}

local strf = function(value)
  return string.format(" %.2f", value):gsub("%.?0+$", "")
end

funcs.recipe = function(frame)
  local directArgs = frame.args
  local parentArgs = frame:getParent().args
  
  local args = {}
  for _, argType in ipairs{ directArgs, parentArgs } do
    for key, val in pairs( argType ) do
      args[key] = val
    end
  end
  
  local recipeName = args[1] or ""
  if recipes[recipeName] == nil then
    return recipeName
  end
  
  local recipe = recipes[recipeName]
  local caption = args.caption
  if not caption then
    if recipe.name == recipe.sanitizedName then
      caption = frame:expandTemplate{ title = 'RecipeCaption', args = {recipe.sanitizedName}}
    else
      caption = frame:expandTemplate{ title = 'RecipeCaption', args = {recipe.sanitizedName,recipe.name}}
    end
  end
  
  local result = '{| class="wikitable" style="margin-left:5px;"\n'
  result = result..'|+ '..caption..'\n'
  result = result..'!rowspan="'..#recipe.inputs..'"|Inputs\n'
  for i,input in ipairs(recipe.inputs) do
    result = result..'| '..frame:expandTemplate{ title = 'ItemLink', args = {input.item}}..'\n'
    result = result..'| '..strf(input.amount)..'\n'
    result = result..'|-\n'
  end
  result = result..'!rowspan="'..#recipe.outputs..'"|Outputs\n'
  for i,output in ipairs(recipe.outputs) do
    result = result..'| '..frame:expandTemplate{ title = 'ItemLink', args = {output.item}}..'\n'
    if output.percentage ~= 1 then
      result = result..'| '..strf(output.amount)..'('..strf(output.percentage)..'%)\n'
    else
      result = result..'| '..strf(output.amount)..'\n'
    end
    result = result..'|-\n'
  end
  result = result..'!rowspan="'..#recipe.rates..'"|Made By\n'
  for i,rate in ipairs(recipe.rates) do
    if rate.crafter == 'character' then
      result = result..'| Character\n'
    else
      result = result..'| '..frame:expandTemplate{ title = 'ItemLink', args = {rate.crafter}}..'\n'
    end
    result = result..'| '..strf(rate.timeMs/1000)..'\n'
    result = result..'|-\n'
  end
  result = result..'|}'
  return result
end

funcs.recipeAmounts = function(frame)
  local directArgs = frame.args
  local parentArgs = frame:getParent().args
  
  local args = {}
  for _, argType in ipairs{ directArgs, parentArgs } do
    for key, val in pairs( argType ) do
      args[key] = val
    end
  end
  
  local recipeName = args[1] or ""
  if recipes[recipeName] == nil then
    return recipeName
  end
  
  local caption = args.caption or "Recipe"
  
  local recipe = recipes[recipeName]
  local result = '{| class="wikitable" style="margin-left:5px;"\n'
  result = result..'|+ '..caption..'\n'
  result = result..'!rowspan="'..#recipe.inputs..'"|Inputs\n'
  for i,input in ipairs(recipe.inputs) do
    result = result..'| '..frame:expandTemplate{ title = 'ItemLink', args = {input.item}}..'\n'
    result = result..'| '..strf(input.amount)..'\n'
    result = result..'|-\n'
  end
  result = result..'!rowspan="'..#recipe.outputs..'"|Outputs\n'
  for i,output in ipairs(recipe.outputs) do
    result = result..'| '..frame:expandTemplate{ title = 'ItemLink', args = {output.item}}..'\n'
    if output.percentage ~= 1 then
      result = result..'| '..strf(output.amount)..'('..strf(output.percentage)..'%)\n'
    else
      result = result..'| '..strf(output.amount)..'\n'
    end
    result = result..'|-\n'
  end
  result = result..'|}'
  return result
end

funcs.recipeRates = function(frame)
  local directArgs = frame.args
  local parentArgs = frame:getParent().args
  
  local args = {}
  for _, argType in ipairs{ directArgs, parentArgs } do
    for key, val in pairs( argType ) do
      args[key] = val
    end
  end
  
  local recipeName = args[1] or ""
  if recipes[recipeName] == nil then
    return recipeName
  end
  
  local caption = args.caption or "Rates"
  
  local recipe = recipes[recipeName]
  local result = '{| class="wikitable" style="margin-left:5px;"\n'
  result = result..'|+ '..caption..'\n'
  result = result..'! Crafters\n'
  for i,rate in ipairs(recipe.rates) do
    if rate.crafter == "character" then
      result = result..'! Character\n'
    else
      result = result..'! '..frame:expandTemplate{ title = 'ItemLink', args = {rate.crafter}}..'\n'
    end
  end
  result = result..[[
|-
! style="text-align:left" scope=row| Time per craft
]]
  for i,rate in ipairs(recipe.rates) do
    result = result..'| style="text-align:center"| '..strf(rate.timeMs/1000)..' s\n'
  end
  result = result..'|-\n'
  result = result..'! colspan="'..(#recipe.rates+1)..'"| Input Rates\n'
  for i,input in ipairs(recipe.inputs) do
    result = result..'|-\n'
    result = result..'! style="text-align:left" scope=row| '..frame:expandTemplate{ title = 'ItemLink', args = {input.item}}..'\n'
    for j,rate in ipairs(recipe.rates) do
      result = result..'| style="text-align:center"| '..strf(input.amount*rate.rate)..'/m\n'
    end
  end
  result = result..'|-\n'
  result = result..'! colspan="'..(#recipe.rates+1)..'"| Output Rates\n'
  for i,output in ipairs(recipe.outputs) do
    result = result..'|-\n'
    result = result..'! style="text-align:left" scope=row| '..frame:expandTemplate{ title = 'ItemLink', args = {output.item}}..'\n'
    for j,rate in ipairs(recipe.rates) do
      result = result..'| style="text-align:center"| '..strf(output.amount*rate.rate)..'/m\n'
    end
  end
  result = result..'|}'
  return result
end

return funcs