diff --git a/CarManager3Setup/CarManager3Setup.vdproj b/CarManager3Setup/CarManager3Setup.vdproj index 68f3478..bd52912 100644 --- a/CarManager3Setup/CarManager3Setup.vdproj +++ b/CarManager3Setup/CarManager3Setup.vdproj @@ -21,6 +21,12 @@ } "Entry" { + "MsmKey" = "8:_058C8316BA034FF38880D3C8838A3F74" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_39292C9AEE694F0B982DDECDC0233E12" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -160,6 +166,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_058C8316BA034FF38880D3C8838A3F74" + { + "SourcePath" = "8:E:\\Development\\Scripts\\CM3Merge\\merged-cars.json" + "TargetName" = "8:car_data,json" + "Tag" = "8:" + "Folder" = "8:_91D306E0AE6B4CA09DB4A07129FBDD93" + "Condition" = "8:" + "Transitive" = "11:TRUE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_39292C9AEE694F0B982DDECDC0233E12" { "SourcePath" = "8:D:\\Assets\\Car Manager\\Icon\\CarMgm_Icon.ico" diff --git a/CarManagerV3/App.config b/CarManagerV3/App.config index 4a09ba7..ea8e76b 100644 --- a/CarManagerV3/App.config +++ b/CarManagerV3/App.config @@ -16,6 +16,12 @@ False + + 2026-01-01 + + + 24.00:00:00 + \ No newline at end of file diff --git a/CarManagerV3/Classes/CarManufacturer.cs b/CarManagerV3/Classes/CarManufacturer.cs new file mode 100644 index 0000000..a4f01d4 --- /dev/null +++ b/CarManagerV3/Classes/CarManufacturer.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarManagerV3.Classes +{ + internal class CarManufacturer + { + public string Name { get; set; } + public List Models { get; set; } + + public CarManufacturer(string name) + { + Name = name; + Models = new List(); + } + + public void AddModel(string model) + { + Models.Add(model); + } + + public override string ToString() + { + return $"{Name} - Models: {string.Join(", ", Models)}"; + } + + public List GetModels() + { + return Models; + } + + public void RemoveModel(string model) + { + Models.Remove(model); + } + + public void ClearModels() + { + Models.Clear(); + } + + public string GetModelByQuery(string query) + { + return Models.FirstOrDefault(m => m.Equals(query, StringComparison.OrdinalIgnoreCase)); + } + } +} diff --git a/CarManagerV3/Forms/CarDetailsForm.cs b/CarManagerV3/Forms/CarDetailsForm.cs index 43215c6..5db4d54 100644 --- a/CarManagerV3/Forms/CarDetailsForm.cs +++ b/CarManagerV3/Forms/CarDetailsForm.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using System.Windows.Forms; +using CarManagerV3.Util; namespace CarManagerV3 { @@ -29,6 +30,39 @@ namespace CarManagerV3 { lblID.Text = $"ID: {car.Id}"; } + SetAutoCompleteForMake(); + SetAutoCompleteForModel(); + SetAutoCompleteForColor(); + } + + private void SetAutoCompleteForMake() + { + var makes = CarCompletions.GetCarBrands(); + var makeAutoComplete = new AutoCompleteStringCollection(); + makeAutoComplete.AddRange(makes.ToArray()); + tbxMake.AutoCompleteMode = AutoCompleteMode.SuggestAppend; + tbxMake.AutoCompleteSource = AutoCompleteSource.CustomSource; + tbxMake.AutoCompleteCustomSource = makeAutoComplete; + } + + private void SetAutoCompleteForModel() + { + var models = CarCompletions.GetCarModels(tbxMake.Text); + var modelAutoComplete = new AutoCompleteStringCollection(); + modelAutoComplete.AddRange(models.ToArray()); + tbxModel.AutoCompleteMode = AutoCompleteMode.SuggestAppend; + tbxModel.AutoCompleteSource = AutoCompleteSource.CustomSource; + tbxModel.AutoCompleteCustomSource = modelAutoComplete; + } + + private void SetAutoCompleteForColor() + { + var colors = CarCompletions.CommonColors; + var colorAutoComplete = new AutoCompleteStringCollection(); + colorAutoComplete.AddRange(colors.ToArray()); + tbxColor.AutoCompleteMode = AutoCompleteMode.SuggestAppend; + tbxColor.AutoCompleteSource = AutoCompleteSource.CustomSource; + tbxColor.AutoCompleteCustomSource = colorAutoComplete; } /// @@ -69,6 +103,7 @@ namespace CarManagerV3 () => car.Make = ValueOrFormer(tbxMake.Text, car.Make), () => tbxMake.Text = car.Make ); + SetAutoCompleteForModel(); } private void tbxModel_TextChanged(object sender, EventArgs e) @@ -163,7 +198,8 @@ namespace CarManagerV3 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { - if (keyData == Keys.Enter) + // Ctrl+S to save, Esc to close, Delete to delete + if (keyData == (Keys.Control | Keys.S)) { btnSave.PerformClick(); return true; // Indicate that the key has been handled diff --git a/CarManagerV3/Forms/MainForm.cs b/CarManagerV3/Forms/MainForm.cs index 265f105..19389ab 100644 --- a/CarManagerV3/Forms/MainForm.cs +++ b/CarManagerV3/Forms/MainForm.cs @@ -86,6 +86,8 @@ namespace CarManagerV3 Console.Error.WriteLine("Error checking for updates: " + ex.Message); } + CarCompletions.UpdateCarCompletionDataAsync(); + } diff --git a/CarManagerV3/Forms/SettingsForm.Designer.cs b/CarManagerV3/Forms/SettingsForm.Designer.cs index 39c8b3b..b8fb01c 100644 --- a/CarManagerV3/Forms/SettingsForm.Designer.cs +++ b/CarManagerV3/Forms/SettingsForm.Designer.cs @@ -36,9 +36,15 @@ btnAccept = new System.Windows.Forms.Button(); btnDiscard = new System.Windows.Forms.Button(); tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + lblCompletionsRefreshWindow = new System.Windows.Forms.Label(); lblDataLocation = new System.Windows.Forms.Label(); tbxDataLocation = new System.Windows.Forms.TextBox(); cbxPreRelease = new System.Windows.Forms.CheckBox(); + flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel(); + nudCompletionIntervalHours = new System.Windows.Forms.NumericUpDown(); + label3 = new System.Windows.Forms.Label(); + nudCompletionIntervalMinutes = new System.Windows.Forms.NumericUpDown(); + label4 = new System.Windows.Forms.Label(); tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); btnReset = new System.Windows.Forms.Button(); flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel(); @@ -46,6 +52,9 @@ flowLayoutPanel1.SuspendLayout(); flowLayoutPanel2.SuspendLayout(); tableLayoutPanel1.SuspendLayout(); + flowLayoutPanel4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)nudCompletionIntervalHours).BeginInit(); + ((System.ComponentModel.ISupportInitialize)nudCompletionIntervalMinutes).BeginInit(); tableLayoutPanel2.SuspendLayout(); flowLayoutPanel3.SuspendLayout(); SuspendLayout(); @@ -121,27 +130,46 @@ tableLayoutPanel1.ColumnCount = 2; tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + tableLayoutPanel1.Controls.Add(lblCompletionsRefreshWindow, 0, 2); tableLayoutPanel1.Controls.Add(lblDataLocation, 0, 0); tableLayoutPanel1.Controls.Add(tbxDataLocation, 1, 0); - tableLayoutPanel1.Controls.Add(cbxPreRelease, 1, 1); + tableLayoutPanel1.Controls.Add(cbxPreRelease, 0, 1); + tableLayoutPanel1.Controls.Add(flowLayoutPanel4, 1, 2); tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; tableLayoutPanel1.Location = new System.Drawing.Point(0, 86); tableLayoutPanel1.Name = "tableLayoutPanel1"; tableLayoutPanel1.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0); - tableLayoutPanel1.RowCount = 3; - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + tableLayoutPanel1.RowCount = 7; tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 0F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); tableLayoutPanel1.Size = new System.Drawing.Size(499, 531); tableLayoutPanel1.TabIndex = 3; // + // lblCompletionsRefreshWindow + // + lblCompletionsRefreshWindow.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + lblCompletionsRefreshWindow.AutoSize = true; + lblCompletionsRefreshWindow.Location = new System.Drawing.Point(13, 66); + lblCompletionsRefreshWindow.Margin = new System.Windows.Forms.Padding(3); + lblCompletionsRefreshWindow.MaximumSize = new System.Drawing.Size(150, 0); + lblCompletionsRefreshWindow.Name = "lblCompletionsRefreshWindow"; + lblCompletionsRefreshWindow.Size = new System.Drawing.Size(148, 1); + lblCompletionsRefreshWindow.TabIndex = 4; + lblCompletionsRefreshWindow.Text = "Refresh completions after"; + lblCompletionsRefreshWindow.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // lblDataLocation // lblDataLocation.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; lblDataLocation.AutoSize = true; lblDataLocation.Location = new System.Drawing.Point(13, 6); lblDataLocation.Name = "lblDataLocation"; - lblDataLocation.Size = new System.Drawing.Size(102, 20); + lblDataLocation.Size = new System.Drawing.Size(148, 20); lblDataLocation.TabIndex = 0; lblDataLocation.Text = "Data Location"; lblDataLocation.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -149,9 +177,9 @@ // tbxDataLocation // tbxDataLocation.Dock = System.Windows.Forms.DockStyle.Fill; - tbxDataLocation.Location = new System.Drawing.Point(121, 3); + tbxDataLocation.Location = new System.Drawing.Point(167, 3); tbxDataLocation.Name = "tbxDataLocation"; - tbxDataLocation.Size = new System.Drawing.Size(365, 27); + tbxDataLocation.Size = new System.Drawing.Size(319, 27); tbxDataLocation.TabIndex = 1; // // cbxPreRelease @@ -166,6 +194,61 @@ cbxPreRelease.Text = "Pre-Release channel"; cbxPreRelease.UseVisualStyleBackColor = true; // + // flowLayoutPanel4 + // + flowLayoutPanel4.AutoSize = true; + flowLayoutPanel4.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + flowLayoutPanel4.Controls.Add(nudCompletionIntervalHours); + flowLayoutPanel4.Controls.Add(label3); + flowLayoutPanel4.Controls.Add(nudCompletionIntervalMinutes); + flowLayoutPanel4.Controls.Add(label4); + flowLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + flowLayoutPanel4.Location = new System.Drawing.Point(164, 66); + flowLayoutPanel4.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + flowLayoutPanel4.Name = "flowLayoutPanel4"; + flowLayoutPanel4.Size = new System.Drawing.Size(325, 1); + flowLayoutPanel4.TabIndex = 5; + // + // nudCompletionIntervalHours + // + nudCompletionIntervalHours.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + nudCompletionIntervalHours.Location = new System.Drawing.Point(3, 3); + nudCompletionIntervalHours.Name = "nudCompletionIntervalHours"; + nudCompletionIntervalHours.Size = new System.Drawing.Size(44, 27); + nudCompletionIntervalHours.TabIndex = 0; + nudCompletionIntervalHours.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left; + // + // label3 + // + label3.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom; + label3.AutoSize = true; + label3.Location = new System.Drawing.Point(53, 0); + label3.Name = "label3"; + label3.Size = new System.Drawing.Size(24, 33); + label3.TabIndex = 1; + label3.Text = "h :"; + label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // nudCompletionIntervalMinutes + // + nudCompletionIntervalMinutes.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + nudCompletionIntervalMinutes.Location = new System.Drawing.Point(83, 3); + nudCompletionIntervalMinutes.Name = "nudCompletionIntervalMinutes"; + nudCompletionIntervalMinutes.Size = new System.Drawing.Size(44, 27); + nudCompletionIntervalMinutes.TabIndex = 2; + nudCompletionIntervalMinutes.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left; + // + // label4 + // + label4.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom; + label4.AutoSize = true; + label4.Location = new System.Drawing.Point(133, 0); + label4.Name = "label4"; + label4.Size = new System.Drawing.Size(22, 33); + label4.TabIndex = 3; + label4.Text = "m"; + label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // tableLayoutPanel2 // tableLayoutPanel2.AutoSize = true; @@ -240,6 +323,10 @@ flowLayoutPanel2.ResumeLayout(false); tableLayoutPanel1.ResumeLayout(false); tableLayoutPanel1.PerformLayout(); + flowLayoutPanel4.ResumeLayout(false); + flowLayoutPanel4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)nudCompletionIntervalHours).EndInit(); + ((System.ComponentModel.ISupportInitialize)nudCompletionIntervalMinutes).EndInit(); tableLayoutPanel2.ResumeLayout(false); tableLayoutPanel2.PerformLayout(); flowLayoutPanel3.ResumeLayout(false); @@ -264,5 +351,11 @@ private System.Windows.Forms.CheckBox cbxPreRelease; private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3; private System.Windows.Forms.Label lblEnv; + private System.Windows.Forms.Label lblCompletionsRefreshWindow; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4; + private System.Windows.Forms.NumericUpDown nudCompletionIntervalHours; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.NumericUpDown nudCompletionIntervalMinutes; + private System.Windows.Forms.Label label4; } } \ No newline at end of file diff --git a/CarManagerV3/Forms/SettingsForm.cs b/CarManagerV3/Forms/SettingsForm.cs index 67634bf..cb60eee 100644 --- a/CarManagerV3/Forms/SettingsForm.cs +++ b/CarManagerV3/Forms/SettingsForm.cs @@ -43,6 +43,9 @@ namespace CarManagerV3.Forms read: () => Properties.Settings.Default.AllowPrerelease, write: v => Properties.Settings.Default.AllowPrerelease = v); + //TODO: implement refresh settings + + lblEnv.Text = lblEnv.Text.Replace("%E%", InstallModeDetector.IsInstalledViaMsi() ? "Installed via MSI" : "Running in portable mode"); } @@ -60,10 +63,33 @@ namespace CarManagerV3.Forms private void saveSettings() { + bool requiresRestart = false; foreach (var kvp in settingsMap) + { kvp.Value.Save(); + if (kvp.Value.RequiresRestart()) + requiresRestart = true; + } + Properties.Settings.Default.Save(); + if(requiresRestart) + { + DialogResult result = MessageBox.Show( + "Some changes you made require a restart to take effect. Do you want to restart now?", + "Restart Required", + MessageBoxButtons.YesNo, + MessageBoxIcon.Information); + if (result == DialogResult.Yes) + { + Application.Restart(); + } else + { + MessageBox.Show("Please restart the application as soon as possible to ensure all changes take effect.", "Restart Recommended", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + } private void resetSettings() @@ -106,6 +132,7 @@ namespace CarManagerV3.Forms void Load(); void Save(); void Reset(); + bool RequiresRestart(); } internal sealed class SettingBinding : ISettingBinding @@ -115,14 +142,18 @@ namespace CarManagerV3.Forms private readonly Func read; private readonly Action write; private readonly Action? onChange; + private readonly bool requiresRestart; + private bool changeRequiresRestart; - public SettingBinding(Control control, T defaultValue, Func read, Action write, Action? onChange = null) + public SettingBinding(Control control, T defaultValue, Func read, Action write, bool requiresRestart = false, Action? onChange = null) { this.control = control; this.defaultValue = defaultValue; this.read = read; this.write = write; this.onChange = onChange; + this.requiresRestart = requiresRestart; + this.changeRequiresRestart = false; } public void Load() @@ -140,10 +171,15 @@ namespace CarManagerV3.Forms if (onChange != null && !EqualityComparer.Default.Equals(before, after)) onChange(before, after); + + if (requiresRestart && !EqualityComparer.Default.Equals(before, after)) + changeRequiresRestart = true; } public void Reset() => write(defaultValue); + public bool RequiresRestart() => changeRequiresRestart; + private void ApplyToControl(T value) { switch (control) diff --git a/CarManagerV3/Manager/SafeManager.cs b/CarManagerV3/Manager/SafeManager.cs index 70d657e..265bfba 100644 --- a/CarManagerV3/Manager/SafeManager.cs +++ b/CarManagerV3/Manager/SafeManager.cs @@ -64,6 +64,26 @@ namespace CarManagerV3 } } + /// + /// Ensures the directory exists. + /// + /// The path. + public static void EnsureDirectoryExists(string path) + { + try + { + string directory = Path.GetDirectoryName(path); + if (directory != null && !Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error ensuring directory exists: {ex.Message}"); + } + } + /// /// Reads cars from a specified file path. /// diff --git a/CarManagerV3/Properties/Resources.resx b/CarManagerV3/Properties/Resources.resx index bf438d0..5158439 100644 --- a/CarManagerV3/Properties/Resources.resx +++ b/CarManagerV3/Properties/Resources.resx @@ -118,6 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\merged-cars.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\Icon_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/CarManagerV3/Properties/Settings.Designer.cs b/CarManagerV3/Properties/Settings.Designer.cs index 9975d8f..d9cd02e 100644 --- a/CarManagerV3/Properties/Settings.Designer.cs +++ b/CarManagerV3/Properties/Settings.Designer.cs @@ -46,5 +46,29 @@ namespace CarManagerV3.Properties { this["AllowPrerelease"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("2026-01-01")] + public global::System.DateTime LastFetchedAutoCompletions { + get { + return ((global::System.DateTime)(this["LastFetchedAutoCompletions"])); + } + set { + this["LastFetchedAutoCompletions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("24.00:00:00")] + public global::System.TimeSpan FetchAutoCompletionsInterval { + get { + return ((global::System.TimeSpan)(this["FetchAutoCompletionsInterval"])); + } + set { + this["FetchAutoCompletionsInterval"] = value; + } + } } } diff --git a/CarManagerV3/Properties/Settings.settings b/CarManagerV3/Properties/Settings.settings index cc257af..59afee1 100644 --- a/CarManagerV3/Properties/Settings.settings +++ b/CarManagerV3/Properties/Settings.settings @@ -8,5 +8,11 @@ False + + 2026-01-01 + + + 24.00:00:00 + \ No newline at end of file diff --git a/CarManagerV3/Resources/merged-cars.json b/CarManagerV3/Resources/merged-cars.json new file mode 100644 index 0000000..ba65a95 --- /dev/null +++ b/CarManagerV3/Resources/merged-cars.json @@ -0,0 +1,6573 @@ +{ + "AM General": [ + "DJ Po Vehicle 2WD", + "FJ8c Post Office", + "Post Office DJ5 2WD", + "Post Office DJ8 2WD" + ], + "ASC Incorporated": [ + "GNX" + ], + "Acura": [ + "2.2CL", + "2.2CL/3.0CL", + "2.3CL", + "2.3CL/3.0CL", + "2.5TL", + "2.5TL/3.2TL", + "3.0CL", + "3.2CL", + "3.2TL", + "3.5 RL", + "3.5RL", + "ILX", + "ILX Hybrid", + "Integra", + "Integra A-Spec", + "Legend", + "MDX", + "MDX 2WD", + "MDX 4WD", + "MDX AWD", + "MDX AWD A-SPEC", + "MDX AWD Type-S", + "MDX FWD", + "MDX Hybrid AWD", + "NSX", + "NSX Hybrid", + "RDX", + "RDX 2WD", + "RDX 4WD", + "RDX AWD", + "RDX AWD A-SPEC", + "RDX FWD", + "RDX FWD A-SPEC", + "RL", + "RLX", + "RLX Hybrid", + "RSX", + "SLX", + "TL", + "TL 2WD", + "TL 4WD", + "TLX", + "TLX 2WD", + "TLX 4WD", + "TLX AWD", + "TLX AWD A-SPEC", + "TLX FWD", + "TLX FWD A-SPEC", + "TLX Type-S", + "TLX Type-S Perf Tire", + "TSX", + "TSX Wagon", + "Vigor", + "ZDX", + "ZDX 4WD", + "ZDX AWD", + "ZDX RWD" + ], + "Alfa Romeo": [ + "145", + "146", + "147", + "155", + "156", + "156 Sportwagon", + "159", + "159 Sportwagon", + "164", + "166", + "4C", + "8 C Spider", + "8C Competizione", + "Brera", + "Crosswagon", + "GT", + "GT V6 2.5", + "GTV", + "GTV-6", + "Giulia", + "Giulia AWD", + "Giulietta", + "MiTo", + "Milano", + "Spider", + "Spider Veloce 2000", + "Stelvio", + "Stelvio AWD", + "Tonale eAWD" + ], + "American Motors Corporation": [ + "Eagle", + "Eagle 4DR Wagon", + "Eagle 4WD", + "Eagle SX/4 4WD" + ], + "Aston Martin": [ + "DB AR1", + "DB-7 GT Coupe", + "DB-7 GT Volante", + "DB-7 Vantage Coupe", + "DB-7 Vantage Volante", + "DB11 V12", + "DB11 V8", + "DB12 V8", + "DB7", + "DB7 Coupe", + "DB7 Volante", + "DB9", + "DB9 Coupe", + "DB9 Coupe Manual", + "DB9 Volante", + "DB9 Volante Manual", + "DBS", + "DBS Coupe", + "DBX 707", + "DBX V8", + "Lagonda", + "Rapide", + "Rapide S", + "Saloon/Vantage/Volante", + "Saloon/vantage/volante", + "V12 Vanquish", + "V12 Vanquish S", + "V12 Vantage", + "V12 Vantage S", + "V8 Vantage", + "V8 Vantage ASM", + "V8 Vantage S", + "Valour", + "Vanquish", + "Vanquish S", + "Vanquish S Zagato", + "Vantage", + "Vantage GT", + "Vantage Manual", + "Vantage V12", + "Vantage V8", + "Virage", + "Virage Saloon", + "Virage/Volante" + ], + "Audi": [ + "100", + "100 Avant", + "100 Wagon", + "100 quattro", + "100 quattro Wagon", + "200", + "200 quattro", + "200 quattro 20v", + "200 quattro 20v Wagon", + "200 quattro Wagon", + "4000", + "4000 CS quattro", + "4000 S", + "4000 S quattro", + "4000s", + "4000s quattro", + "5000", + "5000 CS Turbo", + "5000 CS quattro", + "5000 CS quattro Wagon", + "5000 S", + "5000 S quattro", + "5000S", + "5000S Wagon", + "80", + "80 Avant", + "80 Cabrio", + "80 quattro", + "80/90", + "80/90 quattro", + "90", + "90 quattro", + "90 quattro 20v", + "A1", + "A2", + "A3", + "A3 Cabriolet", + "A3 Cabriolet quattro", + "A3 Limuzina", + "A3 Sportback", + "A3 e-tron", + "A3 e-tron ultra", + "A3 quattro", + "A4", + "A4 Allroad", + "A4 Avant", + "A4 Avant quattro", + "A4 Cabriolet", + "A4 Cabriolet quattro", + "A4 S line quattro", + "A4 S-Line quattro", + "A4 Ultra", + "A4 allroad quattro", + "A4 quattro", + "A5", + "A5 Cabriolet", + "A5 Cabriolet quattro", + "A5 Coupe quattro", + "A5 Sportback", + "A5 Sportback S line quattro", + "A5 Sportback S-Line quattro", + "A5 Sportback quattro", + "A5 quattro", + "A6", + "A6 Allroad", + "A6 Allroad quattro", + "A6 Avant", + "A6 Avant quattro", + "A6 Wagon", + "A6 Wagon quattro", + "A6 quattro", + "A6 quattro Wagon", + "A7", + "A7 TFSI e quattro", + "A7 quattro", + "A8", + "A8 L", + "A8 L quattro", + "A8 Long", + "A8 quattro", + "Allroad", + "Allroad quattro", + "Cabriolet", + "Coupe", + "Coupe GT", + "Coupe quattro", + "Q3", + "Q3 S line quattro", + "Q3 S-Line", + "Q3 S-line quattro", + "Q3 quattro", + "Q4 40 e-tron", + "Q4 50 e-tron quattro", + "Q4 55 e-tron quattro", + "Q4 Sportback 50 e-tron quattro", + "Q4 Sportback 55 e-tron quattro", + "Q4 e-tron", + "Q4 e-tron Sportback", + "Q4 e-tron Sportback quattro", + "Q4 e-tron quattro", + "Q5", + "Q5 Hybrid", + "Q5 S line quattro", + "Q5 S-Line quattro", + "Q5 Sportback", + "Q5 Sportback S line quattro", + "Q5 Sportback S-line quattro", + "Q5 TFSI e quattro", + "Q5 quattro", + "Q7", + "Q7 quattro", + "Q8", + "Q8 Sportback e-tron quattro", + "Q8 Sportback e-tron ultra quattro", + "Q8 e-tron quattro", + "Q8 quattro", + "Quattro", + "R8", + "R8 2WD", + "R8 AWD", + "R8 Coupe", + "R8 Coupe RWD", + "R8 Coupe quattro", + "R8 GT RWD", + "R8 RWD", + "R8 Spyder", + "R8 Spyder 2WD", + "R8 Spyder AWD", + "R8 Spyder RWD", + "R8 Spyder quattro", + "RS 3", + "RS 4", + "RS 5", + "RS 5 Cabriolet", + "RS 5 Coupe", + "RS 5 Sportback", + "RS 6", + "RS 6 Avant", + "RS 7", + "RS Q8", + "RS e-tron GT", + "RS3", + "RS4", + "RS4 Cabriolet", + "RS4/RS4 Avant", + "RS5", + "RS6", + "RS6 Avant", + "RS7", + "S3", + "S3/S3 Sportback", + "S4", + "S4 Avant", + "S4 Cabriolet", + "S4/S4 Avant", + "S5", + "S5 Cabriolet", + "S5 Coupe", + "S5 Sportback", + "S5/S5 Cabriolet", + "S6", + "S6 Avant", + "S6 Wagon", + "S6/RS6", + "S7", + "S8", + "S8 quattro", + "SQ5", + "SQ5 Sportback", + "SQ7", + "SQ8", + "SQ8 Sportback e-tron (20 inch wheels)", + "SQ8 Sportback e-tron (21/22 inch wheels)", + "SQ8 e-tron (20 inch wheels)", + "SQ8 e-tron (21/22 inch wheels)", + "TT", + "TT Coupe", + "TT Coupe quattro", + "TT Coupé", + "TT RS", + "TT RS Coupe", + "TT Roadster", + "TT Roadster quattro", + "TTS", + "TTS Coupe", + "TTS Coupe quattro", + "V8", + "V8 Quattro", + "allroad", + "allroad quattro", + "e-tron", + "e-tron GT", + "e-tron S (20 inch wheels)", + "e-tron S (20in wheels)", + "e-tron S (21/22 inch wheels)", + "e-tron S Sportback (20 inch wheels)", + "e-tron S Sportback (21/22 inch wheels)", + "e-tron Sportback", + "e-tron Sportback quattro", + "e-tron quattro" + ], + "Aurora Cars Ltd": [ + "Aurora" + ], + "Autokraft Limited": [ + "A.C.MARK IV", + "A.C.Mkiv" + ], + "Avanti Motor Corporation": [ + "Avanti II" + ], + "Azure Dynamics": [ + "Transit Connect Electric Van/Wagon" + ], + "BMW": [ + "1 Series M", + "128ci Convertible", + "128i", + "128i Convertible", + "135i", + "135i Convertible", + "135is", + "228i", + "228i Convertible", + "228i Gran Coupe", + "228i xDrive", + "228i xDrive Convertible", + "228i xDrive Gran Coupe", + "230i Convertible", + "230i Coupe", + "230i xDrive Convertible", + "230i xDrive Coupe", + "3 Series", + "318i", + "318i Convertible", + "318i/318iS", + "318i/318is", + "318iC", + "318iS", + "318is", + "318is Convertible", + "318ti", + "320i", + "320i xDrive", + "323ci", + "323i", + "323i Convertible", + "323i Touring", + "323iT", + "323is", + "325", + "325Ci", + "325ci", + "325ci Convertible", + "325e", + "325es", + "325i", + "325i Convertible", + "325i Sport Wagon", + "325i/325iS", + "325i/325is", + "325iX", + "325ic", + "325is", + "325ix", + "325xi", + "325xi Sport Wagon", + "328Ci", + "328ci", + "328ci Convertible", + "328ci xDrive", + "328cxi", + "328d", + "328d xDrive", + "328d xDrive Sports Wagon", + "328i", + "328i Convertible", + "328i Coupe", + "328i Coupe xDrive", + "328i Sport Wagon", + "328i Sport Wagon xDrive", + "328i Sports Wagon", + "328i xDrive", + "328i xDrive Gran Turismo", + "328i xDrive Sport Wagon", + "328i xDrive Sports Wagon", + "328i/328is", + "328iS", + "328ic", + "328is", + "328xi", + "328xi Sport Wagon", + "330Ci", + "330ci", + "330ci Convertible", + "330e", + "330e Sedan", + "330e xDrive", + "330e xDrive Sedan", + "330i", + "330i Sedan", + "330i xDrive", + "330i xDrive Gran Turismo", + "330i xDrive Sedan", + "330i xDrive Sports Wagon", + "330xi", + "335ci", + "335ci Convertible", + "335ci xDrive", + "335cxi", + "335d", + "335i", + "335i Convertible", + "335i Coupe", + "335i Coupe xDrive", + "335i xDrive", + "335i xDrive Gran Turismo", + "335is", + "335is Convertible", + "335is Coupe", + "335xi", + "340i", + "340i xDrive", + "340i xDrive Gran Turismo", + "428i Convertible", + "428i Coupe", + "428i Gran Coupe", + "428i xDrive Convertible", + "428i xDrive Coupe", + "428i xDrive Gran Coupe", + "430i Convertible", + "430i Coupe", + "430i Gran Coupe", + "430i xDrive Convertible", + "430i xDrive Coupe", + "430i xDrive Gran Coupe", + "435i Convertible", + "435i Coupe", + "435i Gran Coupe", + "435i xDrive Convertible", + "435i xDrive Coupe", + "435i xDrive Gran Coupe", + "440i Convertible", + "440i Coupe", + "440i Gran Coupe", + "440i xDrive Convertible", + "440i xDrive Coupe", + "440i xDrive Gran Coupe", + "5 Series", + "524td", + "525i", + "525i Sport Wagon", + "525i Touring", + "525xi", + "528e", + "528i", + "528i Sport Wagon", + "528i Touring", + "528i xDrive", + "528iT", + "528xi", + "530e", + "530e Sedan", + "530e xDrive", + "530e xDrive Sedan", + "530i", + "530i Sedan", + "530i Touring", + "530i xDrive", + "530i xDrive Sedan", + "530iT", + "530xi", + "530xi Sport Wagon", + "533i", + "535d", + "535d xDrive", + "535i", + "535i Gran Turismo", + "535i Sport Wagon xDrive", + "535i xDrive", + "535i xDrive Gran Turismo", + "535xi", + "535xi Sport Wagon", + "540d xDrive", + "540i", + "540i Sedan", + "540i Sport Wagon", + "540i Touring", + "540i xDrive", + "540i xDrive Sedan", + "545i", + "550 GT", + "550i", + "550i Gran Turismo", + "550i xDrive", + "550i xDrive GT", + "550i xDrive Gran Turismo", + "6 Series", + "633CSi", + "635CSi", + "635csi", + "640i", + "640i Convertible", + "640i Coupe", + "640i Gran Coupe", + "640i xDrive Convertible", + "640i xDrive Coupe", + "640i xDrive Gran Coupe", + "640i xDrive Gran Turismo", + "645Ci", + "645ci", + "645ci Convertible", + "650ci", + "650ci Convertible", + "650i", + "650i Convertible", + "650i Convertible xDrive", + "650i Coupe", + "650i Coupe xDrive", + "650i Gran Coupe", + "650i xDrive Convertible", + "650i xDrive Coupe", + "650i xDrive Gran Coupe", + "7 Series", + "733i", + "735i", + "735i Luxury", + "735iL", + "735il", + "740Ld xDrive", + "740Li", + "740Li xDrive", + "740e xDrive", + "740i", + "740i Sedan", + "740i xDrive", + "740i xDrive Sedan", + "740i/740i Sport", + "740iL", + "740il", + "740il/740il Protection", + "745Li", + "745e xDrive", + "745i", + "745li", + "750 Series", + "750Li", + "750Li xDrive", + "750i", + "750i xDrive", + "750i xDrive Sedan", + "750iL", + "750il", + "750il/750il Protection", + "750li", + "760Li", + "760i", + "760i xDrive Sedan", + "760li", + "840Ci", + "840ci", + "840i Convertible", + "840i Coupe", + "840i Gran Coupe", + "840i xDrive Convertible", + "840i xDrive Coupe", + "840i xDrive Gran Coupe", + "850CSi", + "850Ci", + "850ci", + "850csi", + "850i", + "Active E", + "ActiveHybrid 3", + "ActiveHybrid 5", + "ActiveHybrid 7", + "ActiveHybrid 7L", + "ActiveHybrid 7Li", + "ActiveHybrid 7i", + "ActiveHybrid X6", + "Alpina B6 Gran Coupe xDrive", + "Alpina B6 xDrive Gran Coupe", + "Alpina B7", + "Alpina B7 LWB", + "Alpina B7 LWB xDrive", + "Alpina B7 SWB", + "Alpina B7 SWB xDrive", + "Alpina B7 xDrive", + "Alpina B8 Gran Coupe", + "Alpina XB7", + "I8 Coupe", + "I8 Roadster", + "L6", + "L7", + "M Coupe", + "M Roadster", + "M1 Coupe", + "M2", + "M2 CS Coupe", + "M2 Competition", + "M2 Competition Coupe", + "M2 Coupe", + "M235i", + "M235i Convertible", + "M235i xDrive", + "M235i xDrive Convertible", + "M235i xDrive Gran Coupe", + "M240i Convertible", + "M240i Coupe", + "M240i Coupe M Performance", + "M240i xDrive Convertible", + "M240i xDrive Coupe", + "M240i xDrive Coupe M Performance", + "M3", + "M3 CS", + "M3 CS Sedan", + "M3 Competition", + "M3 Competition M xDrive Sedan", + "M3 Competition Sedan", + "M3 Convertible", + "M3 Coupe", + "M3 Sedan", + "M340i", + "M340i Sedan", + "M340i xDrive", + "M340i xDrive Sedan", + "M4", + "M4 CS", + "M4 CSL Coupe", + "M4 Competition Coupe", + "M4 Competition M xDrive Convertible", + "M4 Competition M xDrive Coupe", + "M4 Convertible", + "M4 Convertible Competition", + "M4 Coupe", + "M4 Coupe Competition", + "M4 DTM Champions Edition", + "M4 GTS", + "M440i Convertible", + "M440i Coupe", + "M440i Gran Coupe", + "M440i xDrive Convertible", + "M440i xDrive Coupe", + "M440i xDrive Gran Coupe", + "M5", + "M5 CS Sedan", + "M5 Competition", + "M5 Competition Sedan", + "M5 Sedan", + "M550i xDrive", + "M550i xDrive Sedan", + "M6", + "M6 Convertible", + "M6 Coupe", + "M6 Gran Coupe", + "M760i xDrive", + "M760i xDrive Sedan", + "M8 Competition Convertible", + "M8 Competition Coupe", + "M8 Competition Gran Coupe", + "M8 Convertible", + "M8 Coupe", + "M8 Gran Coupe", + "M850i xDrive Convertible", + "M850i xDrive Coupe", + "M850i xDrive Gran Coupe", + "Rad 1", + "Rad 1 Cabrio", + "Rad 1 Coupé", + "Rad 2", + "Rad 2 Active Tourer", + "Rad 2 Coupé", + "Rad 2 Gran Tourer", + "Rad 3", + "Rad 3 Cabrio", + "Rad 3 Compact", + "Rad 3 Coupé", + "Rad 3 GT", + "Rad 3 Touring", + "Rad 4", + "Rad 4 Cabrio", + "Rad 4 Gran Coupé", + "Rad 5", + "Rad 5 GT", + "Rad 5 Touring", + "Rad 6", + "Rad 6 Cabrio", + "Rad 6 Coupé", + "Rad 6 Gran Coupé", + "Rad 7", + "Rad 8 Coupé", + "X1", + "X1 M35i", + "X1 sDrive28i", + "X1 xDrive28i", + "X1 xDrive35i", + "X2 M35i", + "X2 sDrive28i", + "X2 xDrive28i", + "X3", + "X3 3.0i", + "X3 3.0si", + "X3 M", + "X3 M Competition", + "X3 M40i", + "X3 sDrive 28i", + "X3 sDrive28i", + "X3 sDrive30i", + "X3 xDrive28d", + "X3 xDrive28i", + "X3 xDrive30e", + "X3 xDrive30i", + "X3 xDrive35i", + "X4", + "X4 M", + "X4 M Competition", + "X4 M40i", + "X4 xDrive28i", + "X4 xDrive30i", + "X4 xDrive35i", + "X5", + "X5 3.0si", + "X5 4.6is", + "X5 4.8IS", + "X5 4.8i", + "X5 4.8is", + "X5 M", + "X5 M Competition", + "X5 M50i", + "X5 M60i xDrive", + "X5 sDrive35i", + "X5 sDrive40i", + "X5 xDrive 35d", + "X5 xDrive30i", + "X5 xDrive35d", + "X5 xDrive35i", + "X5 xDrive40e", + "X5 xDrive40i", + "X5 xDrive45e", + "X5 xDrive48i", + "X5 xDrive50i", + "X5 xDriveM", + "X6", + "X6 M", + "X6 M Competition", + "X6 M50i", + "X6 M60i xDrive", + "X6 sDrive35i", + "X6 sDrive40i", + "X6 xDrive35i", + "X6 xDrive40i", + "X6 xDrive50i", + "X6 xDriveM", + "X7 M50i", + "X7 M60i xDrive", + "X7 xDrive40i", + "X7 xDrive50i", + "XM", + "Z3", + "Z3 Coupe", + "Z3 Coupé", + "Z3 Roadster", + "Z4", + "Z4 3.0i", + "Z4 3.0si", + "Z4 3.0si Coupe", + "Z4 Coupe", + "Z4 M Coupe", + "Z4 M Roadster", + "Z4 M40i", + "Z4 Roadster", + "Z4 sDrive28i", + "Z4 sDrive30i", + "Z4 sDrive35i", + "Z4 sDrive35is", + "Z8", + "i3", + "i3 (94Ah)", + "i3 (94Ah) with Range Extender", + "i3 BEV", + "i3 BEV (60 Amp-hour battery)", + "i3 BEV (94 Amp-hour battery)", + "i3 REX", + "i3 REX (94 Amp-hour battery)", + "i3 with Range Extender", + "i3s", + "i3s (94Ah)", + "i3s (94Ah) with Range Extender", + "i3s with Range Extender", + "i4 M50 Gran Coupe (19 inch wheels)", + "i4 M50 Gran Coupe (20 inch wheels)", + "i4 eDrive35 Gran Coupe (18 inch Wheels)", + "i4 eDrive35 Gran Coupe (19 inch Wheels)", + "i4 eDrive40 Gran Coupe (18 inch Wheels)", + "i4 eDrive40 Gran Coupe (18 inch wheels)", + "i4 eDrive40 Gran Coupe (19 inch Wheels)", + "i4 eDrive40 Gran Coupe (19 inch wheels)", + "i4 xDrive40 Gran Coupe (18 inch Wheels)", + "i4 xDrive40 Gran Coupe (19 inch Wheels)", + "i5 M60 xDrive Sedan (19 inch Wheels)", + "i5 M60 xDrive Sedan (20 inch Wheels)", + "i5 M60 xDrive Sedan (21 inch Wheels)", + "i5 eDrive40 Sedan (19 inch Wheels)", + "i5 eDrive40 Sedan (20 inch Wheels)", + "i5 eDrive40 Sedan (21 inch Wheels)", + "i7 M70 xDrive Sedan (20 inch Wheels)", + "i7 M70 xDrive Sedan (21 inch Wheels)", + "i7 eDrive50 Sedan (19 inch Wheels)", + "i7 eDrive50 Sedan (20 inch Wheels)", + "i7 eDrive50 Sedan (21 inch Wheels)", + "i7 xDrive60 Sedan (19 inch wheels)", + "i7 xDrive60 Sedan (20 inch wheels)", + "i7 xDrive60 Sedan (21 inch wheels)", + "i8", + "iX M60 (21 inch Wheels)", + "iX M60 (21 inch wheels)", + "iX M60 (22 inch Wheels)", + "iX M60 (22 inch wheels)", + "iX xDrive40 (20 inch Wheels)", + "iX xDrive40 (21 inch Wheels)", + "iX xDrive40 (22 inch Wheels)", + "iX xDrive50 (20 inch wheels)", + "iX xDrive50 (21 inch wheels)", + "iX xDrive50 (22 inch wheels)" + ], + "BMW Alpina": [ + "B7", + "Roadster V8" + ], + "BYD": [ + "e6" + ], + "Bentley": [ + "Arnage", + "Arnage LWB", + "Arnage RL", + "Azure", + "Bentayga", + "Bentayga EWB", + "Bentayga Hybrid", + "Bentayga Speed", + "Brooklands", + "Brooklands R", + "Brooklands R Limo", + "Continental", + "Continental Flying Spur", + "Continental GT", + "Continental GT Convertible", + "Continental GT Convertible Speed", + "Continental GT Speed", + "Continental GT Speed Convertible", + "Continental GT V8 Convertible", + "Continental GT3-R", + "Continental GTC", + "Continental R", + "Continental SC", + "Continental Supersports", + "Continental Supersports Convertible", + "Continental T", + "Corniche", + "Eight", + "Flying Spur", + "Flying Spur Hybrid", + "Mulsanne", + "Mulsanne EWB", + "Turbo R", + "Turbo RT" + ], + "Bertone": [ + "X1/9" + ], + "Bill Dovell Motor Car Company": [ + "Dovell 230CE", + "Dovell 230E" + ], + "Bitter Gmbh and Co. Kg": [ + "Bitter SC", + "SC" + ], + "Bugatti": [ + "Chiron", + "Chiron Pur Sport", + "Chiron Super Sport", + "Divo", + "Veyron" + ], + "Buick": [ + "Cascada", + "Century", + "Century Estate Wagon", + "Century Wagon", + "Coachbuilder Wagon", + "Electra", + "Electra Estate Wagon", + "Electra/Park Avenue", + "Enclave", + "Enclave AWD", + "Enclave FWD", + "Encore", + "Encore AWD", + "Encore FWD", + "Encore GX AWD", + "Encore GX FWD", + "Envision AWD", + "Envision FWD", + "Envista", + "Estate Wagon", + "Funeral Coach/Hearse", + "LaCrosse", + "LaCrosse AWD", + "LaCrosse eAssist", + "Lacrosse/Allure", + "Lacrosse/Allure AWD", + "Le Sabre", + "LeSabre", + "LeSabre/Electra Wagon", + "Lucerne", + "Park Avenue", + "Rainier", + "Rainier 2WD", + "Rainier AWD", + "Reatta", + "Regal", + "Regal AWD", + "Regal TourX AWD", + "Regal eAssist", + "Regal/Century", + "Rendezvous", + "Rendezvous AWD", + "Rendezvous FWD", + "Riviera", + "Riviera Convertible", + "Roadmaster", + "Roadmaster Wagon", + "Skyhawk", + "Skyhawk Wagon", + "Skylark", + "Somerset", + "Somerset Regal", + "Somerset/Skylark", + "Terraza", + "Terraza AWD", + "Terraza FWD", + "Verano" + ], + "CCC Engineering": [ + "Duntov GT" + ], + "CODA Automotive": [ + "CODA" + ], + "CX Automotive": [ + "CX 25 GTI", + "CX 25 Prestige", + "CX 25Tri", + "Cxestate", + "XM v6", + "XM v6 Break", + "XM v6a" + ], + "Cadillac": [ + "ATS", + "ATS AWD", + "ATS-V", + "Allante", + "Armored DTS", + "Armored Deville", + "Brougham", + "Brougham/DeVille (RWD)", + "CT4", + "CT4 AWD", + "CT4 V", + "CT4 V AWD", + "CT5", + "CT5 AWD", + "CT5 V", + "CT5 V AWD", + "CT6", + "CT6 AWD", + "CT6 Plug-In", + "CTS", + "CTS AWD", + "CTS Sedan", + "CTS Sedan AWD", + "CTS V", + "CTS Wagon", + "CTS Wagon AWD", + "CTS-V", + "Catera", + "Cimarron", + "Commercial Chassis", + "DTS", + "De Ville", + "DeVille", + "DeVille/60 Special", + "DeVille/Concourse", + "ELR", + "ELR Sport", + "Eldorado", + "Eldorado Convertible", + "Escalade", + "Escalade 2WD", + "Escalade 4WD", + "Escalade AWD", + "Escalade ESV", + "Escalade ESV 2WD", + "Escalade ESV 4WD", + "Escalade ESV AWD", + "Escalade EXT", + "Escalade Ext AWD", + "Escalade Hybrid 2WD", + "Escalade Hybrid 4WD", + "Escalade V 4WD", + "Escalade V AWD", + "Fleetwood", + "Fleetwood Brougham", + "Fleetwood Brougham (RWD)", + "Fleetwood/DeVille", + "Fleetwood/DeVille (FWD)", + "Funeral Coach / Hearse", + "Funeral Coach/Hearse", + "LYRIQ", + "LYRIQ AWD", + "Limousine", + "SRX", + "SRX 2WD", + "SRX AWD", + "STS", + "STS 2WD", + "STS AWD", + "STS-V", + "Seville", + "XLR", + "XLR-V", + "XT4 AWD", + "XT4 FWD", + "XT5", + "XT5 AWD", + "XT5 FWD", + "XT5 Hearse AWD", + "XT5 Hearse FWD", + "XT5 Limo AWD", + "XT5 Limo FWD", + "XT6 AWD", + "XT6 FWD", + "XTS", + "XTS AWD", + "XTS Hearse", + "XTS Limo" + ], + "Chevrolet": [ + "Alero", + "Astro", + "Astro 2WD (cargo)", + "Astro 2WD (cargo) Conversion", + "Astro 2WD (passenger)", + "Astro AWD (cargo)", + "Astro AWD (cargo) Conversion", + "Astro AWD (passenger)", + "Avalanche", + "Avalanche 1500 2WD", + "Avalanche 1500 4WD", + "Avalanche 1500 AWD", + "Aveo", + "Aveo 5", + "Aveo5", + "Beretta", + "Blazer", + "Blazer 1500 4WD", + "Blazer 2WD", + "Blazer 4WD", + "Blazer AWD", + "Blazer EV AWD", + "Blazer EV RWD", + "Blazer FWD", + "Blazer V1500 4WD", + "Bolt EUV", + "Bolt EV", + "C10 Pickup 2WD", + "C1500 Pickup 2WD", + "C20 Pickup 2WD", + "C2500 Pickup 2WD", + "Camaro", + "Caprice", + "Caprice Wagon", + "Caprice/Impala", + "Caprice/Impala Wagon", + "Captiva", + "Captiva AWD", + "Captiva FWD", + "Captiva Sport", + "Cavalier", + "Cavalier (Bi-fuel CNG)", + "Cavalier Convertible", + "Cavalier Dual-fuel", + "Cavalier Wagon", + "Celebrity", + "Celebrity Wagon", + "Chevette", + "Chevette CS", + "Citation", + "Citation II", + "City Express Cargo Van", + "Classic", + "Coachbuilder Wagon", + "Cobalt", + "Cobalt Coupe", + "Cobalt SS Coupe", + "Cobalt Sedan", + "Cobalt XFE", + "Cobalt XFE Coupe", + "Cobalt XFE Sedan", + "Colorado", + "Colorado 2WD", + "Colorado 4WD", + "Colorado Cab Chassis 2WD", + "Colorado Cab Chassis inc 2WD", + "Colorado Cab Chassis inc 4WD", + "Colorado Crew Cab 2WD", + "Colorado Crew Cab 4WD", + "Colorado Mud Terrain Tires 4WD", + "Colorado ZR2 4WD", + "Colorado ZR2 Bison 4WD", + "Corsica", + "Corvette", + "Corvette Convertible", + "Corvette E-RAY", + "Corvette Z06", + "Corvette Z06 Carbon Aero", + "Corvette ZR1", + "Cruze", + "Cruze Eco", + "Cruze Hatchback", + "Cruze Limited", + "Cruze Limited Eco", + "Cruze Premier", + "Cruze Premier Hatchback", + "Cruze SW", + "El Camino", + "El Camino Pickup 2WD", + "Epica", + "Equinox", + "Equinox AWD", + "Equinox EV AWD", + "Equinox EV FWD", + "Equinox FWD", + "Evanda", + "Express 1500 2WD Cargo", + "Express 1500 2WD Conversion Cargo", + "Express 1500 2WD Passenger", + "Express 1500 AWD", + "Express 1500 AWD Cargo", + "Express 1500 AWD Conversion Cargo", + "Express 1500 AWD Passenger", + "Express 1500/2500 2WD", + "Express 2500 2WD Cargo", + "Express 2500 2WD Conversion Cargo", + "Express 2500 2WD Passenger", + "Express 3500 2WD Cargo", + "Express 3500 2WD Passenger", + "Express Cargo (Bi-fuel)", + "Express Cargo (dedicated CNG)", + "Express Passenger (Bi-fuel)", + "Express Passenger (dedicated CNG)", + "Express Van", + "G Van", + "G10/20 Sport Van 2WD", + "G10/20 Van 2WD", + "G10/20 Van 2WD (cargo)", + "G30 Sport Van 2WD", + "G30 Van 2WD", + "G30 Van 2WD (cargo)", + "HHR", + "HHR FWD", + "HHR Panel FWD", + "Impala", + "Impala Bi-Fuel (CNG)", + "Impala Limited", + "Impala Police", + "Impala eAssist", + "Impala/Caprice", + "K10 Blazer 4WD", + "K10 Pickup 4WD", + "K1500 Pickup 4WD", + "K20 Pickup 4WD", + "K2500 Pickup 4WD", + "K5/K10 Blazer 4WD", + "Kalos", + "Kodiak C4500", + "LUV", + "Lacetti", + "Lacetti SW", + "Lumina", + "Lumina APV", + "Lumina Minivan 2WD", + "Lumina/APV Minivan 2WD", + "Lumina/Monte Carlo", + "Malibu", + "Malibu Hybrid", + "Malibu Limited", + "Malibu Maxx", + "Malibu eAssist", + "Matiz", + "Metro", + "Monte Carlo", + "Nova", + "Nubira", + "Optra", + "Optra 5", + "Optra Wagon", + "Orlando", + "Pickup 2500 2WD", + "Pickup 2500 4WD", + "Postal Cab Chassis 2WD", + "Prizm", + "R10 Pickup 2WD", + "R10 Suburban 2WD", + "R1500 Suburban 2WD", + "R20 (C20) Pickup 2WD", + "S10 Blazer", + "S10 Blazer 2WD", + "S10 Blazer 4WD", + "S10 Cab Chassis 2WD", + "S10 Electric", + "S10 Pickup", + "S10 Pickup 2WD", + "S10 Pickup 2WD FFV", + "S10 Pickup 4WD", + "S10 Utility Body 2WD", + "SS", + "SSR", + "SSR Pickup 2WD", + "Silverado 15 Hybrid 2WD", + "Silverado 15 Hybrid 4WD", + "Silverado 1500 2WD", + "Silverado 1500 4WD", + "Silverado 1500 AWD", + "Silverado 2500 2WD", + "Silverado 2500 2WD (Bifuel)", + "Silverado 2500 HD 2WD", + "Silverado 2500 HD 2WD CNG", + "Silverado 2500 HD 4WD CNG", + "Silverado 2WD", + "Silverado 4WD", + "Silverado 4WD TrailBoss", + "Silverado 4WD ZR2", + "Silverado C10 2WD", + "Silverado C10 Cab Chassis 2WD", + "Silverado C10 XFE 2WD", + "Silverado C15 2WD", + "Silverado C15 Cab Chassis 2WD", + "Silverado C15 XFE 2WD", + "Silverado Cab Chassis 2WD", + "Silverado Cab Chassis 4WD", + "Silverado Classic 15 Hybrid 2WD", + "Silverado Classic 15 Hybrid 4WD", + "Silverado Classic 1500 2WD", + "Silverado Classic 1500 4WD", + "Silverado EV", + "Silverado K10 4WD", + "Silverado K10 4WD TrailBoss", + "Silverado K10 Cab Chassis 4WD", + "Silverado K15 4WD", + "Silverado K15 Cab Chassis 4WD", + "Silverado LD C15 2WD", + "Silverado LD K15 4WD", + "Silverado Mud Terrain Tires 4WD", + "Silverado SS 1500 AWD", + "Silverado and other C/K1500", + "Silverado and other C/K2500", + "Silverado and other C/K3500", + "Sonic", + "Sonic 5", + "Sonic 5 RS", + "Sonic RS", + "Spark", + "Spark ACTIV", + "Spark EV", + "Spectrum", + "Spectrum Turbo", + "Sport Van G10/20 2WD", + "Sport Van G10/20 2WD (passenger)", + "Sport Van G30 2WD", + "Sport Van G30 2WD", + "Sport Van G30 2WD (cargo)", + "Sprint", + "Sprint ER", + "Sprint Metro", + "Sprint Plus", + "Suburban", + "Suburban 1500 2WD", + "Suburban 1500 4WD", + "Suburban 1500 AWD", + "Suburban 2500 2WD", + "Suburban 2500 4WD", + "Suburban 2WD", + "Suburban 4WD", + "Suburban C10 2WD", + "Suburban C1500 2WD", + "Suburban K10 4WD", + "Suburban K1500 4WD", + "Suburban V1500 4WD", + "T10 (S10) Blazer 4WD", + "T10 (S10) Pickup 4WD", + "Tacuma", + "Tahoe", + "Tahoe 1500 2WD", + "Tahoe 1500 4WD", + "Tahoe 1500 AWD", + "Tahoe 1500 XFE 2WD", + "Tahoe 2WD", + "Tahoe 4WD", + "Tahoe C10 2WD", + "Tahoe C1500 2WD", + "Tahoe Hybrid 2WD", + "Tahoe Hybrid 4WD", + "Tahoe K10 4WD", + "Tahoe K1500 4WD", + "Tracker", + "Tracker 2WD Convertible", + "Tracker 2WD Hardtop", + "Tracker 4WD Convertible", + "Tracker 4WD Hardtop", + "Tracker LT 2WD", + "Tracker LT 4WD", + "Tracker ZR2 4WD", + "Tracker ZR2 4WD Convertible", + "TrailBlazer", + "TrailBlazer 2WD", + "TrailBlazer 4WD", + "TrailBlazer AWD", + "TrailBlazer EXT", + "TrailBlazer Ext 2WD", + "TrailBlazer Ext 4WD", + "Trailblazer AWD", + "Trailblazer FWD", + "Traverse", + "Traverse AWD", + "Traverse FWD", + "Traverse Limited AWD", + "Traverse Limited FWD", + "Trax", + "Trax AWD", + "Trax FWD", + "Turbo Sprint", + "Twin-Turbo Corvette", + "Uplander", + "Uplander AWD", + "Uplander FWD", + "V10 (K10) Blazer 4WD", + "V10 (K10) Pickup 4WD", + "V10 (K10) Suburban 4WD", + "V10 Blazer 4WD", + "V10 Suburban 4WD", + "V20 Pickup 4WD", + "Van 15/25 2WD Conversion", + "Van 15/25 2WD Conversion", + "Van 1500 2WD Cargo", + "Van 1500 2WD Conversion Cargo", + "Van 1500 AWD Cargo", + "Van 1500 AWD Conversion", + "Van 1500 AWD Conversion Cargo", + "Van 1500/2500 2WD", + "Van 1500/2500 AWD", + "Venture", + "Venture 2WD", + "Venture AWD", + "Venture FWD", + "Volt" + ], + "Chrysler": [ + "200", + "200 AWD", + "200 Convertible", + "300", + "300 AWD", + "300 C", + "300 C Touring", + "300 M", + "300 SRT8", + "300/SRT-8", + "300C AWD", + "300C/SRT-8", + "300M", + "Aspen", + "Aspen 2WD", + "Aspen 4WD", + "Aspen HEV", + "Caravan", + "Cirrus", + "Concorde", + "Concorde/LHS", + "Conquest", + "Cordoba", + "Crossfire", + "Crossfire Coupe", + "Crossfire Roadster", + "E Class", + "E Class/New Yorker", + "Executive Sedan/Limousine", + "Fifth Avenue", + "Fifth Avenue/Imperial", + "Grand Voyager", + "Imperial", + "Imperial/New Yorker Fifth Avenue", + "Intrepid", + "JX/JXI/Limited Convertible", + "LHS", + "Laser", + "Laser/Daytona", + "LeBaron", + "LeBaron Convertible", + "LeBaron GTS", + "LeBaron Landau", + "Limousine", + "Neon", + "New Yorker", + "New Yorker Fifth Avenue/Imperial", + "New Yorker Turbo", + "New Yorker/5th Avenue", + "New Yorker/LHS", + "Newport", + "Newport/Fifth Avenue", + "PT Cruiser", + "PT Cruiser Convertible", + "Pacifica", + "Pacifica 2WD", + "Pacifica AWD", + "Pacifica FWD", + "Pacifica Hybrid", + "Plymouth", + "Prowler", + "QC Car", + "Sebring", + "Sebring 4 Door", + "Sebring AWD", + "Sebring Convertible", + "Stratus", + "Stratus Cabrio", + "TC By", + "TC By Convertible", + "TC by Maserati", + "Town & Country", + "Town & Country", + "Town and Country", + "Town and Country 2WD", + "Town and Country 4WD", + "Town and Country AWD", + "Town and Country Wagon", + "Town and Country/Voyager/Grand Voy. 2WD", + "Town and Country/Voyager/Grand Voy. AWD", + "Voyager", + "Voyager/Town and Country 2WD" + ], + "Consulier Industries Inc": [ + "Consulier GTP" + ], + "Dabryan Coach Builders Inc": [ + "WB" + ], + "Dacia": [ + "Coupe", + "Dokker", + "Duster", + "Lodgy", + "Logan", + "Logan MCV", + "Logan Van", + "Sandero", + "Sedan", + "Solenza", + "Station Wagon" + ], + "Daewoo": [ + "Espero", + "Kalos", + "Lacetti", + "Lanos", + "Leganza", + "Lublin", + "Magnus", + "Matiz", + "Nexia", + "Nubira", + "Nubira Station Wagon", + "Nubira Wagon", + "Nubira kombi", + "Racer", + "Tacuma", + "Tico" + ], + "Daihatsu": [ + "Charade", + "Charade E", + "Rocky", + "Rocky 4WD" + ], + "Dodge": [ + "400", + "600", + "600 Convertible", + "AD100/AD150 Ramcharger 2WD", + "AW100/AW150 Ramcharger 4WD", + "Aries", + "Aries Wagon", + "Avenger", + "Avenger AWD", + "B150/B250 Van 2WD", + "B150/B250 Wagon 2WD", + "B1500 Van 2WD", + "B1500 Wagon 2WD", + "B1500/B2500 Van 2WD", + "B1500/B2500 Wagon 2WD", + "B2500 Van 2WD", + "B2500 Wagon 2WD", + "B350 Van 2WD", + "B350 Wagon 2WD", + "B3500 Van 2WD", + "B3500 Wagon 2WD", + "CSX", + "Caliber", + "Caliber AWD", + "Caravan", + "Caravan C/V/Grand Caravan 2WD", + "Caravan C/V/Grand Caravan 4WD", + "Caravan/Grand Caravan 2WD", + "Caravan/Grand Caravan 4WD", + "Caravan/Grand Caravan AWD", + "Caravan/Grand Caravan FWD", + "Caravan/Grand Caravan/Ram Van 2WD", + "Caravan/Ram Van 2WD", + "Challenger", + "Challenger AWD", + "Challenger GT", + "Challenger SRT", + "Challenger SRT Demon 170", + "Challenger SRT Widebody", + "Challenger SRT8", + "Challenger Widebody", + "Charger", + "Charger AWD", + "Charger GLH-S", + "Charger SRT", + "Charger SRT Widebody", + "Charger SRT8", + "Charger Widebody", + "Colt", + "Colt Vista", + "Colt Vista 4WD", + "Colt Wagon", + "Colt Wagon 4WD", + "Conquest", + "D/W Truck", + "D100/D150 Pickup 2WD", + "D250 Cab Chassis 2WD", + "D250 Pickup 2WD", + "D250 Pickup Cab Chassis 2WD", + "Dakota", + "Dakota Cab Chassis 2WD", + "Dakota Pickup 2WD", + "Dakota Pickup 4WD", + "Dart", + "Dart Aero", + "Dart GT", + "Daytona", + "Diplomat", + "Durango", + "Durango 2WD", + "Durango 4WD", + "Durango AWD", + "Durango HEV", + "Durango RWD", + "Durango SRT AWD", + "Dynasty", + "GLH-S", + "Grand Caravan", + "Hornet AWD", + "Hornet PHEV AWD", + "Intrepid", + "Journey", + "Journey 2WD", + "Journey 4WD", + "Journey AWD", + "Journey AWD", + "Journey FWD", + "Lancer", + "Lancer Convertible", + "Magnum", + "Magnum 2WD", + "Magnum AWD", + "Mirada", + "Monaco", + "Neon", + "Neon/SRT-4/SX 2.0", + "Nitro", + "Nitro 2WD", + "Nitro 4WD", + "Omni", + "Power Ram 50 4WD", + "Power Ram 50 Pickup 4WD", + "Power Ram50 4WD", + "RAM", + "RAM C/V", + "Raider", + "Raider 4WD", + "Ram 1500 Pickup 2WD", + "Ram 1500 Pickup 4WD", + "Ram 1500 Truck", + "Ram 2500 Pickup 2WD", + "Ram 2500 Pickup 4WD", + "Ram 2500 Truck", + "Ram 3500 Truck", + "Ram 4500 Truck", + "Ram 50 Pickup 2WD", + "Ram 50 Truck", + "Ram SRT-10", + "Ram Van", + "Ram Van 1500 2WD", + "Ram Van 2500 2WD", + "Ram Van 2500 2WD CNG", + "Ram Wagon", + "Ram Wagon 1500 2WD", + "Ram Wagon 2500 2WD", + "Ram Wagon 2500 2WD CNG", + "Ramcharger", + "Ramcharger 2WD", + "Ramcharger 4WD", + "Rampage", + "Rampage Pickup 2WD", + "SRT-4", + "Shadow", + "Shadow Convertible", + "Spirit", + "Sprinter", + "St. Regis", + "Stealth", + "Stratus", + "Stratus 4 Door", + "Viper", + "Viper Convertible", + "Viper Coupe", + "Viper SRT", + "W100/W150 Pickup 4WD", + "W250 Pickup 4WD" + ], + "E. P. Dutton, Inc.": [ + "Funeral Coach" + ], + "Eagle": [ + "Medallion", + "Medallion Sedan", + "Medallion Wagon", + "Premier", + "Renault Medallion Sedan", + "Renault Medallion Wagon", + "Summit", + "Summit Wagon", + "Talon", + "Vision", + "Wagon 4WD" + ], + "Environmental Rsch and Devp Corp": [ + "ERD 1" + ], + "Evans Automobiles": [ + "Series 1", + "Series I" + ], + "Excalibur Autos": [ + "Phaeton" + ], + "Federal Coach": [ + "24E", + "85J", + "Eagle", + "Formal", + "Heritage", + "Lincoln 100J", + "Lincoln 24E", + "Lincoln 85J", + "Lincoln Eagle/Windsor", + "Lincoln Eaton", + "Lincoln Stratford", + "Renaissance", + "Six Door", + "Windsor" + ], + "Ferrari": [ + "296 GTB", + "296 GTB Spider", + "3.2 Mondial/Cabriolet", + "308", + "308 GTB Quattrovalvole", + "308 GTBI", + "308 GTS Quattrovalvole", + "308 GTSI", + "328 GTB", + "328 GTS", + "328 GTS/GTB", + "348 GTB", + "348 GTS", + "348 Spider", + "348 TB", + "348 TB/TS", + "348 TS", + "360", + "360 Modena/Modena F1", + "360 Modena/Spider", + "360 Modena/Spider/Challenge", + "456 GT", + "456 MGT/MGA", + "456M GT", + "458 Italia", + "458 Italia Coupe", + "458 Italia Spider", + "458 Speciale", + "458 Speciale Spider", + "458 Spider", + "488 GTB", + "488 Pista", + "488 Pista Spider", + "488 Spider", + "512 BBi", + "512M", + "512TR", + "550 Maranello", + "550 Maranello/Barchetta", + "575", + "575 M Maranello", + "575 M Maranello and Superamerica", + "575M Maranello", + "599 GTB", + "599 GTB Fiorano", + "599 GTO", + "599 SA Aperta", + "612 Scaglietti", + "812 Competizione", + "812 Competizione A", + "812 GTS", + "812 Superfast", + "California", + "California T", + "Daytona SP3", + "Enzo", + "Enzo Ferrari", + "F 40", + "F12", + "F12 Berlinetta", + "F12 tdf", + "F141", + "F175 AHA", + "F355", + "F355/355 F1", + "F40", + "F430", + "F50", + "F60 America", + "F8 Spider", + "F8 Tributo", + "FF", + "Ferrari 348 TB/TS", + "Ferrari 348 TB/TS/Spider", + "Ferrari 456", + "Ferrari 456 GT", + "Ferrari 456 GT/GTA", + "Ferrari 512 TR", + "Ferrari 550 Maranello", + "Ferrari F355", + "Ferrari F355 Berlinetta/GTS", + "Ferrari F355/355 F1", + "Ferrari F50", + "Ferrari F512M", + "Ferrari Mondial T/Cabriolet", + "GTC4Lusso", + "GTC4Lusso T", + "LaFerrari Aperta", + "LaFerrari Hybrid", + "Mondial", + "Mondial T/Cabriolet", + "Mondial/Cabriolet", + "Monza SP1", + "Monza SP2", + "Portofino", + "Portofino M", + "Purosangue", + "Roma", + "Roma Spider", + "SF90 Spider", + "SF90 Stradale", + "SF90 Stradale Coupe", + "Testarossa" + ], + "Fiat": [ + "1100", + "124 Spider", + "126", + "500", + "500 Abarth", + "500 Cabrio", + "500 L", + "500 X", + "500 X AWD", + "500L", + "500X", + "500X AWD", + "500e", + "500e All Season", + "850", + "Barchetta", + "Brava", + "Cinquecento", + "Coupé", + "Croma", + "Doblo", + "Doblo Cargo", + "Doblo Cargo Combi", + "Ducato", + "Ducato Kombi", + "Ducato Podvozok", + "Ducato Van", + "Florino", + "Florino Combi", + "Freemont", + "Grande Punto", + "Idea", + "Linea", + "Marea", + "Marea Weekend", + "Multipla", + "Palio Weekend", + "Panda", + "Panda Van", + "Punto", + "Punto Cabriolet", + "Punto Evo", + "Punto Van", + "Qubo", + "Scudo", + "Scudo Kombi", + "Scudo Van", + "Sedici", + "Seicento", + "Stilo", + "Stilo Multiwagon", + "Strada", + "Talento", + "Tipo", + "Ulysse", + "Uno", + "X1/9" + ], + "Fisker": [ + "Karma", + "Ocean Extreme One" + ], + "Ford": [ + "Aerostar", + "Aerostar Van", + "Aerostar Van AWD", + "Aerostar Wagon", + "Aerostar Wagon AWD", + "Aspire", + "B-Max", + "Bronco", + "Bronco 4WD", + "Bronco Badlands 4WD", + "Bronco Black Diamond 4WD", + "Bronco II", + "Bronco II 2WD", + "Bronco II 4WD", + "Bronco Raptor 4WD", + "Bronco Sasquatch 4WD", + "Bronco Sport 4WD", + "C-MAX", + "C-MAX Energi Plug-In Hybrid", + "C-MAX Energi Plug-in Hybrid", + "C-MAX Hybrid FWD", + "C-Max", + "Club Wagon", + "Contour", + "Cortina", + "Cougar", + "Courier", + "Courier Pickup 2WD", + "Courier Pickup 4WD", + "Crown Victoria", + "Crown Victoria CNG", + "Crown Victoria FFV", + "Crown Victoria Police", + "E-150 and Econoline 150", + "E-250 and Econoline 250", + "E-350 and Econoline 350", + "E150 Club Wagon", + "E150 Club Wagon 2WD", + "E150 Econoline 2WD", + "E150 Van FFV", + "E150 Wagon FFV", + "E250 CNG", + "E250 Econoline 2WD", + "E250 Econoline 2WD CNG", + "E250 Van FFV", + "E350 Van", + "E350 Van FFV", + "E350 Wagon", + "E350 Wagon FFV", + "EXP", + "EcoSport AWD", + "EcoSport FWD", + "Edge", + "Edge AWD", + "Edge FWD", + "Escape", + "Escape 2WD", + "Escape 4WD", + "Escape 4WD FFV", + "Escape AWD", + "Escape AWD FFV", + "Escape AWD HEV", + "Escape FWD", + "Escape FWD FFV", + "Escape FWD HEV", + "Escape FWD PHEV", + "Escape Hybrid 2WD", + "Escape Hybrid 4WD", + "Escape Hybrid AWD", + "Escape Hybrid FWD", + "Escort", + "Escort Cabrio", + "Escort FS", + "Escort Wagon", + "Escort ZX2", + "Escort kombi", + "Excursion", + "Expedition", + "Expedition 2WD", + "Expedition 2WD FFV", + "Expedition 4WD", + "Expedition 4WD FFV", + "Expedition EL", + "Expedition EL 2WD", + "Expedition EL 4WD", + "Expedition Limo. 2WD FFV", + "Expedition MAX 2WD", + "Expedition MAX 4WD", + "Expedition Timberline AWD", + "Explorer", + "Explorer 2WD", + "Explorer 2WD FFV", + "Explorer 4WD", + "Explorer 4WD FFV", + "Explorer AWD", + "Explorer AWD FFV", + "Explorer FFV AWD", + "Explorer FWD", + "Explorer HEV AWD", + "Explorer HEV RWD", + "Explorer Platinum HEV AWD", + "Explorer Platinum HEV RWD", + "Explorer RWD", + "Explorer Sport 2WD", + "Explorer Sport 2WD FFV", + "Explorer Sport 4WD", + "Explorer Sport 4WD FFV", + "Explorer Sport Trac", + "Explorer Sport Trac 2WD", + "Explorer Sport Trac 2WD FFV", + "Explorer Sport Trac 4WD", + "Explorer Sport Trac 4WD FFV", + "Explorer Timberline AWD", + "Explorer USPS 2WD", + "Explorer USPS 2WD FFV", + "Explorer USPS 4WD", + "Explorer USPS 4WD FFV", + "Explorer USPS Electric", + "F-150", + "F-150 Lightning 4WD", + "F-150 Lightning 4WD Extended Range", + "F-150 Lightning PRO 4WD Extended Range", + "F-150 Lightning Platinum 4WD", + "F-250", + "F100", + "F150", + "F150 2.7L 2WD GVWR>6649 LBS", + "F150 2.7L 2WD GVWR>6649 LBS PAYLOAD PACKAGE", + "F150 2.7L 4WD GVWR>6799 LBS", + "F150 2.7L 4WD GVWR>6799 LBS PAYLOAD PACKAGE", + "F150 2WD BASE PAYLOAD LT TIRE", + "F150 2WD FFV BASE PAYLOAD LT", + "F150 2WD FFV BASE PAYLOAD LT TIRE", + "F150 3.5L 2WD GVWR>7599 LBS", + "F150 3.5L 2WD GVWR>7599 LBS PAYLOAD PACKAGE", + "F150 3.5L 4WD GVWR>7599 LBS", + "F150 3.5L 4WD GVWR>7599 LBS PAYLOAD PACKAGE", + "F150 4WD BASE PAYLOAD LT TIRE", + "F150 4WD FFV BASE PAYLOAD LT", + "F150 4WD FFV BASE PAYLOAD LT TIRE", + "F150 5.0L 2WD FFV GVWR>7599 LBS", + "F150 5.0L 2WD FFV GVWR>7599 LBS PAYLOAD PACKAGE", + "F150 5.0L 2WD GVWR>7599 LBS", + "F150 5.0L 4WD FFV GVWR>7599 LBS", + "F150 5.0L 4WD FFV GVWR>7599 LBS PAYLOAD PACKAGE", + "F150 5.0L 4WD GVWR>7599 LBS", + "F150 CNG", + "F150 Dual-fuel 2WD (CNG)", + "F150 Dual-fuel 2WD (LPG)", + "F150 Dual-fuel 4WD (CNG)", + "F150 Dual-fuel 4WD (LPG)", + "F150 Pickup 2WD", + "F150 Pickup 2WD CNG", + "F150 Pickup 2WD FFV", + "F150 Pickup 2WD HEV", + "F150 Pickup 2WD Limited", + "F150 Pickup 4WD", + "F150 Pickup 4WD FFV", + "F150 Pickup 4WD HEV", + "F150 Pickup 4WD Limited", + "F150 Pickup 4WD XL/XLT", + "F150 Pickup Tremor 4WD", + "F150 Pickup Tremor 4WD FFV", + "F150 RAPTOR 37 4WD", + "F150 RAPTOR 4WD", + "F150 RAPTOR R 4WD", + "F150 Raptor Pickup 4WD", + "F150 SFE 2WD", + "F150 STX SE 2WD", + "F150 STX SE 2WD FFV", + "F250", + "F250 Pickup 2WD", + "F250 Pickup 2WD CNG", + "F250 Pickup 4WD", + "F250 Pickup Cab Chassis 2WD", + "F350", + "F450", + "Fairmont", + "Festiva", + "Fiesta", + "Fiesta FWD", + "Fiesta SFE", + "Fiesta SFE FWD", + "Fiesta ST FWD", + "Five Hundred", + "Five Hundred AWD", + "Five Hundred FWD", + "Flex", + "Flex AWD", + "Flex FWD", + "Focus", + "Focus C-Max", + "Focus CC", + "Focus Electric", + "Focus FWD", + "Focus FWD FFV", + "Focus RS AWD", + "Focus SFE FWD", + "Focus SFE FWD FFV", + "Focus ST FWD", + "Focus Station Wagon", + "Focus kombi", + "Freestar", + "Freestar Cargo Van FWD", + "Freestar Wagon FWD", + "Freestyle", + "Freestyle AWD", + "Freestyle FWD", + "Fusion", + "Fusion AWD", + "Fusion AWD FFV", + "Fusion Energi Plug-in Hybrid", + "Fusion FWD", + "Fusion FWD FFV", + "Fusion Hybrid FWD", + "Fusion Hybrid Taxi", + "Fusion S FWD", + "Fusion Special Service PHEV", + "Fusion Special Service Vehicle PHEV", + "GT", + "GT 2WD", + "Galaxy", + "Granada", + "Grand C-Max", + "Ka", + "Kuga", + "LTD", + "LTD Crown Victoria", + "LTD Crown Victoria Wagon", + "LTD Crown Victoria/Country Squire Wagon", + "LTD Wagon", + "Laser", + "Lightning F150 2WD", + "Lightning Pickup 2WD", + "MUSTANG MACH-E CAL RT 1 ER AWD", + "Maverick", + "Maverick AWD", + "Maverick FWD", + "Maverick HEV FWD", + "Maverick Tremor AWD", + "Mondeo", + "Mondeo Combi", + "Mustang", + "Mustang Bullitt", + "Mustang Convertible", + "Mustang Dark Horse", + "Mustang HO Convertible", + "Mustang HO Coupe", + "Mustang Mach 1", + "Mustang Mach-E AWD", + "Mustang Mach-E AWD Extended", + "Mustang Mach-E CAL RT 1 ER AWD", + "Mustang Mach-E CAL RT 1 ER RWD", + "Mustang Mach-E GT", + "Mustang Mach-E GT Performance", + "Mustang Mach-E RWD", + "Mustang Mach-E RWD California Route 1", + "Mustang Mach-E RWD Extended", + "Mustang Mach-E RWD LFP", + "Mustang Mach-E Rally", + "Mustang Performance Package", + "Orion", + "Postal Vehicle", + "Probe", + "Puma", + "Ranger", + "Ranger 2WD", + "Ranger 2WD FFV", + "Ranger 2WD Incomplete", + "Ranger 4WD", + "Ranger 4WD FFV", + "Ranger Pickup 2WD", + "Ranger Pickup 4WD", + "Ranger Pickup Cab Chassis", + "Ranger Pickup Cab Chassis 2WD", + "Ranger RAPTOR 4WD", + "Ranger Tremor 4WD", + "S-Max", + "Shelby GT350 Mustang", + "Shelby GT500 Mustang", + "Sierra", + "Street Ka", + "Taurus", + "Taurus AWD", + "Taurus AWD FFV", + "Taurus FFV", + "Taurus FWD", + "Taurus FWD FFV", + "Taurus SHO", + "Taurus Wagon", + "Taurus Wagon 3.0 A/C", + "Taurus Wagon FFV", + "Taurus Wagon V6 A/C", + "Taurus X", + "Taurus X AWD", + "Taurus X FWD", + "Tempo", + "Tempo AWD", + "Tempo FS", + "Th!nk", + "Thunderbird", + "Tourneo Connect", + "Tourneo Custom", + "Transit", + "Transit Bus", + "Transit Connect", + "Transit Connect LWB", + "Transit Connect USPS", + "Transit Connect Van", + "Transit Connect Van 2WD", + "Transit Connect Van FFV", + "Transit Connect Van FWD", + "Transit Connect Wagon FFV", + "Transit Connect Wagon FWD", + "Transit Connect Wagon LWB FFV", + "Transit Connect Wagon LWB FWD", + "Transit Courier", + "Transit Custom", + "Transit T150 Wagon", + "Transit T150 Wagon 2WD FFV", + "Transit T150 Wagon 4WD FFV", + "Transit T150 Wagon FFV", + "Transit Tourneo", + "Transit Valnik", + "Transit Van", + "Transit Van 350", + "Transit kombi", + "Windstar", + "Windstar FWD Cargo Van", + "Windstar FWD Van", + "Windstar FWD Wagon", + "ZX2 Escort" + ], + "GMC": [ + "Acadia", + "Acadia AWD", + "Acadia FWD", + "Acadia Limited AWD", + "Acadia Limited FWD", + "C15 Pickup 2WD", + "C15 Suburban 2WD", + "C25 Pickup 2WD", + "C2500 Sierra 2WD", + "Caballero", + "Caballero Pickup 2WD", + "Canyon", + "Canyon 2WD", + "Canyon 4WD", + "Canyon AT4X 4WD", + "Canyon AT4X AEV 4WD", + "Canyon Cab Chassis 2WD", + "Canyon Cab Chassis Inc 2WD", + "Canyon Cab Chassis Inc 4WD", + "Canyon Crew Cab 2WD", + "Canyon Crew Cab 4WD", + "Canyon Mud Terrain Tires 4WD", + "EV1", + "Envoy", + "Envoy 2WD", + "Envoy 4WD", + "Envoy XL", + "Envoy XL 2WD", + "Envoy XL 4WD", + "Envoy XUV", + "Envoy XUV 2WD", + "Envoy XUV 4WD", + "G15/25 Rally 2WD", + "G15/25 Vandura 2WD", + "G35 Rally 2WD", + "G35 Vandura 2WD", + "Hummer EV Pickup", + "Hummer EV Pickup MT Tires", + "Hummer EV SUV", + "Hummer EV SUV MT Tires", + "Jimmy", + "Jimmy 2WD", + "Jimmy 4WD", + "Jimmy AWD", + "Jimmy Sonoma 2WD", + "Jimmy Sonoma 4WD", + "Jimmy V1500 4WD", + "K15 Jimmy 4WD", + "K15 Pickup 4WD", + "K15 Suburban 4WD", + "K25 Pickup 4WD", + "K2500 Sierra 4WD", + "R15 Pickup 2WD", + "R15 Suburban 2WD", + "R1500 Suburban 2WD", + "R25 Pickup 2WD", + "Rally G15/25 2WD", + "Rally G15/25 2WD (passenger)", + "Rally G35 2WD", + "Rally Wagon", + "S15 Cab Chassis 2WD", + "S15 Jimmy", + "S15 Jimmy 2WD", + "S15 Jimmy 4WD", + "S15 Pickup", + "S15 Pickup 2WD", + "S15 Pickup 4WD", + "S15 Utility Body 2WD", + "Safari", + "Safari 2WD (Passenger)", + "Safari 2WD (cargo)", + "Safari 2WD (passenger)", + "Safari 2WD Conversion (cargo)", + "Safari AWD (Passenger)", + "Safari AWD (cargo)", + "Safari AWD (passenger)", + "Safari AWD Conversion (cargo)", + "Savana", + "Savana (cargo) (Bi-fuel)", + "Savana 15/25 2WD Conversion (cargo)", + "Savana 15/25 AWD Conversion (cargo)", + "Savana 1500 2WD Conversion (cargo)", + "Savana 1500 AWD (cargo)", + "Savana 1500 AWD Conversion (cargo)", + "Savana 1500 2WD (Passenger)", + "Savana 1500 2WD (cargo)", + "Savana 1500 2WD Conversion (cargo)", + "Savana 1500 AWD (Passenger)", + "Savana 1500 AWD (cargo)", + "Savana 1500 AWD Conversion (cargo)", + "Savana 1500/2500 2WD (Passenger)", + "Savana 1500/2500 2WD (Passenger)", + "Savana 1500/2500 2WD (cargo)", + "Savana 1500/2500 2WD (passenger)", + "Savana 1500/2500 AWD (cargo)", + "Savana 2500 2WD (Passenger)", + "Savana 2500 2WD (cargo)", + "Savana 2500 2WD Conversion (cargo)", + "Savana 3500 2WD (Passenger)", + "Savana 3500 2WD (cargo)", + "Savana Cargo (dedicated CNG)", + "Savana Passenger (Bi-fuel)", + "Savana Passenger (dedicated CNG)", + "Sierra 15 Hybrid 2WD", + "Sierra 15 Hybrid 4WD", + "Sierra 1500 2WD", + "Sierra 1500 4WD", + "Sierra 1500 AWD", + "Sierra 2500 2WD", + "Sierra 2500 4WD", + "Sierra 2500 HD 2WD CNG", + "Sierra 2500 HD 4WD CNG", + "Sierra 2500 Hd 2WD", + "Sierra 2WD", + "Sierra 4WD", + "Sierra 4WD AT4", + "Sierra 4WD AT4X", + "Sierra C/K1500", + "Sierra C/K2500", + "Sierra C/K3500", + "Sierra C10 2WD", + "Sierra C10 Cab Chassis 2WD", + "Sierra C10 XFE 2WD", + "Sierra C15 2WD", + "Sierra C15 Cab Chassis 2WD", + "Sierra C15 XFE 2WD", + "Sierra Cab Chassis 2WD", + "Sierra Cab Chassis 4WD", + "Sierra Classic 15 Hybrid 2WD", + "Sierra Classic 15 Hybrid 4WD", + "Sierra Classic 1500 2WD", + "Sierra Classic 1500 4WD", + "Sierra Classic 1500 AWD", + "Sierra Denali 1500 AWD", + "Sierra K10 4WD", + "Sierra K10 4WD AT4", + "Sierra K10 Cab Chassis 4WD", + "Sierra K15 4WD", + "Sierra K15 AWD", + "Sierra K15 Cab Chassis 4WD", + "Sierra LTD C15 2WD", + "Sierra LTD K15 4WD", + "Sierra Mud Terrain Tires 4WD", + "Sonoma", + "Sonoma 2WD", + "Sonoma 2WD (FFV)", + "Sonoma 4WD", + "Suburban", + "Suburban 1500 2WD", + "Suburban 1500 4WD", + "Suburban V1500 4WD", + "Syclone", + "T15 (S15) Jimmy 4WD", + "T15 (S15) Pickup 4WD", + "Terrain", + "Terrain AWD", + "Terrain FWD", + "TopKick C4500", + "Typhoon", + "V15 Jimmy 4WD", + "V15 Pickup 4WD", + "V15 Suburban 4WD", + "V25 Pickup 4WD", + "Vandura", + "Vandura 2500 2WD", + "Vandura G15/25 2WD", + "Vandura G15/25 2WD (cargo)", + "Vandura G35 2WD", + "Vandura G35 2WD", + "Vandura G35 2WD (cargo)", + "Yukon", + "Yukon 1500 2WD", + "Yukon 1500 4WD", + "Yukon 1500 AWD", + "Yukon 1500 Hybrid 2WD", + "Yukon 1500 Hybrid 4WD", + "Yukon 1500 XFE 2WD", + "Yukon 2WD", + "Yukon 4WD", + "Yukon C10 2WD", + "Yukon C1500 2WD", + "Yukon C1500 XL 2WD", + "Yukon Denali 1500 AWD", + "Yukon Denali 1500 Hybrid 4WD", + "Yukon Denali K10 AWD", + "Yukon Denali XL 1500 AWD", + "Yukon K10 4WD", + "Yukon K1500 4WD", + "Yukon K1500 XL 4WD", + "Yukon XL", + "Yukon XL 1500 2WD", + "Yukon XL 1500 4WD", + "Yukon XL 1500 AWD", + "Yukon XL 2500 2WD", + "Yukon XL 2500 4WD", + "Yukon XL 2WD", + "Yukon XL 4WD", + "Yukon XL C10 2WD", + "Yukon XL K10 4WD", + "Yukon XL K10 AWD" + ], + "General Motors": [ + "Coachbuilder Wagon" + ], + "Genesis": [ + "Electrified G80", + "Electrified GV70", + "G70 AWD", + "G70 RWD", + "G80 AWD", + "G80 RWD", + "G90 AWD", + "G90 MHEV", + "G90 RWD", + "GV60 ADVANCE", + "GV60 Advanced (19 inch Wheels)", + "GV60 Advanced (20 inch Wheels)", + "GV60 PERFORMANCE", + "GV60 Standard", + "GV70 AWD", + "GV80 AWD", + "GV80 RWD" + ], + "Geo": [ + "Metro", + "Metro LSI", + "Metro LSI Convertible", + "Metro XFI", + "Prizm", + "Spectrum", + "Storm", + "Tracker", + "Tracker 4WD", + "Tracker Convertible 2WD", + "Tracker Convertible 4WD", + "Tracker Convertible 4x4", + "Tracker Hardtop 4WD", + "Tracker Van 2WD", + "Tracker Van 4WD", + "Tracker Van 4x4" + ], + "Goldacre": [ + "Goldacre Limited" + ], + "Grumman Allied Industries": [ + "LLV" + ], + "Grumman Olson": [ + "Kubvan" + ], + "Honda": [ + "Accord", + "Accord 2.0T Sport/Touring", + "Accord Coupe", + "Accord Coupé", + "Accord Crosstour", + "Accord Crosstour 2WD", + "Accord Crosstour 4WD", + "Accord Hybrid", + "Accord Hybrid Sport/Touring", + "Accord Plug-in Hybrid", + "Accord Sport/Touring", + "Accord Tourer", + "Accord Wagon", + "CR-V", + "CR-V 2WD", + "CR-V 4WD", + "CR-V AWD", + "CR-V FWD", + "CR-V Hybrid AWD", + "CR-V Hybrid FWD", + "CR-X", + "CR-Z", + "CRX", + "City", + "Civic", + "Civic 2Dr", + "Civic 4Dr", + "Civic 5Dr", + "Civic 5Dr - Type R", + "Civic 5Dr Sport", + "Civic Aerodeck", + "Civic CNG", + "Civic CRX", + "Civic CRX HF", + "Civic Coupé", + "Civic Del Sol", + "Civic HB VX", + "Civic HF", + "Civic HX", + "Civic Hybrid", + "Civic Natural Gas", + "Civic Si 2Dr", + "Civic Si 4Dr", + "Civic Tourer", + "Civic Type R", + "Civic Wagon", + "Civic Wagon 4WD", + "Clarity EV", + "Clarity FCV", + "Clarity Plug-in Hybrid", + "Crosstour", + "Crosstour 2WD", + "Crosstour 4WD", + "Del Sol", + "EV Plus", + "Element", + "Element 2WD", + "Element 4WD", + "FCX Clarity", + "FR-V", + "Fit", + "Fit EV", + "HR-V", + "HR-V 2WD", + "HR-V 4WD", + "HR-V AWD", + "HR-V FWD", + "Insight", + "Insight Touring", + "Integra", + "Jazz", + "Legend", + "Odyssey", + "Passport", + "Passport 2WD", + "Passport 4WD", + "Passport AWD", + "Passport FWD", + "Pilot", + "Pilot 2WD", + "Pilot 4WD", + "Pilot AWD", + "Pilot AWD Touring/Elite/Black", + "Pilot AWD TrailSport", + "Pilot FWD", + "Prelude", + "Prologue AWD Elite", + "Prologue AWD Touring", + "Prologue FWD", + "Ridgeline", + "Ridgeline AWD", + "Ridgeline AWD TrailSport", + "Ridgeline FWD", + "Ridgeline Truck 4WD", + "S2000" + ], + "Hummer": [ + "H2", + "H3", + "H3 4WD", + "H3T 4WD" + ], + "Hyundai": [ + "Accent", + "Accent (SOHC)", + "Accent (Sporty)", + "Accent Blue", + "Accent/Brio", + "Atos", + "Atos Prime", + "Azera", + "Azera Limited", + "Coupé", + "Elantra", + "Elantra Blue", + "Elantra Coupe", + "Elantra GT", + "Elantra Hatchback", + "Elantra Hybrid", + "Elantra Hybrid Blue", + "Elantra Limited", + "Elantra N", + "Elantra SE", + "Elantra Touring", + "Elantra Wagon", + "Entourage", + "Equus", + "Excel", + "Galloper", + "Genesis", + "Genesis AWD", + "Genesis Coupe", + "Genesis R Spec", + "Genesis R-Spec", + "Genesis RWD", + "Getz", + "Grandeur", + "H 350", + "H1", + "H1 Bus", + "H1 Van", + "H200", + "Ioniq", + "Ioniq 5 AWD (Long Range)", + "Ioniq 5 Long range AWD", + "Ioniq 5 Long range RWD", + "Ioniq 5 RWD (Long Range)", + "Ioniq 5 RWD (Standard Range)", + "Ioniq 5 Standard range RWD", + "Ioniq 6 Long range AWD (18 inch Wheels)", + "Ioniq 6 Long range AWD (20 inch Wheels)", + "Ioniq 6 Long range RWD (18 inch Wheels)", + "Ioniq 6 Long range RWD (20 inch Wheels)", + "Ioniq 6 Standard Range RWD", + "Ioniq Blue", + "Ioniq Electric", + "Ioniq Plug-in Hybrid", + "J-Car/Elantra", + "Kona AWD", + "Kona Electric", + "Kona Electric Long Range", + "Kona Electric Standard Range", + "Kona FWD", + "Kona N", + "Lantra", + "Matrix", + "Nexo", + "Nexo Blue", + "Palisade AWD", + "Palisade FWD", + "Pony Excel", + "Precis", + "Santa Cruz AWD", + "Santa Cruz FWD", + "Santa Fe", + "Santa Fe 2WD", + "Santa Fe 4WD", + "Santa Fe AWD", + "Santa Fe AWD XRT", + "Santa Fe FWD", + "Santa Fe Hybrid", + "Santa Fe Hybrid Blue", + "Santa Fe Plug-in Hybrid", + "Santa Fe Sport 2WD", + "Santa Fe Sport 4WD", + "Santa Fe Sport AWD", + "Santa Fe Sport FWD", + "Santa Fe Sport Ultimate AWD", + "Santa Fe Sport Ultimate FWD", + "Santa Fe Ultimate 2WD", + "Santa Fe Ultimate 4WD", + "Santa Fe Ultimate AWD", + "Santa Fe Ultimate FWD", + "Santa Fe XL AWD", + "Santa Fe XL FWD", + "Santa Fe XL Ultimate AWD", + "Santa Fe XL Ultimate FWD", + "Scoupe", + "Sonata", + "Sonata (Y-3)", + "Sonata AWD", + "Sonata FWD", + "Sonata Hybrid", + "Sonata Hybrid Blue", + "Sonata Hybrid Limited", + "Sonata Hybrid SE", + "Sonata Limited", + "Sonata Plug-in Hybrid", + "Sonata SE", + "Sonata Sport Limited", + "Terracan", + "Tiburon", + "Tiburon (Coupe)", + "Trajet", + "Tucson", + "Tucson 2WD", + "Tucson 4WD", + "Tucson AWD", + "Tucson Eco AWD", + "Tucson Eco FWD", + "Tucson FWD", + "Tucson Fuel Cell", + "Tucson Hybrid", + "Tucson Hybrid Blue", + "Tucson Plug-in Hybrid", + "Veloster", + "Veloster N", + "Venue", + "Veracruz", + "Veracruz 2WD", + "Veracruz 4WD", + "XG300", + "XG350", + "i10", + "i20", + "i30", + "i30 CW", + "i40", + "i40 CW", + "ix20", + "ix35", + "ix55" + ], + "INEOS Automotive": [ + "Grenadier", + "Grenadier Trialmaster Edition" + ], + "Import Foreign Auto Sales Inc": [ + "1fas 410" + ], + "Import Trade Services": [ + "BMW 325I", + "BMW 325i", + "ITS 190E", + "ITS 190E 2.0", + "ITS 190E 2.3", + "ITS 200TE", + "ITS 230CE", + "ITS 230TE", + "ITS 320", + "ITS 520", + "MB 300E", + "MB 300SL" + ], + "Infiniti": [ + "EX", + "EX35", + "EX35 AWD", + "EX37", + "EX37 AWD", + "FX", + "FX35", + "FX35 2WD", + "FX35 AWD", + "FX35 RWD", + "FX37", + "FX37 AWD", + "FX37 RWD", + "FX45", + "FX45 AWD", + "FX50", + "FX50 AWD", + "G", + "G Coupé", + "G20", + "G25", + "G25x", + "G35", + "G35 Coupe", + "G35x", + "G37", + "G37 Convertible", + "G37 Coupe", + "G37x", + "G37x Coupe", + "I30", + "I35", + "J30", + "JX35", + "JX35 AWD", + "JX35 FWD", + "M", + "M30", + "M35", + "M35h", + "M35x", + "M37", + "M37x", + "M45", + "M45x", + "M56", + "M56x", + "Q", + "Q40", + "Q40 AWD", + "Q45", + "Q45 Full-Active Suspension", + "Q45 Sport", + "Q50", + "Q50 AWD", + "Q50 Hybrid", + "Q50 Hybrid AWD", + "Q50 Red Sport", + "Q50 Red Sport AWD", + "Q50S", + "Q50S AWD", + "Q50S Hybrid", + "Q50S Hybrid AWD", + "Q50S Red Sport", + "Q50S Red Sport AWD", + "Q50a", + "Q50a AWD", + "Q60", + "Q60 AWD", + "Q60 AWD Coupe", + "Q60 Convertible", + "Q60 Coupe", + "Q60 Red Sport", + "Q60 Red Sport AWD", + "Q60S Red Sport", + "Q60S Red Sport AWD", + "Q70", + "Q70 AWD", + "Q70 Hybrid", + "QX", + "QX30", + "QX30 AWD", + "QX4", + "QX4 2WD", + "QX4 4WD", + "QX50", + "QX50 AWD", + "QX55 AWD", + "QX56", + "QX56 2WD", + "QX56 4WD", + "QX60 AWD", + "QX60 FWD", + "QX60 Hybrid AWD", + "QX60 Hybrid FWD", + "QX70 AWD", + "QX70 RWD", + "QX80 2WD", + "QX80 4WD", + "QX80 4WD (over 6000 lbs curb weight)" + ], + "Isis Imports Ltd": [ + "Morgan Plus 8" + ], + "Isuzu": [ + "750C/I-Mark", + "Amigo", + "Amigo 2WD", + "Amigo 4WD", + "Ascender", + "Ascender 2WD", + "Ascender 4WD", + "Ascender 5-passenger 2WD", + "Ascender 5-passenger 4WD", + "Ascender 7-passenger 2WD", + "Ascender 7-passenger 4WD", + "Axiom", + "Axiom 2WD", + "Axiom 4WD", + "Hombre", + "Hombre Pickup 2WD", + "Hombre Pickup 2WD (FFV)", + "Hombre Pickup 4WD", + "I-Mark", + "Impulse", + "Oasis", + "Pickup", + "Pickup 2WD", + "Pickup 2WD 1-Ton", + "Pickup 4WD", + "Rodeo", + "Rodeo 2WD", + "Rodeo 4WD", + "Rodeo Sport 2WD", + "Rodeo Sport 4WD", + "Stylus", + "Trooper", + "Trooper 2WD", + "Trooper 4WD", + "Trooper II", + "VehiCROSS", + "Vehicross", + "Vehicross 4WD", + "i-280", + "i-280 Extended Cab 2WD", + "i-290", + "i-290 Extended Cab 2WD", + "i-350", + "i-350 Crew Cab 4WD", + "i-370", + "i-370 Crew Cab 2WD", + "i-370 Crew Cab 4WD", + "i-370 Extended Cab 2WD" + ], + "J.K. Motors": [ + "190E 2.3 MERC BENZ", + "230E MERC BENZ", + "300CE MERC BENZ", + "300E MERC BENZ", + "300SL", + "300SL MERC BENZ", + "300TE MERC BENZ", + "BMW535I", + "BMW635CSI", + "BMW635L6", + "BMW735I", + "BMW735IL", + "MERC BENZ 300CE", + "MERC BENZ 300E", + "MERC BENZ 300SE", + "MERC BENZ 300SEL", + "MERC BENZ 300TE", + "MERC.BENZ 260E", + "MERC.BENZ.300SE", + "PORSCHE 928 S4", + "Testarossa" + ], + "JBA Motorcars, Inc.": [ + "W-126/4 Series" + ], + "Jaguar": [ + "Daimler", + "E-Pace", + "E-Pace (296 Hp)", + "E-Pace MHEV", + "E-Pace P250", + "E-Pace P300", + "F-Pace", + "F-Pace (296 Hp)", + "F-Pace 30t", + "F-Pace MHEV", + "F-Pace P340 MHEV", + "F-Pace P400 MHEV", + "F-Pace SVR", + "F-Type", + "F-Type AWD Convertible", + "F-Type AWD Coupe", + "F-Type Convertible", + "F-Type Coupe", + "F-Type P450 AWD R-Dynamic Convertible", + "F-Type P450 AWD R-Dynamic Coupe", + "F-Type P450 RWD Convertible", + "F-Type P450 RWD Coupe", + "F-Type R AWD Convertible", + "F-Type R AWD Coupe", + "F-Type R Convertible", + "F-Type R Coupe", + "F-Type S AWD Convertible", + "F-Type S AWD Coupe", + "F-Type S Convertible", + "F-Type S Coupe", + "F-Type SVR AWD Convertible", + "F-Type SVR AWD Convertible GEN2", + "F-Type SVR AWD Coupe", + "F-Type SVR AWD Coupe GEN2", + "F-Type V8 S Convertible", + "I-Pace", + "I-Pace EV400", + "I-Pace EV400 (20 inch tires)", + "I-Pace EV400 (22 inch tires)", + "S-Type", + "S-Type 3.0 Litre", + "S-Type 4.2 Litre", + "S-Type R", + "S-type (X200) V6", + "S-type (X200) V8", + "Sovereign", + "Super V8", + "Vanden Plas", + "Vanden Plas S.C.", + "Vanden Plas S/C", + "Vdp", + "Vdp 4.2 Litre", + "Vdp Lwb", + "X-Type", + "X-Type Sport Brake", + "X-type Estate", + "XE", + "XE (296 Hp)", + "XE 30t", + "XE AWD", + "XE AWD (296 Hp)", + "XE AWD 30t", + "XE P250", + "XE P250 AWD", + "XE P300 AWD", + "XF", + "XF (296 Hp)", + "XF 30t", + "XF AWD", + "XF AWD (296 Hp)", + "XF AWD 30t", + "XF FFV", + "XF P250", + "XF P250 AWD", + "XF P300 AWD", + "XF Sportbrake AWD", + "XF Supercharged", + "XJ", + "XJ AWD", + "XJ FFV", + "XJ LWB", + "XJ LWB AWD", + "XJ Sport", + "XJ Vanden Plas", + "XJ-S", + "XJ-SC", + "XJ12", + "XJ6", + "XJ6L", + "XJ8", + "XJ8 4.2 Litre", + "XJ8 L", + "XJ8L", + "XJ8l", + "XJL", + "XJL AWD", + "XJL FFV", + "XJR", + "XJR 4.2 Litre", + "XJR-S", + "XJRS Convertble", + "XJRS Coupe", + "XJS", + "XJS Convertible", + "XJS Coupe", + "XJS V12 Convertible", + "XJS V12 Coupe", + "XK", + "XK Convertible", + "XK8", + "XK8 Convertible", + "XKR", + "XKR Convertible" + ], + "Jeep": [ + "CJ", + "CJ7", + "CJ7 4WD", + "CJ8 4WD", + "Cherokee", + "Cherokee 2WD", + "Cherokee 4WD", + "Cherokee 4WD Active Drive II", + "Cherokee FWD", + "Cherokee Trailhawk 4WD", + "Cherokee/Wagoneer", + "Cherokee/Wagoneer 2WD", + "Cherokee/Wagoneer 4WD", + "Comanche", + "Comanche 2WD", + "Comanche 4WD", + "Comanche Pickup 2WD", + "Comanche Pickup 4WD", + "Commander", + "Commander 2WD", + "Commander 4WD", + "Compass", + "Compass 2WD", + "Compass 4WD", + "Compass FWD", + "Gladiator 4WD", + "Gladiator EcoDiesel 4WD", + "Gladiator Pickup 4WD", + "Gladiator Rubic EcoDiesel 4WD", + "Gladiator Rubicon EcoDiesel 4WD", + "Grand Cherokee", + "Grand Cherokee 2WD", + "Grand Cherokee 4WD", + "Grand Cherokee 4xe", + "Grand Cherokee L 2WD", + "Grand Cherokee L 4WD", + "Grand Cherokee SRT 4WD", + "Grand Cherokee SRT8", + "Grand Cherokee SRT8 4WD", + "Grand Cherokee SRT8 AWD", + "Grand Cherokee TrackHawk 4WD", + "Grand Cherokee Trackhawk 4WD", + "Grand Cherokee WK 2WD", + "Grand Cherokee WK 4WD", + "Grand Wagoneer", + "Grand Wagoneer 2WD", + "Grand Wagoneer 4WD", + "Grand Wagoneer L 4WD", + "J-10 Pickup 4WD", + "J-10 Pickup Truck", + "J-10 Pickup Truck 4WD", + "J-20 Pickup Truck", + "J-20 Pickup Truck 4WD", + "Liberty", + "Liberty 2WD", + "Liberty 4WD", + "Liberty/Cherokee 2WD", + "Liberty/Cherokee 4WD", + "New Compass 2WD", + "New Compass 4WD", + "New Wrangler 4WD", + "New Wrangler Unlimited 4WD", + "Patriot", + "Patriot 2WD", + "Patriot 4WD", + "Patriot FWD", + "Pickup", + "Renegade", + "Renegade 2WD", + "Renegade 4WD", + "Renegade Trailhawk 4WD", + "Scrambler", + "Scrambler Pickup 4WD", + "Wagoneer", + "Wagoneer 2WD", + "Wagoneer 4WD", + "Wagoneer L 2WD", + "Wagoneer L 4WD", + "Wagoneer Limited 4WD", + "Wrangler", + "Wrangler 2WD", + "Wrangler 2dr 4WD", + "Wrangler 4WD", + "Wrangler 4dr 4WD", + "Wrangler 4dr 4xe", + "Wrangler 4dr EcoDiesel 4WD", + "Wrangler Rubic 4dr EcoDiesel 4WD", + "Wrangler Rubicon 2dr 4WD", + "Wrangler Rubicon 4dr 4WD", + "Wrangler Unlimited 4WD", + "Wrangler/TJ 4WD" + ], + "Kandi": [ + "K27" + ], + "Karma": [ + "GS-6 (21-inch wheels)", + "GS-6 (22-inch wheels)", + "Revero", + "Revero GT (21-inch wheels)" + ], + "Kenyon Corporation Of America": [ + "Kenyon 5.0 Cabrio", + "Kenyon 5.0 Coupe", + "Kenyon 5.0 Sedan", + "Kenyon 5.0 Sp Sedan" + ], + "Kia": [ + "Amanti", + "Avella", + "Besta", + "Borrego", + "Borrego 2WD", + "Borrego 4WD", + "Cadenza", + "Carens", + "Carnival", + "Cee`d", + "Cee`d SW", + "Cerato", + "EV6 AWD (Long Range)", + "EV6 AWD GT", + "EV6 Long Range AWD (19 inch Wheels)", + "EV6 Long Range AWD (19 inch tires)", + "EV6 Long Range AWD (20 inch Wheels)", + "EV6 Long Range AWD (20 inch tires)", + "EV6 Long Range RWD", + "EV6 RWD (Long Range)", + "EV6 RWD (Standard Range)", + "EV6 Standard Range RWD", + "EV9 Long Range AWD", + "EV9 Long Range AWD GT-Line", + "EV9 Long Range RWD", + "EV9 Standard Range RWD", + "Forte", + "Forte 5", + "Forte Eco", + "Forte FE", + "Forte Koup", + "K 2500", + "K5", + "K5 AWD", + "K900", + "Magentis", + "Niro", + "Niro Electric", + "Niro FE", + "Niro Plug-in Hybrid", + "Niro Touring", + "Opirus", + "Optima", + "Optima (2006 New Model)", + "Optima FE", + "Optima Hybrid", + "Optima Hybrid EX", + "Optima Plug-in Hybrid", + "Optima S", + "Picanto", + "Pregio", + "Pride", + "Pro Cee`d", + "Rio", + "Rio Combi", + "Rio Eco", + "Rio sedan", + "Rio5", + "Rondo", + "Sedona", + "Sedona SX", + "Sedona SXL", + "Seltos AWD", + "Seltos FWD", + "Sephia", + "Sephia/Spectra", + "Shuma", + "Sorento", + "Sorento 2WD", + "Sorento 4WD", + "Sorento AWD", + "Sorento FE AWD", + "Sorento FWD", + "Sorento Hybrid", + "Sorento Hybrid AWD", + "Sorento Hybrid FWD", + "Sorento Plug-in Hybrid", + "Soul", + "Soul ECO dynamics", + "Soul Eco", + "Soul Eco dynamics", + "Soul Electric", + "Spectra", + "Spectra 1.8L", + "Spectra 2.0L", + "Spectra5", + "Sportage", + "Sportage 2WD", + "Sportage 4WD", + "Sportage AWD", + "Sportage FE AWD", + "Sportage FE FWD", + "Sportage FWD", + "Sportage Hybrid AWD", + "Sportage Hybrid FWD", + "Sportage Plug-in Hybrid", + "Sportage SX AWD", + "Sportage SX FWD", + "Sportage X-pro", + "Stinger AWD", + "Stinger RWD", + "Telluride AWD", + "Telluride FWD", + "Venga" + ], + "Koenigsegg": [ + "Agera RS", + "Regera" + ], + "Laforza Automobile Inc": [ + "Laforza" + ], + "Lambda Control Systems": [ + "300E" + ], + "Lamborghini": [ + "Aventador", + "Aventador Countach", + "Aventador Coupe", + "Aventador Coupe LP740-4", + "Aventador Roadster", + "Aventador Roadster LP740-4", + "Aventador S Coupe", + "Aventador S Roadster", + "Aventador Sian Coupe", + "Aventador Sian Roadster", + "Aventador Veneno Coupe", + "Countach", + "Countach Lp500s", + "DB132/144 - Diablo", + "DB132/144 Diablo", + "DB132/Diablo", + "Diablo", + "Gallardo", + "Gallardo Coupe", + "Gallardo Coupe SL", + "Gallardo Spyder", + "Huracan", + "Huracan 2WD", + "Huracan Coupe", + "Huracan Coupe 2WD", + "Huracan Coupe RWD", + "Huracan Spyder", + "Huracan Spyder 2WD", + "Huracan Spyder RWD", + "Huracan Sterrato", + "Jalpa", + "L-140/141 Gallardo", + "L-140/715 Gallardo", + "L-147 Murcielago", + "L-147/148 Murcielago", + "LM002", + "Murcielago", + "Murcielago Reventon", + "Murcielago Reventon Roadster", + "Murcielago Roadster", + "Urus", + "Urus Performante", + "Urus S", + "Veneno Roadster" + ], + "Land Rover": [ + "109", + "Defender", + "Defender 110", + "Defender 110 MHEV", + "Defender 130 Outbound", + "Defender 130 P300 MHEV", + "Defender 130 P400 MHEV", + "Defender 90", + "Defender 90 MHEV", + "Discovery", + "Discovery MHEV", + "Discovery Series II", + "Discovery Sport", + "Discovery Sport (286 Hp)", + "Discovery Sport MHEV", + "Discovery Sport Si4", + "Evoque", + "Evoque MHEV", + "Freelander", + "Freelander 3 Door", + "Freelander 5 Door", + "LR2", + "LR3", + "LR4", + "New Range Rover", + "New Range Rover LWB", + "New Range Rover P360 LWB MHEV", + "New Range Rover P360 MHEV", + "New Range Rover P400 LWB MHEV", + "New Range Rover P400 MHEV", + "New Range Rover P440 PHEV", + "New Range Rover Sport", + "New Range Rover Sport P360 MHEV", + "New Range Rover Sport P400 MHEV", + "New Range Rover Sport P440 PHEV", + "Range Rover", + "Range Rover 4.0", + "Range Rover 4.6", + "Range Rover County", + "Range Rover County Classic", + "Range Rover County LWB", + "Range Rover Evoque", + "Range Rover Evoque (286 Hp)", + "Range Rover Evoque 237HP", + "Range Rover Evoque 286HP", + "Range Rover Evoque Cabriolet", + "Range Rover Evoque Convertible", + "Range Rover Evoque MHEV", + "Range Rover FFV", + "Range Rover L FFV", + "Range Rover LWB", + "Range Rover LWB MHEV", + "Range Rover LWB SVA", + "Range Rover MHEV", + "Range Rover P360 LWB MHEV", + "Range Rover P360 MHEV", + "Range Rover P400 LWB MHEV", + "Range Rover P400 MHEV", + "Range Rover PHEV", + "Range Rover SV Coupe", + "Range Rover SV LWB MHEV", + "Range Rover SV MHEV", + "Range Rover SVA", + "Range Rover Sport", + "Range Rover Sport FFV", + "Range Rover Sport MHEV", + "Range Rover Sport P360 MHEV", + "Range Rover Sport P400 MHEV", + "Range Rover Sport PHEV", + "Range Rover Sport SVR", + "Range Rover Sport SVR MHEV", + "Range Rover Sport TDV6", + "Range Rover TDV6", + "Range Rover Velar", + "Range Rover Velar P300", + "Range Rover Velar P340 MHEV", + "Range Rover Velar P380", + "Range Rover Velar P400 MHEV" + ], + "Lexus": [ + "CT", + "CT 200h", + "ES 250", + "ES 250 AWD", + "ES 300", + "ES 300h", + "ES 330", + "ES 350", + "ES 350 F Sport", + "GS", + "GS 200t", + "GS 200t F Sport", + "GS 300", + "GS 300 4WD", + "GS 300 F Sport", + "GS 300/GS 400", + "GS 300/GS 430", + "GS 350", + "GS 350 AWD", + "GS 350 F Sport", + "GS 400", + "GS 430", + "GS 450h", + "GS 460", + "GS F", + "GS300", + "GX", + "GX 460", + "GX 470", + "GX 550", + "HS 250h", + "IS", + "IS 200", + "IS 200t", + "IS 250", + "IS 250 AWD", + "IS 250 C", + "IS 250/IS 250C", + "IS 250C", + "IS 300", + "IS 300 AWD", + "IS 350", + "IS 350 AWD", + "IS 350 C", + "IS 350/IS 350C", + "IS 350C", + "IS 500", + "IS F", + "IS-F", + "LC 500", + "LC 500 Convertible", + "LC 500h", + "LFA", + "LS", + "LS 400", + "LS 430", + "LS 460", + "LS 460 AWD", + "LS 460 L", + "LS 460 L AWD", + "LS 500", + "LS 500 AWD", + "LS 500h", + "LS 500h AWD", + "LS 600h", + "LS 600h L", + "LX", + "LX 450", + "LX 470", + "LX 570", + "LX 600", + "NX", + "NX 200t", + "NX 200t AWD", + "NX 200t AWD F Sport", + "NX 250", + "NX 250 AWD", + "NX 300", + "NX 300 AWD", + "NX 300 AWD F Sport", + "NX 300h", + "NX 300h AWD", + "NX 350 AWD", + "NX 350 AWD F Sport", + "NX 350h AWD", + "NX 450h Plus AWD", + "RC 200t", + "RC 300", + "RC 300 AWD", + "RC 350", + "RC 350 AWD", + "RC F", + "RX", + "RX 300", + "RX 300 4WD", + "RX 330", + "RX 330 2WD", + "RX 330 4WD", + "RX 350", + "RX 350 2WD", + "RX 350 4WD", + "RX 350 AWD", + "RX 350 L", + "RX 350 L AWD", + "RX 350h AWD", + "RX 400h", + "RX 400h 2WD", + "RX 400h 4WD", + "RX 450h", + "RX 450h AWD", + "RX 450h L AWD", + "RX 500h AWD", + "RZ 300e (18 inch wheels)", + "RZ 300e (20 inch wheels)", + "RZ 450e AWD (18 inch Wheels)", + "RZ 450e AWD (18 inch wheels)", + "RZ 450e AWD (20 inch Wheels)", + "RZ 450e AWD (20 inch wheels)", + "SC", + "SC 300", + "SC 300/SC 400", + "SC 300/SC 430", + "SC 400", + "SC 430", + "TX 350", + "TX 350 AWD", + "TX 500h AWD", + "UX 200", + "UX 250h", + "UX 250h AWD", + "UX 300h", + "UX 300h AWD" + ], + "Lincoln": [ + "Aviator", + "Aviator 2WD", + "Aviator 4WD", + "Aviator AWD", + "Aviator PHEV AWD", + "Aviator RWD", + "Blackwood", + "Blackwood 2WD", + "Continental", + "Continental AWD", + "Continental FWD", + "Continental Coach", + "Corsair AWD", + "Corsair AWD PHEV", + "Corsair FWD", + "LS", + "MKC AWD", + "MKC FWD", + "MKS", + "MKS AWD", + "MKS FWD", + "MKT", + "MKT AWD", + "MKT FWD", + "MKT Hearse AWD", + "MKT Limo AWD", + "MKT Livery AWD", + "MKT Livery FWD", + "MKX", + "MKX AWD", + "MKX FWD", + "MKZ", + "MKZ AWD", + "MKZ FWD", + "MKZ Hybrid FWD", + "Mark LT", + "Mark LT 4WD", + "Mark VI", + "Mark VII", + "Mark VIII", + "Nautilus AWD", + "Nautilus FWD", + "Nautilus HEV AWD", + "Navigator", + "Navigator 2WD", + "Navigator 2WD FFV", + "Navigator 4WD", + "Navigator 4WD FFV", + "Navigator L", + "Navigator L 2WD", + "Navigator L 4WD", + "Navigator Limo. 2WD FFV", + "Town Car", + "Town Car FFV", + "Zephyr" + ], + "London Coach Co Inc": [ + "London Taxi" + ], + "London Taxi": [ + "London Taxi" + ], + "Lordstown": [ + "Endurance" + ], + "Lotus": [ + "98 Esprit V8", + "Elan", + "Elise", + "Elise/Exige", + "Elise/exige", + "Emira", + "Esprit", + "Esprit Turbo", + "Esprit Turbo HC PI", + "Esprit V8", + "Evora", + "Evora GT", + "Exige" + ], + "Lucid": [ + "Air Dream P AWD w/19 inch wheels", + "Air Dream P AWD w/21 inch wheels", + "Air Dream R AWD w/19 inch wheels", + "Air Dream R AWD w/21 inch wheels", + "Air G Touring AWD w/19 inch wheels", + "Air G Touring AWD w/21 inch wheels", + "Air G Touring XR AWD with 19 inch wheels", + "Air G Touring XR AWD with 20 inch wheels", + "Air G Touring XR AWD with 21 inch wheels", + "Air G Touring XR AWD with19 inch wheels", + "Air GT P AWD with 21 inch wheels", + "Air Pure AWD with 19 inch wheels", + "Air Pure AWD with 20 inch wheels", + "Air Pure RWD with 19 inch wheels", + "Air Pure RWD with 20 inch wheels", + "Air Sapphire AWD", + "Air Touring AWD with 19 inch wheels", + "Air Touring AWD with 20 inch wheels", + "Air Touring AWD with 21 inch wheels", + "Air Touring AWD with 21inch wheels" + ], + "MINI": [ + "Clubman", + "Clubman S", + "Cooper", + "Cooper (3-doors)", + "Cooper (5-doors)", + "Cooper Cabrio", + "Cooper Clubman", + "Cooper Clubman All4", + "Cooper Clubvan", + "Cooper Convertible", + "Cooper Countryman", + "Cooper Countryman All4", + "Cooper Countryman Coupe", + "Cooper Coupe", + "Cooper D", + "Cooper D Clubman", + "Cooper Hardtop 2 door", + "Cooper Hardtop 4 door", + "Cooper Paceman", + "Cooper Roadster", + "Cooper S", + "Cooper S (3-doors)", + "Cooper S (5-doors)", + "Cooper S Cabrio", + "Cooper S Clubman", + "Cooper S Clubman All4", + "Cooper S Convertible", + "Cooper S Countryman", + "Cooper S Countryman All4", + "Cooper S Countryman Coupe", + "Cooper S Countryman Coupe All4", + "Cooper S Coupe", + "Cooper S Hardtop 2 door", + "Cooper S Hardtop 4 door", + "Cooper S JCWorks GP Kit", + "Cooper S Paceman", + "Cooper S Paceman All4", + "Cooper S Roadster", + "Cooper SE Countryman All4", + "Cooper SE Hardtop 2 door", + "Countryman", + "Countryman S All4", + "JCW Countryman All4", + "JCW Countryman Coupe All4", + "JCW Paceman All4", + "John Cooper Works", + "John Cooper Works Clubman", + "John Cooper Works Clubman All4", + "John Cooper Works Convertible", + "John Cooper Works Coupe", + "John Cooper Works GP", + "John Cooper Works GP-2", + "John Cooper Works Hardtop", + "John Cooper Works Hardtop 2 door", + "John Cooper Works Roadster", + "Mini One", + "MiniE", + "One D" + ], + "Mahindra": [ + "TR40" + ], + "Maserati": [ + "222E", + "225", + "228", + "430", + "Biturbo", + "Biturbo 425", + "Biturbo Spyder", + "Coupe", + "Coupe Cambiocorsa/Coupe GT", + "Coupe Cambiocorsa/GT/G-Sport", + "Coupe Cambiocorsa/coupe GT", + "Coupe and Gransport", + "Ghibli", + "Ghibli S RWD", + "Ghibli V6 RWD", + "Ghibli GT", + "Ghibli Modena AWD", + "Ghibli Modena RWD", + "Ghibli S", + "Ghibli S RWD", + "Ghibli SQ4", + "Ghibli Trofeo", + "Ghibli V6", + "Ghibli V6 AWD", + "Ghibli V6 SQ4", + "Ghibli V6 SQ4 AWD", + "GranSport", + "GranTurismo", + "GranTurismo Convertible", + "GranTurismo Modena", + "GranTurismo Trofeo", + "Grancabrio Folgore", + "Grancabrio Trofeo", + "Granturismo Folgore", + "Grecale GT", + "Grecale Modena", + "Grecale Trofeo", + "Karif", + "Levante", + "Levante GT", + "Levante GTS", + "Levante Modena", + "Levante Modena V8", + "Levante S", + "Levante Trofeo", + "MC20", + "MC20 Spyder", + "Q", + "Quattroporte", + "Quattroporte GT", + "Quattroporte GTS", + "Quattroporte Modena AWD", + "Quattroporte Modena RWD", + "Quattroporte S", + "Quattroporte SQ4", + "Quattroporte SQ4 V6", + "Quattroporte Trofeo", + "Quattroporte V8", + "Quattroporte/QP Sport GT", + "Spider Cambiocorsa/Spider GT", + "Spider Cambiocorsa/spider GT", + "Spyder", + "Spyder Cambiocorsa/GT/90 ANV" + ], + "Maybach": [ + "57", + "57 Zeppelin", + "57S", + "62", + "62S", + "Landaulet" + ], + "Mazda": [ + "121", + "2", + "2500 2WD", + "3", + "3 4-Door", + "3 4-Door 2WD", + "3 4-Door 4WD", + "3 5-Door", + "3 5-Door 2WD", + "3 5-Door 4WD", + "3 DI 4-Door", + "3 DI 5-Door", + "323", + "323 Combi", + "323 Coupé", + "323 F", + "323 Protege 4x4", + "323 Wagon", + "323/323 Protege", + "5", + "6", + "6 Combi", + "6 Sport Wagon", + "626", + "626 Combi", + "626/MX-6", + "929", + "B-Fighter", + "B-Series Pickup", + "B2000", + "B2000/B2200 Pickup 2WD", + "B2000/B2200/B2600", + "B2200/B2600", + "B2200/B2600i", + "B2300 2WD", + "B2300/B3000/B4000 Pickup 2WD", + "B2300/B3000/B4000 Pickup 4WD", + "B2500", + "B2500 2WD", + "B2500/B3000/B4000 2WD", + "B2500/B3000/B4000 4WD", + "B2600 4x4", + "B2600i 4x4", + "B3000", + "B3000 (FFV) Ethanol 2WD", + "B3000 2WD", + "B3000 2WD FFV", + "B3000 4WD", + "B3000 FFV 2WD", + "B3000 FFV 4WD", + "B4000", + "B4000 2WD", + "B4000 4WD", + "BT", + "CX-3", + "CX-3 2WD", + "CX-3 4WD", + "CX-30 2WD", + "CX-30 4WD", + "CX-5", + "CX-5 2WD", + "CX-5 4WD", + "CX-50 4WD", + "CX-7", + "CX-7 2WD", + "CX-7 4WD", + "CX-9", + "CX-9 2WD", + "CX-9 4WD", + "CX-90 4WD", + "Demio", + "GLC", + "GLC Wagon", + "MAZDA2", + "MAZDA3", + "MAZDA5", + "MAZDA6", + "MAZDASPEED3", + "MAZDASPEED6", + "MPV", + "MPV 4WD", + "MPV 4x4", + "MX-3", + "MX-30", + "MX-5", + "MX-5 Miata", + "MX-6", + "MX3", + "MX6", + "Miata MX5", + "Millenia", + "Navajo", + "Navajo 4x4", + "Premacy", + "Protege", + "Protege/Protege 5", + "Protege/Protege MPS", + "Protege5", + "RX-7", + "RX-8", + "Speed 3", + "Tribute", + "Tribute 2WD", + "Tribute 4WD", + "Tribute 4WD FFV", + "Tribute FWD", + "Tribute FWD FFV", + "Tribute Hybrid 2WD", + "Tribute Hybrid 4WD", + "Xedox 6" + ], + "McLaren Automotive": [ + "540C Coupe", + "570GT", + "570S Coupe", + "570S Spider", + "600LT Coupe", + "600LT Spider", + "620R Coupe", + "650S Can-Am", + "650S Coupe", + "650S Spider", + "675LT Coupe", + "675LT Spider", + "720S Coupe", + "720S Coupe LM", + "720S Spider", + "765LT Coupe", + "765LT Spider", + "Artura", + "Elva", + "GT", + "MP4-12C Coupe", + "MP4-12C Spider", + "MSO HS", + "P1", + "Sabre", + "Senna", + "Speedtail" + ], + "Mcevoy Motors": [ + "240 DL/240 GL Sedan", + "240 DL/240 GL Wagon", + "740 GLE Sedan", + "740 GLE Wagon" + ], + "Mercedes-Benz": [ + "100 D", + "115", + "124", + "126", + "190", + "190 D", + "190 D 2.2/190 E 2.3", + "190 E", + "190D", + "190D 2.5", + "190D 2.5 Turbo", + "190E", + "190E 2.3", + "190E 2.3-16", + "190E 2.6", + "200 - 300", + "200 D", + "200 E", + "200E", + "210 Van", + "210 kombi", + "230 - 300 CE Coupé", + "230CE", + "230E", + "230TE", + "240D", + "260 - 560 SE", + "260 - 560 SEL", + "260E", + "280CE", + "280E", + "300CD", + "300CE", + "300D", + "300D 2.5 Turbo", + "300D/300CD", + "300E", + "300E 2.6", + "300E 2.8", + "300E 4Matic", + "300SD", + "300SD/380SE", + "300SDL", + "300SE", + "300SEL", + "300SL", + "300TD", + "300TE", + "300TE 4Matic", + "310 Van", + "310 kombi", + "350SD", + "350SD Turbo", + "350SDL", + "350SDL Turbo", + "380SE", + "380SEC", + "380SEL", + "380SL", + "380SLC", + "400E", + "400SE", + "400SEL", + "420 SE", + "420SE", + "420SEL", + "500 - 600 SEC Coupé", + "500E", + "500SE", + "500SEC", + "500SEL", + "500SEL 5.0L", + "500SEL 5.6L", + "500SL", + "560SE", + "560SEC", + "560SEL", + "560SL", + "600SEC", + "600SEL", + "600SEL/SEC", + "600SL", + "A", + "A L", + "A220", + "A220 4matic", + "AMG A35 4matic", + "AMG C43 4matic", + "AMG C43 4matic Convertible", + "AMG C43 4matic Coupe", + "AMG C63", + "AMG C63 Convertible", + "AMG C63 Coupe", + "AMG C63 S", + "AMG C63 S Convertible", + "AMG C63 S Coupe", + "AMG CLA35 4matic", + "AMG CLA45 4matic", + "AMG CLA45 S 4matic", + "AMG CLS53 4matic Plus", + "AMG CLS63 S 4matic", + "AMG E43 4matic", + "AMG E53 4matic Plus", + "AMG E53 4matic Plus Convertible", + "AMG E53 4matic Plus Coupe", + "AMG E63 4matic", + "AMG E63 S 4matic", + "AMG E63 S 4matic (wagon)", + "AMG E63 S 4matic Plus", + "AMG E63 S 4matic Plus (SW)", + "AMG E63 S 4matic Plus (wagon)", + "AMG EQE 4matic Plus", + "AMG EQE 4matic Plus (SUV)", + "AMG EQS 4matic Plus", + "AMG G 63 4x4 Squared", + "AMG G63", + "AMG G63 4x4 Squared", + "AMG G65", + "AMG GL63", + "AMG GLA35 4matic", + "AMG GLA45 4matic", + "AMG GLB35 4matic", + "AMG GLC43 4matic", + "AMG GLC43 4matic Coupe", + "AMG GLC63 4matic", + "AMG GLC63 4matic Coupe", + "AMG GLC63 4matic Plus", + "AMG GLC63 4matic Plus Coupe", + "AMG GLC63 S 4matic Coupe", + "AMG GLC63 S 4matic Plus Coupe", + "AMG GLE43 4matic", + "AMG GLE43 4matic Coupe", + "AMG GLE53 4matic Plus", + "AMG GLE53 4matic Plus Coupe", + "AMG GLE63", + "AMG GLE63 S", + "AMG GLE63 S 4matic Plus", + "AMG GLE63 S 4matic Plus Coupe", + "AMG GLE63 S Coupe", + "AMG GLS63", + "AMG GLS63 4matic Plus", + "AMG GT", + "AMG GT 43 4matic Plus", + "AMG GT 53 4matic Plus", + "AMG GT 55 4matic Plus (coupe)", + "AMG GT 63 4matic Plus", + "AMG GT 63 4matic Plus (coupe)", + "AMG GT 63 S 4matic Plus", + "AMG GT Black Series", + "AMG GT C Coupe", + "AMG GT C Roadster", + "AMG GT Coupe", + "AMG GT R Coupe", + "AMG GT R Roadster", + "AMG GT Roadster", + "AMG GT S", + "AMG GT S Coupe", + "AMG S63 4matic", + "AMG S63 4matic Convertible", + "AMG S63 4matic Coupe", + "AMG S63 4matic Plus", + "AMG S63 4matic Plus Convertible", + "AMG S63 4matic Plus Coupe", + "AMG S65", + "AMG S65 Convertible", + "AMG S65 Coupe", + "AMG SL43", + "AMG SL55 4matic Plus", + "AMG SL63", + "AMG SL63 4matic Plus", + "AMG SL65", + "AMG SLC43", + "AMG SLK55", + "B-Class Electric Drive", + "B250e", + "C", + "C Sportcoupé", + "C T", + "C220", + "C230", + "C230 Kompressor", + "C230 Kompressor Sports Coupe", + "C240", + "C240 (Wagon)", + "C240 4matic", + "C240 4matic (Wagon)", + "C240 FFV", + "C240 FFV (Wagon)", + "C250", + "C250 Coupe", + "C280", + "C280 4matic", + "C300", + "C300 4matic", + "C300 4matic Convertible", + "C300 4matic Coupe", + "C300 Convertible", + "C300 Coupe", + "C32 AMG", + "C320", + "C320 (Wagon)", + "C320 4matic", + "C320 4matic (Wagon)", + "C320 4matic Sedan", + "C320 FFV", + "C320 FFV (Wagon)", + "C320 Sports Coupe", + "C320 Sports Coupe FFV", + "C350", + "C350 4matic", + "C350 4matic Coupe", + "C350 Coupe", + "C350e", + "C36", + "C36 AMG", + "C400 4matic", + "C43", + "C43 AMG", + "C450 AMG", + "C55 AMG", + "C63 AMG", + "C63 AMG Black Series Coupe", + "C63 AMG Coupe", + "CL", + "CL500", + "CL55 AMG", + "CL550", + "CL550 4matic", + "CL600", + "CL63 AMG", + "CL65 AMG", + "CLA", + "CLA250", + "CLA250 4matic", + "CLA45 AMG 4matic", + "CLC", + "CLE300 4matic (Convertible)", + "CLE300 4matic (Coupe)", + "CLE450 4matic (Convertible)", + "CLE450 4matic (Coupe)", + "CLK Cabrio", + "CLK Coupé", + "CLK320", + "CLK320 (Cabriolet)", + "CLK320 Cabriolet", + "CLK350", + "CLK350 (Cabriolet)", + "CLK430", + "CLK430 (Cabriolet)", + "CLK500", + "CLK500 (Cabriolet)", + "CLK55 AMG", + "CLK55 AMG (Cabriolet)", + "CLK550", + "CLK550 (Cabriolet)", + "CLK63 AMG", + "CLK63 AMG (Cabriolet)", + "CLS", + "CLS400", + "CLS400 4matic", + "CLS450", + "CLS450 4matic", + "CLS500", + "CLS55 AMG", + "CLS550", + "CLS550 4matic", + "CLS63 AMG", + "CLS63 AMG 4matic", + "CLS63 AMG S", + "CLS63 AMG S 4matic", + "Citan", + "E", + "E Cabrio", + "E Coupé", + "E T", + "E300", + "E300 4matic", + "E300 Diesel", + "E300 Turbodiesel", + "E320", + "E320 (Wagon)", + "E320 4Matic", + "E320 4Matic (Wagon)", + "E320 4matic", + "E320 4matic (Wagon)", + "E320 Bluetec", + "E320 CDI", + "E320 Cdi", + "E320 Convertible", + "E320 Coupe", + "E320 Sedan", + "E320 Sedan 4Matic", + "E320 Wagon", + "E320 Wagon 4Matic", + "E350", + "E350 (wagon)", + "E350 4Matic", + "E350 4matic", + "E350 4matic (wagon)", + "E350 4matic Coupe", + "E350 Bluetec", + "E350 Convertible", + "E350 Coupe", + "E400", + "E400 4matic", + "E400 4matic (station wagon)", + "E400 4matic Convertible", + "E400 4matic Coupe", + "E400 Convertible", + "E400 Coupe", + "E400 Hybrid", + "E420", + "E430", + "E430 4Matic", + "E450 4matic", + "E450 4matic (station wagon)", + "E450 4matic All-Terrain (wagon)", + "E450 4matic Convertible", + "E450 4matic Coupe", + "E450 Convertible", + "E450 Coupe", + "E500", + "E500 (Wagon)", + "E500 4matic", + "E500 4matic (Wagon)", + "E500 4matic (wagon)", + "E55 AMG", + "E55 AMG (Wagon)", + "E55 AMG (wagon)", + "E550", + "E550 4matic", + "E550 Convertible", + "E550 Coupe", + "E63 AMG", + "E63 AMG (wagon)", + "E63 AMG 4matic", + "E63 AMG 4matic (wagon)", + "E63 AMG S", + "E63 AMG S 4matic", + "E63 AMG S 4matic (wagon)", + "EQB 250 Plus", + "EQB 300 4matic", + "EQB 350 4matic", + "EQE 350 4matic", + "EQE 350 4matic (SUV)", + "EQE 350 Plus", + "EQE 350 Plus (SUV)", + "EQE 500 4matic", + "EQE 500 4matic (SUV)", + "EQS 450 4matic", + "EQS 450 4matic (SUV)", + "EQS 450 Plus", + "EQS 450 Plus (SUV)", + "EQS 580 4matic", + "EQS 580 4matic (SUV)", + "EQS 680 4matic Maybach (SUV)", + "G Cabrio", + "G500", + "G55 AMG", + "G550", + "G550 4x4", + "G550 4x4 (Special Off-Road Model)", + "G63 AMG", + "GL", + "GL320 Bluetec", + "GL320 CDI", + "GL320 CDI 4matic", + "GL350 Bluetec", + "GL450", + "GL450 4matic", + "GL550", + "GL550 4matic", + "GL63 AMG", + "GLA", + "GLA250", + "GLA250 4matic", + "GLA45 AMG 4matic", + "GLB250", + "GLB250 4matic", + "GLC", + "GLC300", + "GLC300 4matic", + "GLC300 4matic Coupe", + "GLC350e 4matic", + "GLE", + "GLE300 d 4matic", + "GLE350", + "GLE350 4matic", + "GLE350 d 4matic", + "GLE400 4matic", + "GLE450 4matic", + "GLE450 AMG Coupe", + "GLE550e 4matic", + "GLE580 4matic", + "GLK", + "GLK250 Bluetec 4matic", + "GLK350", + "GLK350 4matic", + "GLS450 4matic", + "GLS550 4matic", + "GLS580 4matic", + "GLS600 4matic Maybach", + "MB 100", + "ML250 Bluetec 4matic", + "ML320", + "ML320 Bluetec", + "ML320 CDI", + "ML320 CDI 4matic", + "ML350", + "ML350 4matic", + "ML350 Bluetec", + "ML400 4matic", + "ML430", + "ML450 Hybrid", + "ML450 Hybrid 4matic", + "ML500", + "ML500 4matic", + "ML55", + "ML55 AMG", + "ML550", + "ML550 4matic", + "ML63 AMG", + "Maybach S 600", + "Maybach S550 4matic", + "Maybach S560 4matic", + "Maybach S600", + "Maybach S650", + "Maybach S650 Convertible", + "Maybach S680 4matic", + "Metris (Cargo Van)", + "Metris (Cargo Van, LWB)", + "Metris (Passenger Van)", + "Metris (US Postal Long)", + "Metris (US Postal)", + "R320 Bluetec", + "R320 CDI", + "R320 CDI 4matic", + "R350", + "R350 4matic", + "R350 Bluetec", + "R500", + "R500 4matic", + "R63 AMG", + "S", + "S Coupé", + "S320", + "S350", + "S350 Bluetec", + "S350D", + "S400 Hybrid", + "S420", + "S430", + "S430 4matic", + "S450", + "S450 4matic", + "S500", + "S500 4matic", + "S500 Coupe", + "S500 Sedan", + "S55 AMG", + "S550", + "S550 4matic", + "S550 4matic Coupe", + "S550 Convertible", + "S550e", + "S560", + "S560 4matic", + "S560 4matic Coupe", + "S560 4matic Maybach", + "S560 Convertible", + "S560e", + "S580 4matic", + "S580 4matic Maybach", + "S580e 4matic", + "S600", + "S600 Coupe", + "S600 Sedan", + "S63 AMG", + "S63 AMG 4matic", + "S63 AMG 4matic Coupe", + "S65 AMG", + "S65 AMG Convertible", + "S65 AMG Coupe", + "SL", + "SL320", + "SL400", + "SL450", + "SL500", + "SL55 AMG", + "SL550", + "SL600", + "SL63 AMG", + "SL65 AMG", + "SLC", + "SLC300", + "SLK", + "SLK230", + "SLK230 Kompressor", + "SLK250", + "SLK280", + "SLK300", + "SLK32 AMG", + "SLK320", + "SLK350", + "SLK55 AMG", + "SLR", + "SLS AMG", + "SLS AMG Black Series Coupe", + "SLS AMG Coupe", + "SLS AMG GT Coupe", + "SLS AMG GT Roadster", + "SLS AMG Roadster", + "Sprinter", + "Trieda A", + "Trieda B", + "Trieda C", + "Trieda E", + "Trieda G", + "Trieda M", + "Trieda R", + "Trieda S" + ], + "Mercury": [ + "Capri", + "Cougar", + "Grand Marquis", + "Grand Marquis FFV", + "Grand Marquis Wagon", + "Lynx", + "Lynx Wagon", + "Marauder", + "Mariner", + "Mariner 2WD", + "Mariner 4WD", + "Mariner 4WD FFV", + "Mariner FWD", + "Mariner FWD FFV", + "Mariner Hybrid 4WD", + "Mariner Hybrid FWD", + "Marquis", + "Marquis Wagon", + "Milan", + "Milan AWD", + "Milan AWD FFV", + "Milan FFV", + "Milan FWD", + "Milan FWD FFV", + "Milan Hybrid FWD", + "Milan S", + "Milan S FWD", + "Montego", + "Montego AWD", + "Montego FWD", + "Monterey", + "Monterey Wagon FWD", + "Mountaineer", + "Mountaineer 2WD", + "Mountaineer 2WD FFV", + "Mountaineer 4WD", + "Mountaineer 4WD FFV", + "Mountaineer AWD", + "Mountaineer FFV 2WD", + "Mountaineer FFV 4WD", + "Mystique", + "Sable", + "Sable (FFV)", + "Sable AWD", + "Sable FWD", + "Sable Wagon", + "Sable Wagon (FFV)", + "Sable Wagon 3.0 A/C", + "Sable Wagon V6 A/C", + "Topaz", + "Topaz AWD", + "Tracer", + "Tracer Wagon", + "Villager", + "Villager FWD Van", + "Villager FWD Wagon", + "Zephyr" + ], + "Merkur": [ + "Scorpio", + "XR4Ti" + ], + "Mitsubishi": [ + "3000 GT", + "3000 GT Spyder", + "3000GT", + "ASX", + "Carisma", + "Colt", + "Colt CC", + "Cordia", + "Diamante", + "Diamante Sedan", + "Diamante Wagon", + "Eclipse", + "Eclipse Convertible", + "Eclipse Cross 2WD", + "Eclipse Cross 4WD", + "Eclipse Cross ES 2WD", + "Eclipse Cross ES 4WD", + "Eclipse Spyder", + "Endeavor", + "Endeavor 2WD", + "Endeavor 4WD", + "Endeavor AWD", + "Expo", + "Expo.LRV", + "Fuso canter", + "Galant", + "Galant Combi", + "Galant Sigma", + "Grandis", + "L200", + "L200 Pick up", + "L200 Pick up Allrad", + "L300", + "Lancer", + "Lancer 4WD", + "Lancer AWD", + "Lancer Combi", + "Lancer Evo", + "Lancer Evolution", + "Lancer Sportback", + "Mighty Max", + "Mirage", + "Mirage G4", + "Mirage Wagon", + "Montero", + "Montero 4WD", + "Montero Sport", + "Montero Sport 2WD", + "Montero Sport 4WD", + "Nativa 2WD", + "Nativa 2WD (Puerto Rico Only)", + "Nativa 2WD(Puerto Rico Only)", + "Nativa 4WD", + "Nativa 4WD (Puerto Rico Only)", + "Outlander", + "Outlander 2WD", + "Outlander 4WD", + "Outlander PHEV", + "Outlander Sport", + "Outlander Sport 2WD", + "Outlander Sport 4WD", + "Pajero", + "Pajero Pinin Wagon", + "Pajero Sport", + "Pajero Wagon", + "Pajeto Pinin", + "Precis", + "Raider", + "Raider Pickup 2WD", + "Raider Pickup 4WD", + "Sigma", + "Space Star", + "Space Wagon", + "Space Wagon 4WD", + "Starion", + "Tredia", + "Truck 2WD", + "Truck 4WD", + "Van", + "Wagon", + "i", + "i-MiEV" + ], + "Mobility Ventures LLC": [ + "MV-1", + "MV-1 CNG" + ], + "Morgan": [ + "Plus Eight" + ], + "Nissan": [ + "100 NX", + "200 SX", + "200SX", + "240SX", + "300ZX", + "300ZX 2x2", + "350 Z", + "350 Z Roadster", + "350Z", + "350z", + "350z Roadster", + "370 Z", + "370Z", + "370Z Roadster", + "370z", + "ARIYA ENG Plus/EVO Plus e-4ORCE 87kWh", + "ARIYA ENGAGE FWD 63kWh", + "ARIYA ENGAGE e-4ORCE 63kWh", + "ARIYA ENGAGE+/EVOLVE+ e-4ORCE 87kWh", + "ARIYA EVO Plus/EMP Plus/PRM FWD 87kWh", + "ARIYA EVOLVE+/EMPOWER+ FWD 87kWh", + "ARIYA PLAT Plus e-4ORCE 87kWh 19", + "ARIYA PLAT Plus e-4ORCE 87kWh 20", + "ARIYA PLATINUM+ e-4ORCE 87kWh 19in. Wheels", + "ARIYA PLATINUM+ e-4ORCE 87kWh 20in. Wheels", + "ARIYA VENTURE Plus FWD 87kWh", + "Almera", + "Almera Tino", + "Altima", + "Altima / Stanza", + "Altima AWD", + "Altima AWD SR/Platinum", + "Altima Coupe", + "Altima Hybrid", + "Altima SL/SR", + "Altima SR", + "Altima SR/Platinum", + "Altima SV/SL", + "Altra EV", + "Armada", + "Armada 2WD", + "Armada 2WD FFV", + "Armada 4WD", + "Armada 4WD FFV", + "Axxess", + "Axxess AWD", + "Cabstar E - T", + "Cabstar TL2 Valnik", + "Cube", + "Frontier", + "Frontier 2WD", + "Frontier 2WD FFV", + "Frontier 4WD", + "Frontier 4WD FFV", + "Frontier 4WD PRO4X", + "Frontier V6 2WD", + "Frontier V6 4WD", + "GT-R", + "Hardbody 2WD", + "Hardbody 4WD", + "Hyper-Mini", + "Insterstar", + "Juke", + "Juke AWD", + "Juke Nismo RS", + "Juke Nismo RS AWD", + "Kicks", + "King Cab", + "LEAF", + "LEAF SV", + "Leaf", + "Leaf (24 kW-hr battery pack)", + "Leaf (30 kW-hr battery pack)", + "Leaf (40 kW-hr battery pack)", + "Leaf (62 kW-hr battery pack)", + "Leaf SV/SL (62 kW-hr battery pack)", + "Maxima", + "Maxima QX", + "Maxima Wagon", + "Micra", + "Murano", + "Murano 2WD", + "Murano AWD", + "Murano CrossCabriolet", + "Murano FWD", + "Murano Hybrid AWD", + "Murano Hybrid FWD", + "NP300 Pickup", + "NV", + "NV200", + "NV200 Cargo Van", + "NV200 NYC Taxi", + "NV400", + "NX", + "NX Coupe", + "Navara", + "Note", + "Pathfinder", + "Pathfinder 2WD", + "Pathfinder 4WD", + "Pathfinder 4WD Platinum", + "Pathfinder 4WD Rock Creek", + "Pathfinder 4WD SL/Platinum", + "Pathfinder Armada 2WD", + "Pathfinder Armada 4WD", + "Pathfinder FE 2WD", + "Pathfinder Hybrid 2WD", + "Pathfinder Hybrid 4WD", + "Pathfinder Van (cargo)", + "Patrol", + "Patrol GR", + "Pickup", + "Pickup 2WD", + "Pickup 4WD", + "Pickup Cab Chassis", + "Pixo", + "Primastar", + "Primastar Combi", + "Primera", + "Primera Combi", + "Pulsar", + "Pulsar NX", + "Pulsar/Pulsar-NX", + "Qashqai", + "Quest", + "Rogue", + "Rogue AWD", + "Rogue AWD SV/SL/Platinum", + "Rogue AWD SL/Platinum", + "Rogue FWD", + "Rogue FWD SV/SL/Platinum", + "Rogue FWD SL/Platinum", + "Rogue Hybrid AWD", + "Rogue Hybrid FWD", + "Rogue Select AWD", + "Rogue Select FWD", + "Rogue Sport", + "Rogue Sport AWD", + "Rogue Sport FWD", + "Sentra", + "Sentra Classic", + "Sentra Coupe", + "Sentra FE", + "Sentra Honeybee", + "Sentra Nismo", + "Sentra SR", + "Sentra Wagon", + "Sentra Wagon 4WD", + "Sentra/200SX", + "Serena", + "Stanza", + "Stanza Wagon 2WD", + "Stanza Wagon 4WD", + "Sunny", + "Terrano", + "Tiida", + "Titan", + "Titan 2WD", + "Titan 2WD FFV", + "Titan 4WD", + "Titan 4WD PRO4X", + "Titan 4WD FFV", + "Titan 4WD PRO-4X", + "Titan 4WD PRO4X", + "Titan FE 2WD", + "Titan FE 2WD FFV", + "Trade", + "Truck 2WD", + "Truck 2WD (new Version)", + "Truck 4WD", + "Truck 4WD (new Version)", + "Truck Cab Chassis 2WD", + "Van", + "Van (cargo)", + "Van (passenger)", + "Van(cargo)", + "Vanette Cargo", + "Versa", + "Versa FE", + "X-Trail", + "Xterra", + "Xterra 2WD", + "Xterra 4WD", + "Xterra V6 2WD", + "Xterra V6 4WD", + "Z", + "Z NISMO", + "e-NV200" + ], + "Oldsmobile": [ + "88", + "Achieva", + "Alero", + "Aurora", + "Bravada", + "Bravada 2WD", + "Bravada AWD", + "Calais", + "Ciera SL", + "Ciera SL Wagon", + "Custom Cruiser", + "Custom Cruiser Wagon", + "Cutlass", + "Cutlass Calais", + "Cutlass Ciera", + "Cutlass Cruiser", + "Cutlass Cruiser Wagon", + "Cutlass Supreme", + "Cutlass Supreme Classic", + "Delta 88", + "Delta 88 Royale", + "Eighty-Eight", + "Eighty-Eight/Regency", + "Eighty-Eight/Regency/LSS", + "Firenza", + "Firenza Cruiser", + "Firenza Cruiser Wagon", + "Intrigue", + "Ninety-Eight", + "Ninety-Eight II", + "Ninety-Eight Regency", + "Ninety-Eight/Touring", + "Omega", + "Regency", + "Silhouette", + "Silhouette 2WD", + "Silhouette AWD", + "Toronado", + "Trofeo/Toronado" + ], + "PAS Inc - GMC": [ + "Pas-Syclone", + "Pas-typhoon" + ], + "PAS, Inc": [ + "Pas-Syclone", + "Pas-Typhoon" + ], + "Pagani": [ + "Huayra", + "Huayra Coupe", + "Huayra Roadster BC" + ], + "Panos": [ + "Roadster" + ], + "Panoz Auto-Development": [ + "Panoz Roadster" + ], + "Panther Car Company Limited": [ + "Kallista" + ], + "Peugeot": [ + "1007", + "106", + "107", + "108", + "2008", + "205", + "205 Cabrio", + "206", + "206 CC", + "206 SW", + "207", + "207 CC", + "207 SW", + "306", + "307", + "307 CC", + "307 SW", + "308", + "308 CC", + "308 SW", + "309", + "4007", + "4008", + "405", + "405 Sedan", + "405 Sports Wagon", + "405 Station Wagon", + "406", + "407", + "407 SW", + "5008", + "504", + "505", + "505 Sedan", + "505 Station Wagon", + "505 Wagon", + "508", + "508 SW", + "604", + "604 Sedan", + "605", + "607", + "806", + "807", + "Bipper", + "RCZ" + ], + "Pininfarina": [ + "Spider" + ], + "Plymouth": [ + "Acclaim", + "Arrow", + "Breeze", + "Caravelle", + "Champ", + "Colt", + "Colt Vista", + "Colt Vista 4WD", + "Colt Wagon", + "Colt Wagon 4WD", + "Conquest", + "Gran Fury", + "Grand Voyager", + "Horizon", + "Laser", + "Neon", + "Prowler", + "Reliant", + "Reliant Wagon", + "Sapporo", + "Scamp", + "Sundance", + "Sundance Convertible", + "Sundance/Duster", + "Trailduster", + "Turismo", + "Voyager", + "Voyager 2WD", + "Voyager/Grand Voyager 2WD", + "Voyager/Grand Voyager 4WD" + ], + "Polestar": [ + "1", + "2", + "2 BST edition", + "2 Dual Motor", + "2 Dual Motor (19 Inch Wheels)", + "2 Dual Motor (20 Inch Wheels)", + "2 Dual Motor Perf Pack", + "2 Dual Motor Performance Pack", + "2 Single Motor", + "2 Single Motor (19 Inch Wheels)", + "2 Single Motor (20 Inch Wheels)" + ], + "Pontiac": [ + "1000", + "2000 Sunbird", + "2000 Sunbird Convertible", + "2000 Sunbird Wagon", + "20th Anniversary Trans Am", + "6000", + "6000 Wagon", + "Aztek", + "Aztek AWD", + "Aztek FWD", + "Bonneville", + "Catalina", + "Fiero", + "Firebird", + "Firebird/Formula", + "Firebird/Trans Am", + "Firebird/Trans Am/Formula", + "Firefly", + "Firefly FE", + "G3", + "G3 (3-Door)", + "G3 (5-Door)", + "G3 Wave", + "G3 Wave 5", + "G5", + "G5 GT", + "G5 XFE", + "G5/Pursuit", + "G6", + "G6 GT/GTP Convertible", + "G8", + "GTO", + "Grand Am", + "Grand Prix", + "Grand Prix Ste Turbo", + "Grand Prix Turbo", + "J2000", + "Le Mans", + "Lemans", + "Montana", + "Montana AWD", + "Montana FWD", + "Montana SV6 AWD", + "Montana SV6 FWD", + "Montana SVX AWD", + "Montana SVX FWD", + "Monterey Wagon FWD", + "Parisienne", + "Parisienne Wagon", + "Phoenix", + "Safari", + "Safari Wagon", + "Solstice", + "Sunbird", + "Sunbird Convertible", + "Sunbird Wagon", + "Sunburst", + "Sunfire", + "Torrent", + "Torrent AWD", + "Torrent FWD", + "Trans Sport", + "Trans Sport 2WD", + "Trans Sport/Montana 2WD", + "Turbo Firefly", + "Vibe", + "Vibe AWD", + "Wave", + "Wave 5" + ], + "Porsche": [ + "718 Boxster", + "718 Boxster GTS", + "718 Boxster S", + "718 Boxster T", + "718 Cayman", + "718 Cayman GT4", + "718 Cayman GTS", + "718 Cayman S", + "718 Cayman T", + "718 GT4 RS", + "718 Spyder", + "718 Spyder RS", + "911", + "911 C4 GTS", + "911 C4 GTS Cabriolet", + "911 Carrera", + "911 Carrera 2/4", + "911 Carrera 4", + "911 Carrera 4 Cabriolet", + "911 Carrera 4 GTS", + "911 Carrera 4 GTS Cabriolet", + "911 Carrera 4 Targa", + "911 Carrera 4/2", + "911 Carrera 4S", + "911 Carrera 4S Cabriolet", + "911 Carrera 4S Targa", + "911 Carrera Cabrio", + "911 Carrera Cabriolet", + "911 Carrera GTS", + "911 Carrera GTS Cabriolet", + "911 Carrera S", + "911 Carrera S Cabriolet", + "911 Carrera T", + "911 Dakar", + "911 GT2", + "911 GT2 RS", + "911 GT3", + "911 GT3 RS", + "911 GT3 Touring", + "911 GTS", + "911 GTS Cabriolet", + "911 R", + "911 S/T", + "911 SC", + "911 Speedster", + "911 Sport Classic", + "911 Targa", + "911 Targa 4", + "911 Targa 4 GTS", + "911 Targa 4S", + "911 Turbo", + "911 Turbo Cabriolet", + "911 Turbo Coupe", + "911 Turbo S", + "911 Turbo S Cabriolet", + "911 Turbo S Coupe", + "911 Turbo S Exclusive", + "911 Turbo S Exclusive Cabriolet", + "918 Spyder", + "924", + "924 S", + "928", + "928 GTS", + "928 S", + "928 S4", + "944", + "944 S", + "944 S2", + "944 Turbo", + "968", + "997", + "Boxster", + "Boxster GTS", + "Boxster S", + "Boxster Spyder", + "Boxster T", + "Carrera", + "Carrera 2 911 GT3", + "Carrera 2 Cabriolet", + "Carrera 2 Cabriolet Kit", + "Carrera 2 Coupe", + "Carrera 2 Coupe Kit", + "Carrera 2 S Cabriolet", + "Carrera 2 S Coupe", + "Carrera 4", + "Carrera 4 Cabriolet", + "Carrera 4 Cabriolet Kit", + "Carrera 4 Coupe", + "Carrera 4 S", + "Carrera 4 S Cabriolet", + "Carrera 4 S Cabriolet Kit", + "Carrera 4 S Coupe", + "Carrera 4 S Kit", + "Carrera 4 S Targa", + "Carrera 4 Targa", + "Carrera GT", + "Cayenne", + "Cayenne / Cayenne Coupe", + "Cayenne Coupe", + "Cayenne Diesel", + "Cayenne GTS", + "Cayenne GTS Coupe", + "Cayenne Platinum", + "Cayenne S", + "Cayenne S Coupe", + "Cayenne S Hybrid", + "Cayenne S e-Hybrid", + "Cayenne TransSiberia", + "Cayenne Turbo", + "Cayenne Turbo Coupe", + "Cayenne Turbo GT", + "Cayenne Turbo GT Coupe", + "Cayenne Turbo Kit", + "Cayenne Turbo S", + "Cayenne Turbo S e-Hybrid", + "Cayenne Turbo S e-Hybrid Coupe", + "Cayenne Turbo S/Coupe E-Hybrid", + "Cayenne e-Hybrid", + "Cayenne e-Hybrid Coupe", + "Cayenne/Coupe E-Hybrid", + "Cayman", + "Cayman GT4", + "Cayman GTS", + "Cayman R", + "Cayman S", + "Cayman T", + "Macan", + "Macan GTS", + "Macan S", + "Macan T", + "Macan Turbo", + "Macan Turbo Kit", + "New 911 Carrera", + "New 911 Carrera Cabriolet", + "New 911 Carrera S", + "New 911 Carrera S Cabriolet", + "Panamera", + "Panamera 4", + "Panamera 4 E-Hybrid/Exec/ST", + "Panamera 4 Executive", + "Panamera 4 ST", + "Panamera 4 e-Hybrid", + "Panamera 4 e-Hybrid Executive", + "Panamera 4 e-Hybrid ST", + "Panamera 4S", + "Panamera 4S E-Hybrid", + "Panamera 4S E-Hybrid/Exec/ST", + "Panamera 4S Executive", + "Panamera 4S ST", + "Panamera 4S e-Hybrid", + "Panamera 4S e-Hybrid Executive", + "Panamera 4S e-Hybrid ST", + "Panamera GTS", + "Panamera GTS ST", + "Panamera S", + "Panamera S E-Hybrid", + "Panamera S Hybrid", + "Panamera Turbo", + "Panamera Turbo Exec", + "Panamera Turbo Executive", + "Panamera Turbo S", + "Panamera Turbo S E-Hybrid/Exec/ST", + "Panamera Turbo S Executive", + "Panamera Turbo S ST", + "Panamera Turbo S e-Hybrid", + "Panamera Turbo S e-Hybrid Executive", + "Panamera Turbo S e-Hybrid ST", + "Panamera Turbo S/Exec/ST", + "Panamera Turbo ST", + "Targa", + "Targa Kit", + "Taycan 4 Cross Turismo", + "Taycan 4S Cross Turismo", + "Taycan 4S Perf Battery", + "Taycan 4S Perf Battery Plus", + "Taycan 4S Performance Battery", + "Taycan 4S Performance Battery Plus", + "Taycan GTS", + "Taycan GTS ST", + "Taycan GTS Sport Turismo", + "Taycan Perf Battery", + "Taycan Perf Battery Plus", + "Taycan Performance Battery", + "Taycan Performance Battery Plus", + "Taycan Turbo", + "Taycan Turbo Cross Turismo", + "Taycan Turbo S", + "Taycan Turbo S Cross Turismo", + "Turbo", + "Turbo 2 911 GT2", + "Turbo 2 911 Gt2", + "Turbo 4 911", + "Turbo 4 911 Cab", + "Turbo 4 911 Cab Kit", + "Turbo 4 911 Kit", + "Turbo 4 911 S", + "Turbo 4 911 Turbo", + "Turbo 4 911 Turbo Cab S", + "Turbo GT2", + "Turbo Kit" + ], + "Quantum Technologies": [ + "Chevrolet Cavalier" + ], + "Qvale": [ + "Detomaso Mangusta" + ], + "RUF Automobile": [ + "RUF TURBO 12/CTR3", + "RUFTURBO12/CTR3/CTR2017", + "T12/CTR3/CTR Anniversary", + "TURBO12/CTR3/CTR ANNIVERSARY" + ], + "Ram": [ + "1500 2WD", + "1500 4WD", + "1500 Classic 2WD", + "1500 Classic 4WD", + "1500 HFE 2WD", + "1500 HO 4WD", + "1500 RHO 4WD", + "1500 TRX 4WD", + "C/V", + "C/V Cargo Van", + "C/V Tradesman", + "Promaster City" + ], + "Red Shift Ltd.": [ + "Delta 204T" + ], + "Renault": [ + "18i", + "18i 4DR Wagon", + "18i Sportwagon", + "Alliance", + "Alliance Convertible", + "Alliance/Encore", + "Captur", + "Clio", + "Clio Grandtour", + "Espace", + "Express", + "Fluence", + "Fuego", + "GTA", + "GTA Convertible", + "Grand Espace", + "Grand Modus", + "Grand Scenic", + "Kadjar", + "Kangoo", + "Kangoo Express", + "Koleos", + "Laguna", + "Laguna Grandtour", + "Latitude", + "Le Car", + "Mascott", + "Mégane", + "Mégane CC", + "Mégane Combi", + "Mégane Coupé", + "Mégane Grandtour", + "Mégane Scénic", + "R18", + "Scénic", + "Sportwagon", + "Talisman", + "Talisman Grandtour", + "Thalia", + "Twingo", + "Wind", + "Zoé" + ], + "Rivian": [ + "R1S", + "R1S (20 inch wheels)", + "R1S (21 inch wheels)", + "R1S (22 inch wheels)", + "R1S 20 inch All-Terrain", + "R1S 20 inch All-Terrain Dual Large", + "R1S 20 inch All-Terrain Performance Dual Large", + "R1S 21 inch Dual Large", + "R1S 21 inch Performance Dual Large", + "R1S 22 inch Dual Large", + "R1S 22 inch Performance Dual Large", + "R1S AT Performance Dual Standard Plus (20in)", + "R1S All-Terrain Dual Large (20in)", + "R1S All-Terrain Dual Max (20in)", + "R1S All-Terrain Dual Standard Plus (20in)", + "R1S All-Terrain Performance Dual Large (20in)", + "R1S All-Terrain Performance Dual Max (20in)", + "R1S All-Terrain Quad Large (20 inch)", + "R1S Dual Large (21in)", + "R1S Dual Large (22in)", + "R1S Dual Max (21in)", + "R1S Dual Max (22in)", + "R1S Dual Standard (21in)", + "R1S Dual Standard (22in)", + "R1S Dual Standard Plus (21in)", + "R1S Dual Standard Plus (22in)", + "R1S Performance Dual Large (21in)", + "R1S Performance Dual Large (22in)", + "R1S Performance Dual Max (21in)", + "R1S Performance Dual Max (22in)", + "R1S Performance Dual Standard (22in)", + "R1S Performance Dual Standard Plus (21in)", + "R1S Quad Large (20in)", + "R1S Quad Large (21in)", + "R1S Quad Large (22in)", + "R1T", + "R1T (20 inch wheels)", + "R1T (21 inch wheels)", + "R1T (22 inch wheels)", + "R1T 21 inch Dual Large", + "R1T 21 inch Performance Dual Large", + "R1T 22 inch Dual Large", + "R1T 22 inch Performance Dual Large", + "R1T AT Performance Dual Standard Plus (20in)", + "R1T All-Terrain Dual Large (20in)", + "R1T All-Terrain Dual Max (20in)", + "R1T All-Terrain Dual Standard Plus (20in)", + "R1T All-Terrain Performance Dual Large (20in)", + "R1T All-Terrain Performance Dual Max (20in)", + "R1T All-Terrain Quad Large (20in)", + "R1T Dual Large (21in)", + "R1T Dual Large (22in)", + "R1T Dual Max (21in)", + "R1T Dual Max (22in)", + "R1T Dual Standard (21in)", + "R1T Dual Standard (22in)", + "R1T Dual Standard Plus (21in)", + "R1T Dual Standard Plus (22in)", + "R1T Performance Dual Large (21in)", + "R1T Performance Dual Large (22in)", + "R1T Performance Dual Max (21in)", + "R1T Performance Dual Max (22in)", + "R1T Performance Dual Standard Plus (21in)", + "R1T Performance Dual Standard Plus (22in)", + "R1T Quad Large (20in)", + "R1T Quad Large (21in)", + "R1T Quad Large (22in)" + ], + "Rolls-Royce": [ + "Azure", + "Brooklands", + "Brooklands and (LWB)", + "Brooklands/Brklnds L", + "Camargue", + "Continental", + "Continental (turbo)", + "Continental R", + "Continental T", + "Corniche", + "Corniche II", + "Corniche II/Continental", + "Corniche III", + "Corniche IV", + "Corniche S", + "Corniche/Continental", + "Cullinan", + "Cullinan Black Badge", + "Dawn", + "Dawn Black Badge", + "Eight/Mulsan", + "Eight/Mulsanne S", + "Eight/Mulsanne S and S", + "Flying Spur", + "Ghost", + "Ghost Black Badge", + "Ghost EWB", + "Ghost Extended", + "Limousine", + "Park Ward", + "Phantom", + "Phantom Coupe", + "Phantom Drophead Coupe", + "Phantom EWB", + "Phantom Extended", + "Silver Dawn", + "Silver Seraph", + "Silver Spirit", + "Silver Spirit II/Silver Spur", + "Silver Spirit III/Spur III", + "Silver Spirit/Silver Spur", + "Silver Spirit/Spur/Mulsanne", + "Silver Spur", + "Silver Spur II Mpw Touring L", + "Silver Spur III Limousine", + "Silver Spur Limousine", + "Silver Spur Park Ward", + "Silver Spur/Silver Dawn", + "Spectre (22 inch wheels)", + "Spectre (23 inch wheels)", + "Spectre Black Badge (22 inch wheels)", + "Spectre Black Badge (23 inch wheels)", + "Spirit III/Spur III/Dawn", + "Turbo R", + "Turbo R/Rl Bklds Turbo/LWB", + "Turbo R/Turbo R(lwb)", + "Turbo R/Turbo Rl", + "Wraith", + "Wraith Black Badge" + ], + "Roush Performance": [ + "Boss F150 Super Cab 2WD", + "F150 Pickup 2WD", + "F150 Pickup 4WD", + "F150 Raptor Pickup 4WD", + "Mustang", + "Stage 3 F-150 2WD", + "Stage 3 F-150 4WD", + "Stage 3 F-150 Supercab 2WD", + "Stage 3 F-150 Supercab 4WD", + "Stage 3 F-150 Supercrew 2WD", + "Stage 3 F-150 Supercrew 4WD", + "Stage 3 F150 Regular Cab 2WD", + "Stage 3 F150 Regular Cab 4WD", + "Stage 3 F150 Super Cab 2WD", + "Stage 3 F150 Super Cab 4WD", + "Stage 3 F150 Super Crew 2WD", + "Stage 3 F150 Super Crew 4WD", + "Stage 3 Mustang", + "Stage 3 Mustang Coupe" + ], + "Ruf Automobile Gmbh": [ + "Ruf" + ], + "S and S Coach Company E.p. Dutton": [ + "Funeral Coach 2WD" + ], + "SRT": [ + "Viper" + ], + "STI": [ + "S209" + ], + "Saab": [ + "9-2X", + "9-2x Wagon AWD", + "9-3", + "9-3 Aero Sedan AWD", + "9-3 Aero SportCombi AWD", + "9-3 Cabriolet", + "9-3 Convertible", + "9-3 Coupé", + "9-3 Sedan AWD", + "9-3 Sport Sedan", + "9-3 SportCombi", + "9-3 Viggen", + "9-3 Viggen Convertible", + "9-3X SportCombi AWD", + "9-4X", + "9-4X AWD", + "9-4X FWD", + "9-5", + "9-5 Sedan", + "9-5 Sedan AWD", + "9-5 SportCombi", + "9-5 Wagon", + "9-7X", + "9-7X AWD", + "900", + "900 C", + "900 C Turbo", + "900 Convertible", + "9000", + "900S", + "900S Convertible", + "900SE", + "900SE Convertible", + "Convertible" + ], + "Saleen": [ + "Mustang", + "Mustang S351", + "SSC" + ], + "Saleen Performance": [ + "F150 Supercharged", + "S281 Family", + "S331 Family" + ], + "Saturn": [ + "Astra", + "Astra 2DR Hatchback", + "Astra 4DR Hatchback", + "Aura", + "Aura Hybrid", + "ION", + "Ion", + "L100", + "L100/200", + "L200", + "L300", + "LS", + "LW", + "LW1", + "LW2", + "LW200", + "LW300", + "Outlook", + "Outlook AWD", + "Outlook FWD", + "Relay", + "Relay AWD", + "Relay FWD", + "SC", + "SC1", + "SC2", + "SKY", + "SL", + "SL1", + "SL2", + "SW", + "SW1", + "SW2", + "Sky", + "Vue", + "Vue AWD", + "Vue FWD", + "Vue Hybrid" + ], + "Scion": [ + "FR-S", + "iA", + "iM", + "iQ", + "iQ EV", + "tC", + "xA", + "xB", + "xD" + ], + "Shelby": [ + "Mustang GT" + ], + "Spyker": [ + "C8", + "C8 Aileron", + "C8 Double 12 S", + "C8 Double 12 Spyder", + "C8 Laviolette", + "C8 Spyder", + "C8 Spyder Wide Body" + ], + "Sterling": [ + "825", + "827" + ], + "Subaru": [ + "3 Door 4WD Turbo", + "Ascent", + "Ascent Limited/Touring", + "Ascent Limited/Touring/Onyx AWD", + "B9 Tribeca AWD", + "BRZ", + "BRZ tS", + "Baja", + "Baja AWD", + "Brat", + "Brat 4WD", + "Crosstrek AWD", + "Crosstrek Hybrid AWD", + "Crosstrek Wilderness AWD", + "Forester", + "Forester AWD", + "Forester Sport/Touring AWD", + "Forester Wilderness AWD", + "Hatchback", + "Hatchback 4WD", + "Impreza", + "Impreza 4-Door", + "Impreza 5-Door", + "Impreza AWD", + "Impreza Sport 4-Door", + "Impreza Sport 5-Door", + "Impreza Sport AWD", + "Impreza WRX", + "Impreza Wagon", + "Impreza Wagon AWD", + "Impreza Wagon/Outback SPT AWD", + "Impreza Wagon/Outback Sport", + "Impreza Wagon/Outback Sport AWD", + "Justy", + "Justy 4WD", + "Justy AWD", + "L Series", + "Legacy", + "Legacy 4WD", + "Legacy 4WD Turbo", + "Legacy AWD", + "Legacy AWD (incl. Outback)", + "Legacy AWD Turbo", + "Legacy Outback", + "Legacy Turbo", + "Legacy Wagon", + "Legacy Wagon 4WD", + "Legacy Wagon AWD", + "Legacy Wagon AWD (incl. Outback)", + "Legacy Wagon AWD Turbo", + "Legacy/Outback AWD", + "Legacy/Outback Wagon AWD", + "Levorg", + "Loyale", + "Loyale 4WD", + "Loyale 4WD Turbo", + "Loyale AWD", + "Loyale Wagon", + "Loyale Wagon 4WD", + "Loyale Wagon 4WD Turbo", + "Loyale Wagon AWD", + "Outback", + "Outback AWD", + "Outback Wagon AWD", + "Outback Wilderness AWD", + "RX Turbo", + "SVX", + "SVX AWD", + "Sedan", + "Sedan 4WD", + "Sedan/3 Door", + "Sedan/3 Door 4WD", + "Sedan/3Door 4WD Turbo", + "Solterra AWD", + "Solterra Limited/Touring AWD", + "Tribeca", + "Tribeca AWD", + "Tribeca B9", + "WRX", + "WRX STI Type RA", + "Wagon", + "Wagon 4WD", + "Wagon 4WD Turbo", + "XT", + "XT 4WD", + "XT-DL", + "XV", + "XV Crosstrek", + "XV Crosstrek AWD", + "XV Crosstrek Hybrid AWD" + ], + "Superior Coaches Div E.p. Dutton": [ + "Funeral Coach 2WD" + ], + "Suzuki": [ + "Aerio", + "Aerio 4WD", + "Aerio AWD", + "Aerio SX", + "Aerio SX 4WD", + "Aerio SX AWD", + "Alto", + "Baleno", + "Baleno kombi", + "Equator", + "Equator 2WD", + "Equator 4WD", + "Esteem", + "Esteem Wagon", + "Forenza", + "Forenza Wagon", + "Forsa", + "Forsa Turbo", + "Grand Vitara", + "Grand Vitara 4Door 2WD", + "Grand Vitara 4Door 4WD", + "Grand Vitara 4WD", + "Grand Vitara AWD", + "Grand Vitara XL-7", + "Grand Vitara XL7", + "Grand Vitara XL7 4WD", + "Ignis", + "Jimny", + "Kizashi", + "Kizashi AWD", + "Kizashi S", + "Kizashi S AWD", + "Liana", + "Reno", + "SA310", + "SJ 410 4WD", + "SJ 410V 4WD", + "SJ410K P/U 4WD", + "SW", + "SX4", + "SX4 AWD", + "SX4 Sedan", + "SX4 Sport", + "SX4 Sport/Anniversary Edition", + "Samurai", + "Samurai 2WD", + "Samurai Convertible", + "Samurai Hardtop", + "Samurai Hardtop 4WD", + "Samurai Soft-top 4WD", + "Sidekick", + "Sidekick 2Door 2WD", + "Sidekick 2Door 4WD", + "Sidekick 2Door RWD", + "Sidekick 2WD", + "Sidekick 4Door 2WD", + "Sidekick 4Door 4WD", + "Sidekick 4Door RWD", + "Sidekick Convertible 4WD", + "Sidekick Hardtop 2WD", + "Sidekick Hardtop 4WD", + "Sidekick Soft-top 4WD", + "Sidekick Sport 2WD", + "Sidekick Sport 4WD", + "Sidekick Sport RWD", + "Splash", + "Swift", + "Swift GA", + "Swift GT", + "Swift GTI", + "Swift x", + "Verona", + "Vitara", + "Vitara 2 Door", + "Vitara 2 Door 4WD", + "Vitara 2Door", + "Vitara 2Door 2WD", + "Vitara 2Door 4WD", + "Vitara 4 Door", + "Vitara 4 Door 4WD", + "Vitara 4Door", + "Vitara 4Door 2WD", + "Vitara 4Door 4WD", + "Wagon R+", + "X-90", + "X-90 2WD", + "X-90 4WD", + "X-90 RWD", + "XL7", + "XL7 AWD", + "XL7 FWD" + ], + "TVR Engineering Ltd": [ + "TVR 280i Convertible", + "TVR 280i Coupe", + "TVR 280i/350i Convertible", + "TVR 280i/350i Coupe" + ], + "Tecstar, LP": [ + "Foose F150 Regular Cab 2WD", + "Foose F150 Regular Cab 4WD", + "Foose F150 Super Cab 2WD", + "Foose F150 Super Cab 4WD", + "Foose F150 Super Crew 2WD", + "Foose F150 Super Crew 4WD" + ], + "Tesla": [ + "Model 3 Long Range", + "Model 3 Long Range AWD", + "Model 3 Long Range AWD Performance", + "Model 3 Long Range AWD", + "Model 3 Long Range AWD Performance", + "Model 3 Long Range Performance AWD (18in)", + "Model 3 Long Range Performance AWD (19in)", + "Model 3 Long Range Performance AWD (20in)", + "Model 3 Mid Range", + "Model 3 Performance AWD", + "Model 3 RWD", + "Model 3 Standard Range", + "Model 3 Standard Range Plus", + "Model 3 Standard Range Plus RWD", + "Model S", + "Model S (40 kW-hr battery pack)", + "Model S (60 kW-hr battery pack)", + "Model S (70 kW-hr battery pack)", + "Model S (75 kW-hr battery pack)", + "Model S (85 kW-hr battery pack)", + "Model S (90 kW-hr battery pack)", + "Model S 100D", + "Model S 75D", + "Model S 75kWh", + "Model S AWD (85 kW-hr battery pack)", + "Model S AWD - 100D", + "Model S AWD - 60D", + "Model S AWD - 70D", + "Model S AWD - 75D", + "Model S AWD - 85D", + "Model S AWD - 90D", + "Model S AWD - P100D", + "Model S AWD - P85D", + "Model S AWD - P90D", + "Model S Long Range", + "Model S Long Range Plus", + "Model S P100D", + "Model S Performance (19in Wheels)", + "Model S Performance (21in Wheels)", + "Model S Plaid (19 inch wheels)", + "Model S Plaid (19in wheels)", + "Model S Plaid (21 inch wheels)", + "Model S Plaid (21in wheels)", + "Model S Plaid (21inch wheels)", + "Model S Standard Range", + "Model X", + "Model X 100D", + "Model X 75D", + "Model X AWD - 100D", + "Model X AWD - 60D", + "Model X AWD - 75D", + "Model X AWD - 90D", + "Model X AWD - P100D", + "Model X AWD - P90D", + "Model X Long Range", + "Model X Long Range Plus", + "Model X P100D", + "Model X Performance (20in Wheels)", + "Model X Performance (22in Wheels)", + "Model X Plaid (20 inch wheels)", + "Model X Plaid (20in wheels)", + "Model X Plaid (22 inch wheels)", + "Model X Plaid (22in wheels)", + "Model X Standard Range", + "Model Y AWD", + "Model Y Long Range AWD", + "Model Y Performance AWD", + "Model Y Performance AWD (21in Wheels)", + "Model Y RWD", + "Model Y Standard Range RWD", + "Roadster" + ], + "Texas Coach Company": [ + "500 SEC", + "500SE", + "500SEL", + "500SL" + ], + "Toyota": [ + "1-Ton Truck 2WD", + "4-Runner", + "4Runner", + "4Runner 2WD", + "4Runner 4WD", + "86", + "Auris", + "Avalon", + "Avalon AWD", + "Avalon Hybrid", + "Avalon Hybrid XLE", + "Avalon TRD", + "Avalon XLE", + "Avensis", + "Avensis Combi", + "Avensis Van Verso", + "Aygo", + "C-HR", + "Cab Chassis 2WD", + "Cab/Chassis", + "Cab/Chassis 2WD", + "Camry", + "Camry AWD LE/SE", + "Camry AWD XLE/XSE", + "Camry CNG", + "Camry Hybrid", + "Camry Hybrid LE", + "Camry Hybrid SE/XLE/XSE", + "Camry Hybrid XLE", + "Camry Hybrid XLE/SE", + "Camry LE/SE", + "Camry Solara", + "Camry Solara Convertible", + "Camry TRD", + "Camry Wagon", + "Camry XLE/XSE", + "Camry XSE", + "Cargo Van 2WD", + "Cargo Van 4WD", + "Carina", + "Celica", + "Celica Convertible", + "Celica Supra", + "Corolla", + "Corolla APEX", + "Corolla All-Trac Wagon", + "Corolla Combi", + "Corolla Cross", + "Corolla Cross 4WD", + "Corolla Cross AWD", + "Corolla Cross Hybrid AWD", + "Corolla FX", + "Corolla Hatchback", + "Corolla Hatchback XSE", + "Corolla Hybrid", + "Corolla Hybrid AWD", + "Corolla LE Eco", + "Corolla Sport", + "Corolla Verso", + "Corolla Wagon", + "Corolla XLE", + "Corolla XSE", + "Corolla iM", + "Corolla sedan", + "Corona", + "Cressida", + "Cressida Wagon", + "Crown AWD", + "Echo", + "FJ Cruiser", + "FJ Cruiser 2WD", + "FJ Cruiser 4WD", + "GR 86", + "GR Corolla", + "GR Supra", + "GT86", + "Grand Highlander AWD LE/XLE", + "Grand Highlander AWD Limited/Platinum", + "Grand Highlander Hybrid", + "Grand Highlander Hybrid AWD", + "Grand Highlander Hybrid Limited", + "Grand Highlander LE/XLE", + "Grand Highlander Limited", + "Hiace", + "Hiace Van", + "Highlander", + "Highlander 2WD", + "Highlander 4WD", + "Highlander AWD", + "Highlander AWD LE", + "Highlander Hybrid", + "Highlander Hybrid 2WD", + "Highlander Hybrid 4WD", + "Highlander Hybrid AWD", + "Highlander Hybrid AWD LE Plus", + "Highlander Hybrid AWD LTD/PLAT", + "Highlander LE/XLE/SE/LTD", + "Hilux", + "Land Cruiser", + "Land Cruiser Wagon 4WD", + "MR2", + "MR2 Spyder", + "Matrix", + "Matrix AWD", + "Mirai", + "Mirai LE", + "Mirai Limited", + "Mirai XLE", + "Paseo", + "Paseo Convertible", + "Pickup", + "Picnic", + "Previa", + "Previa All-Trac", + "Prius", + "Prius AWD", + "Prius AWD XLE/LTD", + "Prius C", + "Prius Eco", + "Prius Plug-in Hybrid", + "Prius Prime", + "Prius Prime SE", + "Prius V", + "Prius XLE/LTD", + "Prius c", + "Prius v", + "RAV4", + "RAV4 2WD", + "RAV4 4WD", + "RAV4 AWD", + "RAV4 AWD LE", + "RAV4 AWD TRD OFFROAD", + "RAV4 EV", + "RAV4 Hybrid AWD", + "RAV4 Hybrid AWD", + "RAV4 Hybrid AWD Woodland Edition", + "RAV4 LE/XLE", + "RAV4 Limited AWD", + "RAV4 Limited AWD/SE AWD", + "RAV4 Prime 4WD", + "RAV4 Soft Top 2WD", + "RAV4 Soft Top 4WD", + "Sequoia", + "Sequoia 2WD", + "Sequoia 4WD", + "Sequoia 4WD FFV", + "Sienna", + "Sienna 2WD", + "Sienna 4WD", + "Sienna AWD", + "Sienna Hybrid 2WD", + "Sienna Hybrid AWD", + "Solara", + "Starlet", + "Supra", + "T100", + "T100 2WD", + "T100 4WD", + "Tacoma", + "Tacoma 2WD", + "Tacoma 4WD", + "Tacoma 4WD D-CAB MT TRD-ORP/PRO", + "Tacoma 4WD Double Cab", + "Tacoma 4WD Double Cab Off-Road", + "Tacoma 4WD MT", + "Tacoma 4WD TRD PRO", + "Tacoma SR5/Sport/Off-Road/Limited 4WD", + "Tacoma SR5/Sport/PreRunner 2WD", + "Tercel", + "Tercel EZ", + "Tercel Wagon", + "Tercel Wagon 2WD", + "Tercel Wagon 4WD", + "Truck 2WD", + "Truck 2WD/T100 2WD", + "Truck 4WD", + "Truck 4WD/T100 4WD", + "Tundra", + "Tundra 2WD", + "Tundra 2WD FFV", + "Tundra 4WD", + "Tundra 4WD FFV", + "Tundra 4WD PRO", + "Urban Cruiser", + "Van", + "Van 2WD", + "Van 2WD (cargo)", + "Van 2WD (passenger)", + "Van 4WD", + "Van 4WD (cargo)", + "Van 4WD (passenger)", + "Venza", + "Venza 4WD", + "Venza AWD", + "Verso", + "Yaris", + "Yaris Verso", + "Yaris iA", + "bZ4X", + "bZ4X AWD", + "bZ4X LIMITED", + "bZ4X LIMITED AWD", + "bZ4X Limited", + "bZ4X Limited AWD" + ], + "VPG": [ + "MV-1", + "MV-1 CNG" + ], + "Vector": [ + "Avtech SC / M12", + "W8" + ], + "Vinfast": [ + "VF 8 Eco", + "VF 8 Plus", + "VF 9 Eco", + "VF 9 Plus" + ], + "Vixen Motor Company": [ + "21 TD" + ], + "Volga Associated Automobile": [ + "Niva" + ], + "Volkswagen": [ + "Amarok", + "Arteon", + "Arteon 4motion", + "Atlas", + "Atlas 4motion", + "Atlas 4motion Peak Edition", + "Atlas Cross Sport", + "Atlas Cross Sport 4motion", + "Atlas SE 4motion", + "Atlas SEL 4motion", + "Beetle", + "Beetle Convertible", + "Beetle Dune", + "Beetle Dune Convertible", + "Bora", + "Bora Variant", + "CC", + "CC 4motion", + "Cabrio", + "Cabriolet", + "Caddy", + "Caddy Van", + "California", + "Caravelle", + "Corrado", + "Corrado SLC", + "Crafter", + "Crafter Kombi", + "Crafter Van", + "CrossTouran", + "Dasher", + "Eos", + "Eurovan", + "Eurovan Camper", + "Fox", + "Fox GL Wagon", + "Fox Wagon", + "GLI", + "GTI", + "GTI 16v", + "GTI VR6", + "GTI/Golf GT", + "Golf", + "Golf Alltrack", + "Golf Cabrio", + "Golf III", + "Golf III / GTI", + "Golf Plus", + "Golf R", + "Golf SportWagen", + "Golf SportWagen 4motion", + "Golf Sportvan", + "Golf Variant", + "Golf-R", + "Golf/GTI", + "ID.4", + "ID.4 1st", + "ID.4 AWD Pro", + "ID.4 AWD Pro S", + "ID.4 Pro", + "ID.4 Pro S", + "ID.4 S", + "Jetta", + "Jetta GLI", + "Jetta GLI 16v", + "Jetta GLI/Wolfsburg Edition", + "Jetta GLX", + "Jetta Hybrid", + "Jetta III", + "Jetta III GLX", + "Jetta SE/SEL", + "Jetta Sport/SE/SEL", + "Jetta SportWagen", + "Jetta Wagon", + "LT", + "Life", + "Lupo", + "Multivan", + "New Beetle", + "New Beetle Cabrio", + "New Beetle Convertible", + "New GTI", + "New Golf", + "New Jetta", + "Passat", + "Passat 4motion", + "Passat Alltrack", + "Passat CC", + "Passat Syncro", + "Passat Variant", + "Passat Variant Van", + "Passat Wagon", + "Passat Wagon 4motion", + "Passat Wagon Syncro", + "Phaeton", + "Pickup", + "Polo", + "Polo Van", + "Polo Variant", + "Quantum", + "Quantum Syncro Wagon", + "Quantum Wagon", + "R32", + "Rabbit", + "Rabbit Convertible", + "Routan", + "Routan FWD", + "Scirocco", + "Scirocco 16v", + "Sharan", + "T4", + "T4 Caravelle", + "T4 Multivan", + "T5", + "T5 Caravelle", + "T5 Multivan", + "T5 Transporter Shuttle", + "Taos", + "Taos 4motion", + "Tiguan", + "Tiguan 4motion", + "Tiguan Limited", + "Tiguan Limited 4motion", + "Tiguan R-Line 4motion", + "Tiguan S", + "Touareg", + "Touareg Hybrid", + "Touran", + "Vanagon", + "Vanagon 2WD", + "Vanagon Syncro 4WD", + "Vanagon/Camper 2WD", + "e-Golf" + ], + "Volvo": [ + "240", + "240 DL/240 GL", + "240 DL/240 GL Wagon", + "240 DL/GL/Turbo", + "240 DL/GL/Turbo Wagon", + "240 DL/GL/turbo", + "240 DL/GL/turbo Wagon", + "240 Wagon", + "260", + "340", + "360", + "460", + "740", + "740 16-Valve", + "740 16-Valve Wagon", + "740 Wagon", + "740/760", + "740/760 Wagon", + "760", + "760 GLE", + "760 Wagon", + "780", + "850", + "850 Wagon", + "850 kombi", + "940", + "940 GLE 16-Valve", + "940 GLE 16-Valve Wagon", + "940 SE", + "940 SE Wagon", + "940 Turbo", + "940 Turbo Wagon", + "940 Wagon", + "960", + "960 Wagon", + "960 Wagon/V90", + "960/S90", + "C30", + "C30 FWD", + "C40 Recharge", + "C40 Recharge twin", + "C70", + "C70 Cabrio", + "C70 Convertible", + "C70 Coupe", + "C70 Coupé", + "C70 FWD", + "Coupe", + "New C70 Convertible", + "S40", + "S40 AWD", + "S40 FWD", + "S60", + "S60 AWD", + "S60 AWD PHEV", + "S60 B5", + "S60 B5 AWD", + "S60 CC AWD", + "S60 FWD", + "S60 Inscription AWD", + "S60 Inscription FWD", + "S60 PoleStar AWD", + "S60 Polestar AWD", + "S60 R AWD", + "S60 T8 AWD Recharge", + "S60 T8 AWD Recharge ext. Range", + "S70", + "S70 AWD", + "S80", + "S80 AWD", + "S80 FWD", + "S80/S80 Executive", + "S80/S80 Premier", + "S90", + "S90 AWD", + "S90 AWD PHEV", + "S90 B6 AWD", + "S90 FWD", + "S90 T8 AWD Recharge", + "S90 T8 AWD Recharge ext. Range", + "V40", + "V50", + "V50 AWD", + "V50 FWD", + "V60", + "V60 AWD", + "V60 AWD PHEV", + "V60 CC AWD", + "V60 CC FWD", + "V60 FWD", + "V60 PoleStar AWD", + "V60 Polestar AWD", + "V60 T8 AWD Recharge", + "V60 T8 AWD Recharge ext. Range", + "V60CC B5 AWD", + "V60CC T5 AWD", + "V70", + "V70 AWD", + "V70 FWD", + "V70 R AWD", + "V70 XC AWD", + "V90", + "V90 AWD", + "V90 CC AWD", + "V90 FWD", + "V90CC B6 AWD", + "XC40 AWD", + "XC40 AWD BEV", + "XC40 B4", + "XC40 B5 AWD", + "XC40 FWD", + "XC40 Recharge", + "XC40 Recharge twin", + "XC40 T4", + "XC40 T5 AWD", + "XC60", + "XC60 AWD", + "XC60 AWD PHEV", + "XC60 B5", + "XC60 B5 AWD", + "XC60 B6 AWD", + "XC60 FWD", + "XC60 T8 AWD Recharge", + "XC60 T8 AWD Recharge ext. Range", + "XC70", + "XC70 AWD", + "XC70 FWD", + "XC90", + "XC90 AWD", + "XC90 AWD PHEV", + "XC90 B5 AWD", + "XC90 B6 AWD", + "XC90 FWD", + "XC90 T5", + "XC90 T5 AWD", + "XC90 T6 AWD", + "XC90 T8 AWD Recharge", + "XC90 T8 AWD Recharge ext. Range" + ], + "Wallace Environmental": [ + "Wetl 190E", + "Wetl 190E 2.3", + "Wetl 300 CE", + "Wetl 300 E", + "Wetl 300 GE", + "Wetl 300 SL", + "Wetl 300 TE", + "Wetl 412", + "Wetl 500 SE", + "Wetl 500 SEC", + "Wetl 500 SEL", + "Wetl 500 SL", + "Wetl 560 SEC", + "Wetl 560 SEL", + "Wetl 560 SL", + "Wetl 600 SEL", + "Wetl 850I", + "Wetl Testarossa" + ], + "Yugo": [ + "GV", + "GV Plus/GV/Cabrio", + "GV/GVX", + "GVC", + "GVL", + "GVS", + "GVX", + "Gy/yugo GVX" + ], + "smart": [ + "EQ fortwo (convertible)", + "EQ fortwo (coupe)", + "fortwo", + "fortwo cabriolet", + "fortwo convertible", + "fortwo coupe", + "fortwo electric drive cabriolet", + "fortwo electric drive convertible", + "fortwo electric drive coupe" + ], + "Seat": [ + "Alhambra", + "Altea", + "Altea XL", + "Arosa", + "Cordoba", + "Cordoba Vario", + "Exeo", + "Exeo ST", + "Ibiza", + "Ibiza ST", + "Inca", + "Leon", + "Leon ST", + "Mii", + "Toledo" + ], + "Citroën": [ + "Berlingo", + "C-Crosser", + "C-Elissée", + "C-Zero", + "C1", + "C2", + "C3", + "C3 Picasso", + "C4", + "C4 Aircross", + "C4 Cactus", + "C4 Coupé", + "C4 Grand Picasso", + "C4 Sedan", + "C5", + "C5 Break", + "C5 Tourer", + "C6", + "C8", + "DS3", + "DS4", + "DS5", + "Evasion", + "Jumper", + "Jumpy", + "Nemo", + "Saxo", + "Xantia", + "Xsara" + ], + "Opel": [ + "Agila", + "Ampera", + "Antara", + "Astra", + "Astra cabrio", + "Astra caravan", + "Astra coupé", + "Calibra", + "Campo", + "Cascada", + "Corsa", + "Frontera", + "Insignia", + "Insignia kombi", + "Kadett", + "Meriva", + "Mokka", + "Movano", + "Omega", + "Signum", + "Vectra", + "Vectra Caravan", + "Vivaro", + "Vivaro Kombi", + "Zafira" + ], + "Škoda": [ + "Citigo", + "Fabia", + "Fabia Combi", + "Fabia Sedan", + "Favorit", + "Felicia", + "Felicia Combi", + "Octavia", + "Octavia Combi", + "Rapid", + "Rapid Spaceback", + "Roomster", + "Superb", + "Superb Combi", + "Yeti" + ], + "Rover": [ + "200", + "214", + "218", + "25", + "400", + "414", + "416", + "620", + "75" + ], + "Smart": [ + "Cabrio", + "City-Coupé", + "Compact Pulse", + "Forfour", + "Fortwo cabrio", + "Fortwo coupé", + "Roadster" + ], + "AMC": [ + "Alliance", + "Concord", + "Eagle", + "Encore", + "Spirit" + ], + "Avanti": [ + "Convertible", + "Coupe", + "Sedan" + ], + "Datsun": [ + "200SX", + "210", + "280ZX", + "300ZX", + "310", + "510", + "720", + "810", + "Maxima", + "Pickup", + "Pulsar", + "Sentra", + "Stanza" + ], + "DeLorean": [ + "DMC-12" + ], + "FIAT": [ + "2000 Spider", + "500", + "Bertone X1/9", + "Brava", + "Pininfarina Spider", + "Strada", + "X1/9" + ], + "Freightliner": [ + "Sprinter" + ], + "HUMMER": [ + "H1", + "H2", + "H3", + "H3T" + ], + "Lancia": [ + "Beta", + "Zagato" + ], + "McLaren": [ + "MP4-12C" + ], + "RAM": [ + "1500", + "2500", + "3500", + "4500" + ], + "Triumph": [ + "TR7", + "TR8" + ] +} \ No newline at end of file diff --git a/CarManagerV3/Util/CarCompletions.cs b/CarManagerV3/Util/CarCompletions.cs new file mode 100644 index 0000000..372e9f2 --- /dev/null +++ b/CarManagerV3/Util/CarCompletions.cs @@ -0,0 +1,261 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using CarManagerV3.Classes; + +namespace CarManagerV3.Util +{ + /// + /// Provides car manufacturer and model autocompletion data for the application. + /// Manages fetching, caching, and retrieval of car brand and model information from remote sources and local storage. + /// + /// + /// This class maintains a static list of car manufacturers and their models, supports fetching updated data from remote URLs, + /// and caches the data locally for offline use. It implements retry logic to prevent excessive network requests. + /// + internal class CarCompletions + { + /// + /// A list of URLs that should be used to fetch the json file with autocompletion data. + /// Multiple URLs are provided to ensure that if one source is unavailable, the others can be used as a fallback. The application should attempt to fetch the data from each URL in order until it successfully retrieves the data or exhausts all options. + /// + private static readonly string[] carDataFileUrls = + { + "https://static.clsw.app/carmgm/merged-cars.json" + }; + + /// + /// The filename for the cached car completion data in the user's data directory. + /// + private static readonly string carCompletionDataFileName = "car_data.json"; + + /// + /// The timestamp of the last fetch attempt for car completion data. + /// Used to implement retry throttling to prevent excessive network requests. + /// + private static DateTime lastFetchAttempt = Properties.Settings.Default.LastFetchedAutoCompletions; + + /// + /// The minimum time interval that must elapse between fetch attempts. + /// Prevents excessive retry attempts when the remote source is unavailable. + /// + private static readonly TimeSpan fetchRetryInterval = Properties.Settings.Default.FetchAutoCompletionsInterval; // Minimum interval between fetch attempts + + /// + /// Gets the full file path for the car completion data file. + /// Ensures that the user data directory exists before returning the path. + /// + /// The full file path to the car completion data file in the user's data directory. + private static string getCarCompletionDataFilePath() + { + var userDataDir = Properties.Settings.Default.DataLocation; + SafeManager.EnsureDirectoryExists(userDataDir); + return Path.Combine(userDataDir, carCompletionDataFileName); + } + + /// + /// The static list of car manufacturers and their available models. + /// This list serves as the default data and is updated when fetching from remote sources or local cache. + /// + public static List carBrands = new List + { + new CarManufacturer("Toyota") { Models = new List { "Camry", "Corolla", "RAV4" } }, + new CarManufacturer("Honda") { Models = new List { "Civic", "Accord", "CR-V" } }, + new CarManufacturer("Ford") { Models = new List { "F-150", "Mustang", "Escape" } }, + new CarManufacturer("Chevrolet") { Models = new List { "Silverado", "Malibu", "Equinox" } }, + new CarManufacturer("BMW") { Models = new List { "3 Series", "5 Series", "X5" } }, + new CarManufacturer("Mercedes-Benz") { Models = new List { "C-Class", "E-Class", "GLC" } }, + new CarManufacturer("Audi") { Models = new List { "A4", "A6", "Q5" } }, + new CarManufacturer("Volkswagen") { Models = new List { "Golf", "Passat", "Tiguan" } }, + new CarManufacturer("Nissan") { Models = new List { "Altima", "Sentra", "Rogue" } }, + new CarManufacturer("Hyundai") { Models = new List { "Elantra", "Sonata", "Tucson" } }, + new CarManufacturer("SEAT") { Models = new List { "Ibiza", "Leon", "Ateca", "Alhambra" } }, + new CarManufacturer("Skoda") { Models = new List { "Octavia", "Fabia", "Kodiaq" } }, + }; + + /// + /// Gets the full list of car brands. + /// + /// A list of strings containing all available car manufacturer names. + public static List GetCarBrands() + { + return carBrands.Select(c => c.Name).ToList(); + } + + /// + /// Retrieves the list of car models for a specified brand. + /// The search is case-insensitive. + /// + /// The name of the car brand to search for. + /// A list of car models for the specified brand, or an empty list if the brand is not found. + public static List GetCarModels(string brand) + { + var manufacturer = carBrands.FirstOrDefault(c => c.Name.Equals(brand, StringComparison.OrdinalIgnoreCase)); + return manufacturer != null ? manufacturer.Models : new List(); + } + + /// + /// A predefined list of common car colors for autocompletion purposes. + /// Provides standard color options that are frequently used in vehicle descriptions. + /// + public static List CommonColors = new List + { + "Black", "White", "Gray", "Silver", "Red", "Blue", "Green", "Yellow", "Brown", "Orange" + }; + + /// + /// Reads car completion data from an embedded resource file. + /// This method is intended to populate the carBrands list from a JSON resource embedded in the project. + /// + /// + /// The expected resource format is a JSON object where keys are car brand names and values are lists of model names. + /// Resource name: CarCompleteData (JSON file format). + /// Currently not implemented. + /// + public static void ReadFromResourceFile() + { + // Read the json file from the projects resources and populate the carBrands list + // Format is a json object with the key being the car brand and the value being a list of models + + // Get the json string from the resources, Resource name is CarCompleteData, it is a .json file + + + } + + /// + /// Fetches the car data from urls asynchronous and saves it in the users data directory for offline use. + /// + /// A task representing the asynchronous operation. + /// + /// This method implements retry throttling using the to prevent excessive network requests. + /// It attempts to fetch data from each URL in in order until successful or all URLs are exhausted. + /// The fetched data is saved to the local file system for offline access. + /// + public static async Task FetchCarCompletionDataFromUrlsAsync() + { + if(DateTime.Now - lastFetchAttempt < fetchRetryInterval) + { + System.Diagnostics.Debug.WriteLine("Fetch attempt skipped to avoid excessive retries. Last attempt was at " + lastFetchAttempt); + Console.WriteLine("Fetch attempt skipped to avoid excessive retries. Last attempt was at " + lastFetchAttempt); + return; + } + foreach (var url in carDataFileUrls) + { + try + { + lastFetchAttempt = DateTime.Now; + Properties.Settings.Default.LastFetchedAutoCompletions = lastFetchAttempt; + Properties.Settings.Default.Save(); + using var httpClient = new HttpClient(); + var response = await httpClient.GetAsync(url); + response.EnsureSuccessStatusCode(); + var jsonData = await response.Content.ReadAsStringAsync(); + // Saves the json data to a file in the user's data directory for offline use + var filePath = getCarCompletionDataFilePath(); + await File.WriteAllTextAsync(filePath, jsonData); + System.Diagnostics.Debug.WriteLine($"Successfully fetched car data from {url} and saved to {filePath}"); + break; // Exit the loop if data is successfully fetched + } + catch (Exception ex) + { + // Log the error and try the next URL + System.Diagnostics.Debug.WriteLine($"Failed to fetch car data from {url}: {ex.Message}"); + Console.WriteLine($"Failed to fetch car data from {url}: {ex.Message}"); + } + } + } + + /// + /// Fetches the car data from urls and saves it in the users data directory for offline use. + /// This is a synchronous wrapper that blocks until the asynchronous fetch operation completes. + /// + /// A task representing the synchronous operation. + /// + /// This method wraps and runs it synchronously. + /// Consider using the async version directly when possible to avoid blocking the thread. + /// + public static Task FetchCarCompletionDataFromUrls() + { + // Run synchronously + return Task.Run(() => FetchCarCompletionDataFromUrlsAsync().Wait()); + } + + /// + /// Loads car manufacturer data from the locally cached file. + /// Optionally fetches updated data from remote sources before loading from file. + /// + /// If true, skips fetching data from remote sources and only reads from the local cache. Default is false. + /// A list of objects populated from the cached file, or an empty list if the file doesn't exist or an error occurs. + /// + /// The expected file format is a JSON object where keys are car brand names and values are lists of model names. + /// If the file doesn't exist or cannot be read, an error message is logged and an empty list is returned. + /// + public static List GetFromFile(bool skipOnlineUpdate = false) + { + if (!skipOnlineUpdate) FetchCarCompletionDataFromUrls(); + var filePath = getCarCompletionDataFilePath(); + if (File.Exists(filePath)) + { + try + { + var jsonData = File.ReadAllText(filePath); + // Parse the json data and populate the carBrands list + // Format is a json object with the key being the car brand and the value being a list of models + var carData = Newtonsoft.Json.JsonConvert.DeserializeObject>>(jsonData); + List _carBrands = carData.Select(kvp => new CarManufacturer(kvp.Key) { Models = kvp.Value }).ToList(); + return _carBrands; + } + catch (Exception ex) + { + // Silent error. + Console.WriteLine($"Failed to read car data from file: {ex.Message}"); + } + } + else + { + Console.Error.WriteLine("Car data file not found. Please ensure that the data has been fetched successfully at least once."); + } + return new List(); + } + + /// + /// Updates the static list with data from the local cache file. + /// Only updates the list if the cached file contains valid data. + /// + /// If true, skips fetching data from remote sources before updating. Default is false. + /// + /// This method calls and updates only if the returned list is not empty. + /// If no data is retrieved, the existing list remains unchanged. + /// + public static void UpdateCarCompletionData(bool skipOnlineUpdate = false) + { + var updatedCarBrands = GetFromFile(skipOnlineUpdate); + if (updatedCarBrands.Count > 0) + { + carBrands = updatedCarBrands; + } + } + + /// + /// Asynchronously updates the car completion data by fetching from remote sources and updating the local cache. + /// This is the recommended method for refreshing car data in the application. + /// + /// A task representing the asynchronous update operation. + /// + /// This method first attempts to fetch updated data from remote URLs using , + /// then updates the static list from the local cache using . + /// + public static async Task UpdateCarCompletionDataAsync() + { + await FetchCarCompletionDataFromUrlsAsync(); + System.Diagnostics.Debug.WriteLine("Car completion data fetch attempt completed. Now updating local data."); + UpdateCarCompletionData(true); + } + } + +}