Module:Device/data

return { osForDevice = { -- The first of these to match a prefix of the model string will be used.

-- Macs { 'iMac',  'macOS' }, { 'Xserve', 'macOS' }, { 'Mac',   'macOS' },

-- Apple TVs { 'AppleTV1,', 'Apple TV Software' }, -- Mac OS X 10.4 Tiger variant

{ 'AppleTV2,', 'iOS' }, -- AppleTV's 2_1, 3_1, and 3_2 are iOS { 'AppleTV3,', 'iOS' },

{ 'AppleTV5,', 'tvOS' }, { 'AppleTV6,', 'tvOS' }, { 'AppleTV11,', 'tvOS' }, { 'AppleTV14,', 'tvOS' },

-- Apple Watch { 'Watch', 'watchOS' },

-- iBridge { 'iBridge', 'bridgeOS' },

-- HomePod { 'AudioAccessory', 'audioOS' },

-- iPad -- Edge case: Versions prior to 13.0 are called iOS. { 'iPad1,', 'iOS' }, { 'iPad2,', 'iOS' }, { 'iPad3,', 'iOS' }, { 'iPad4,', 'iOS' }, { 'iPad',  'iPadOS' },

-- iPhone -- Edge case: Versions prior to 4.0 are called iPhone OS. { 'iPhone1,1', 'iPhone OS' }, { 'iPhone',   'iOS' },

-- iPod touch -- Edge case: Versions prior to 4.0 are called iPhone OS. { 'iPod1,1', 'iPhone OS' }, { 'iPod',   'iOS' } },

devices = { -- Apple TV		['AppleTV2,1'] = { name   = 'Apple TV (2nd generation)', article = 'K66AP' },		['AppleTV3,1'] = { name   = 'Apple TV (3rd generation) (AppleTV3,1)', article = 'J33AP' },		['AppleTV3,2'] = { name   = 'Apple TV (3rd generation) (AppleTV3,2)', article = 'J33IAP' },		['AppleTV5,3'] = { name   = 'Apple TV HD', article = 'J42dAP' },		['AppleTV6,2'] = { name   = 'Apple TV 4K', article = 'J105aAP' },		['AppleTV11,1'] = { name   = 'Apple TV 4K (2nd generation)', article = 'J305AP' },		['AppleTV14,1'] = { name   = 'Apple TV 4K (3rd generation)', article = 'J255AP' },

-- Apple Watch ['Watch1,1'] = { name   = 'Apple Watch (1st generation) 38mm (Watch1,1)', article = 'N27aAP' },		['Watch1,2'] = { name   = 'Apple Watch (1st generation) 42mm (Watch1,2)', article = 'N28aAP' },		['Watch2,3'] = { name   = 'Apple Watch Series 2 38mm (Watch2,3)', article = 'N74AP' },		['Watch2,4'] = { name   = 'Apple Watch Series 2 42mm (Watch2,4)', article = 'N75AP' },		['Watch2,6'] = { name   = 'Apple Watch Series 1 38mm (Watch2,6)', article = 'N27dAP' },		['Watch2,7'] = { name   = 'Apple Watch Series 1 42mm (Watch2,7)', article = 'N28dAP' },		['Watch3,1'] = { name   = 'Apple Watch Series 3 38mm (Watch3,1)', article = 'N111sAP' },		['Watch3,2'] = { name   = 'Apple Watch Series 3 42mm (Watch3,2)', article = 'N111bAP' },		['Watch3,3'] = { name   = 'Apple Watch Series 3 38mm (Watch3,3)', article = 'N121sAP' },		['Watch3,4'] = { name   = 'Apple Watch Series 3 42mm (Watch3,4)', article = 'N121bAP' },		['Watch4,1'] = { name   = 'Apple Watch Series 4 (Watch4,1)', article = 'N131sAP' },		['Watch4,2'] = { name   = 'Apple Watch Series 4 (Watch4,2)', article = 'N131bAP' },		['Watch4,3'] = { name   = 'Apple Watch Series 4 (Watch4,3)', article = 'N141sAP' },		['Watch4,4'] = { name   = 'Apple Watch Series 4 (Watch4,4)', article = 'N141bAP' },		['Watch5,1'] = { name   = 'Apple Watch Series 5 (Watch5,1)', article = 'N144sAP' },		['Watch5,2'] = { name   = 'Apple Watch Series 5 (Watch5,2)', article = 'N144bAP' },		['Watch5,3'] = { name   = 'Apple Watch Series 5 (Watch5,3)', article = 'N146sAP' },		['Watch5,4'] = { name   = 'Apple Watch Series 5 (Watch5,4)', article = 'N146bAP' },		['Watch5,9'] = { name   = 'Apple Watch SE (Watch5,9)', article = 'N140sAP' },		['Watch5,10'] = { name   = 'Apple Watch SE (Watch5,10)', article = 'N140bAP' },		['Watch5,11'] = { name   = 'Apple Watch SE (Watch5,11)', article = 'N142sAP' },		['Watch5,12'] = { name   = 'Apple Watch SE (Watch5,12)', article = 'N142bAP' },		['Watch6,1'] = { name   = 'Apple Watch Series 6 (Watch6,1)', article = 'N157sAP' },		['Watch6,2'] = { name   = 'Apple Watch Series 6 (Watch6,2)', article = 'N157bAP' },		['Watch6,3'] = { name   = 'Apple Watch Series 6 (Watch6,3)', article = 'N158sAP' },		['Watch6,4'] = { name   = 'Apple Watch Series 6 (Watch6,4)', article = 'N158bAP' },		['Watch6,6'] = { name   = 'Apple Watch Series 7 (Watch6,6)', article = 'N187sAP' },		['Watch6,7'] = { name   = 'Apple Watch Series 7 (Watch6,7)', article = 'N187bAP' },		['Watch6,8'] = { name   = 'Apple Watch Series 7 (Watch6,8)', article = 'N188sAP' },		['Watch6,9'] = { name   = 'Apple Watch Series 7 (Watch6,9)', article = 'N188bAP' },		['Watch6,10'] = { name   = 'Apple Watch SE (Watch6,10)', article = 'N143sAP' },		['Watch6,11'] = { name   = 'Apple Watch SE (Watch6,11)', article = 'N143bAP' },		['Watch6,12'] = { name   = 'Apple Watch SE (Watch6,12)', article = 'N149sAP' },		['Watch6,13'] = { name   = 'Apple Watch SE (Watch6,13)', article = 'N149bAP' },		['Watch6,14'] = { name   = 'Apple Watch Series 8 (Watch6,14)', article = 'N197sAP' },		['Watch6,15'] = { name   = 'Apple Watch Series 8 (Watch6,15)', article = 'N197bAP' },		['Watch6,16'] = { name   = 'Apple Watch Series 8 (Watch6,16)', article = 'N198sAP' },		['Watch6,17'] = { name   = 'Apple Watch Series 8 (Watch6,17)', article = 'N198bAP' },		['Watch6,18'] = { name   = 'Apple Watch Ultra', article = 'N199AP' },

-- iBridge ['iBridge'] = { name   = 'iBridge', article = 'iBridge' },		['iBridge2,1'] = { name   = 'iBridge (iBridge2,1)', article = 'iBridge' },		['iBridge2,3'] = { name   = 'iBridge (iBridge2,3)', article = 'iBridge' },		['iBridge2,4'] = { name   = 'iBridge (iBridge2,4)', article = 'iBridge' },		['iBridge2,5'] = { name   = 'iBridge (iBridge2,5)', article = 'iBridge' },		['iBridge2,6'] = { name   = 'iBridge (iBridge2,6)', article = 'iBridge' },		['iBridge2,7'] = { name   = 'iBridge (iBridge2,7)', article = 'iBridge' },		['iBridge2,8'] = { name   = 'iBridge (iBridge2,8)', article = 'iBridge' },		['iBridge2,10'] = { name   = 'iBridge (iBridge2,10)', article = 'iBridge' },		['iBridge2,12'] = { name   = 'iBridge (iBridge2,12)', article = 'iBridge' },		['iBridge2,14'] = { name   = 'iBridge (iBridge2,14)', article = 'iBridge' },		['iBridge2,15'] = { name   = 'iBridge (iBridge2,15)', article = 'iBridge' },		['iBridge2,16'] = { name   = 'iBridge (iBridge2,16)', article = 'iBridge' },		['iBridge2,19'] = { name   = 'iBridge (iBridge2,19)', article = 'iBridge' },		['iBridge2,20'] = { name   = 'iBridge (iBridge2,20)', article = 'iBridge' },		['iBridge2,21'] = { name   = 'iBridge (iBridge2,21)', article = 'iBridge' },		['iBridge2,22'] = { name   = 'iBridge (iBridge2,22)', article = 'iBridge' },

-- HomePod ['AudioAccessory1,1'] = { name   = 'HomePod (AudioAccessory1,1)', article = 'B238aAP' },		['AudioAccessory1,2'] = { name   = 'HomePod (AudioAccessory1,2)', article = 'B238AP' },		['AudioAccessory5,1'] = { name   = 'HomePod mini', article = 'B520AP' },		['AudioAccessory6,1'] = { name   = 'HomePod (2nd generation)', article = 'B620AP' },

-- iPad ['iPad1,1'] = { name   = 'iPad', article = 'K48AP' },		['iPad2,1'] = { name   = 'iPad 2 (iPad2,1)', article = 'K93AP' },		['iPad2,2'] = { name   = 'iPad 2 (iPad2,2)', article = 'K94AP' },		['iPad2,3'] = { name   = 'iPad 2 (iPad2,3)', article = 'K95AP' },		['iPad2,4'] = { name   = 'iPad 2 (iPad2,4)', article = 'K93AAP' },		['iPad2,5'] = { name   = 'iPad mini (iPad2,5)', article = 'P105AP' },		['iPad2,6'] = { name   = 'iPad mini (iPad2,6)', article = 'P106AP' },		['iPad2,7'] = { name   = 'iPad mini (iPad2,7)', article = 'P107AP' },		['iPad3,1'] = { name   = 'iPad (3rd generation) (iPad3,1)', article = 'J1AP' },		['iPad3,2'] = { name   = 'iPad (3rd generation) (iPad3,2)', article = 'J2AP' },		['iPad3,3'] = { name   = 'iPad (3rd generation) (iPad3,3)', article = 'J2AAP' },		['iPad3,4'] = { name   = 'iPad (4th generation) (iPad3,4)', article = 'P101AP' },		['iPad3,5'] = { name   = 'iPad (4th generation) (iPad3,5)', article = 'P102AP' },		['iPad3,6'] = { name   = 'iPad (4th generation) (iPad3,6)', article = 'P103AP' },		['iPad4,1'] = { name   = 'iPad Air (iPad4,1)', article = 'J71AP' },		['iPad4,2'] = { name   = 'iPad Air (iPad4,2)', article = 'J72AP' },		['iPad4,3'] = { name   = 'iPad Air (iPad4,3)', article = 'J73AP' },		['iPad4,4'] = { name   = 'iPad mini 2 (iPad4,4)', article = 'J85AP' },		['iPad4,5'] = { name   = 'iPad mini 2 (iPad4,5)', article = 'J86AP' },		['iPad4,6'] = { name   = 'iPad mini 2 (iPad4,6)', article = 'J87AP' },		['iPad4,7'] = { name   = 'iPad mini 3 (iPad4,7)', article = 'J85mAP' },		['iPad4,8'] = { name   = 'iPad mini 3 (iPad4,8)', article = 'J86mAP' },		['iPad4,9'] = { name   = 'iPad mini 3 (iPad4,9)', article = 'J87mAP' },		['iPad5,1'] = { name   = 'iPad mini 4 (iPad5,1)', article = 'J96AP' },		['iPad5,2'] = { name   = 'iPad mini 4 (iPad5,2)', article = 'J97AP' },		['iPad5,3'] = { name   = 'iPad Air 2 (iPad5,3)', article = 'J81AP' },		['iPad5,4'] = { name   = 'iPad Air 2 (iPad5,4)', article = 'J82AP' },		['iPad6,3'] = { name   = 'iPad Pro (iPad6,3)', article = 'J127AP' },		['iPad6,4'] = { name   = 'iPad Pro (iPad6,4)', article = 'J128AP' },		['iPad6,7'] = { name   = 'iPad Pro (iPad6,7)', article = 'J98aAP' },		['iPad6,8'] = { name   = 'iPad Pro (iPad6,8)', article = 'J99aAP' },		['iPad6,11'] = { name   = 'iPad (5th generation) (iPad6,11)', article = 'iPad6,11' },		['iPad6,12'] = { name   = 'iPad (5th generation) (iPad6,12)', article = 'iPad6,12' },		['iPad7,1'] = { name   = 'iPad Pro (12.9-inch) (2nd generation) (iPad7,1)', article = 'J120AP' },		['iPad7,2'] = { name   = 'iPad Pro (12.9-inch) (2nd generation) (iPad7,2)', article = 'J121AP' },		['iPad7,3'] = { name   = 'iPad Pro (10.5-inch) (iPad7,3)', article = 'J207AP' },		['iPad7,4'] = { name   = 'iPad Pro (10.5-inch) (iPad7,4)', article = 'J208AP' },		['iPad7,5'] = { name   = 'iPad (6th generation) (iPad7,5)', article = 'J71bAP' },		['iPad7,6'] = { name   = 'iPad (6th generation) (iPad7,6)', article = 'J72bAP' },		['iPad7,11'] = { name   = 'iPad (7th generation) (iPad7,11)', article = 'J171AP' },		['iPad7,12'] = { name   = 'iPad (7th generation) (iPad7,12)', article = 'J172AP' },		['iPad8,1'] = { name   = 'iPad Pro (11-inch) (iPad8,1)', article = 'J317AP' },		['iPad8,2'] = { name   = 'iPad Pro (11-inch) (iPad8,2)', article = 'J317xAP' },		['iPad8,3'] = { name   = 'iPad Pro (11-inch) (iPad8,3)', article = 'J318AP' },		['iPad8,4'] = { name   = 'iPad Pro (11-inch) (iPad8,4)', article = 'J318xAP' },		['iPad8,5'] = { name   = 'iPad Pro (12.9-inch) (3rd generation) (iPad8,5)', article = 'J320AP' },		['iPad8,6'] = { name   = 'iPad Pro (12.9-inch) (3rd generation) (iPad8,6)', article = 'J320xAP' },		['iPad8,7'] = { name   = 'iPad Pro (12.9-inch) (3rd generation) (iPad8,7)', article = 'J321AP' },		['iPad8,8'] = { name   = 'iPad Pro (12.9-inch) (3rd generation) (iPad8,8)', article = 'J321xAP' },		['iPad8,9'] = { name   = 'iPad Pro (11-inch) (2nd generation) (iPad8,9)', article = 'J417AP' },		['iPad8,10'] = { name   = 'iPad Pro (11-inch) (2nd generation) (iPad8,10)', article = 'J418AP' },		['iPad8,11'] = { name   = 'iPad Pro (12.9-inch) (4th generation) (iPad8,11)', article = 'J420AP' },		['iPad8,12'] = { name   = 'iPad Pro (12.9-inch) (4th generation) (iPad8,12)', article = 'J421AP' },		['iPad11,1'] = { name   = 'iPad mini (5th generation) (iPad11,1)', article = 'J210AP' },		['iPad11,2'] = { name   = 'iPad mini (5th generation) (iPad11,2)', article = 'J211AP' },		['iPad11,3'] = { name   = 'iPad Air (3rd generation) (iPad11,3)', article = 'J217AP' },		['iPad11,4'] = { name   = 'iPad Air (3rd generation) (iPad11,4)', article = 'J218AP' },		['iPad11,6'] = { name   = 'iPad (8th generation) (iPad11,6)', article = 'J171aAP' },		['iPad11,7'] = { name   = 'iPad (8th generation) (iPad11,7)', article = 'J172aAP' },		['iPad12,1'] = { name   = 'iPad (9th generation) (iPad12,1)', article = 'J181AP' },		['iPad12,2'] = { name   = 'iPad (9th generation) (iPad12,2)', article = 'J182AP' },		['iPad13,1'] = { name   = 'iPad Air (4th generation) (iPad13,1)', article = 'J307AP' },		['iPad13,2'] = { name   = 'iPad Air (4th generation) (iPad13,2)', article = 'J308AP' },		['iPad13,4'] = { name   = 'iPad Pro (11-inch) (3rd generation) (iPad13,4)', article = 'J517AP' },		['iPad13,5'] = { name   = 'iPad Pro (11-inch) (3rd generation) (iPad13,5)', article = 'J517xAP' },		['iPad13,6'] = { name   = 'iPad Pro (11-inch) (3rd generation) (iPad13,6)', article = 'J518AP' },		['iPad13,7'] = { name   = 'iPad Pro (11-inch) (3rd generation) (iPad13,7)', article = 'J518xAP' },		['iPad13,8'] = { name   = 'iPad Pro (12.9-inch) (5th generation) (iPad13,8)', article = 'J522AP' },		['iPad13,9'] = { name   = 'iPad Pro (12.9-inch) (5th generation) (iPad13,9)', article = 'J522xAP' },		['iPad13,10'] = { name   = 'iPad Pro (12.9-inch) (5th generation) (iPad13,10)', article = 'J523AP' },		['iPad13,11'] = { name   = 'iPad Pro (12.9-inch) (5th generation) (iPad13,11)', article = 'J523xAP' },		['iPad13,16'] = { name   = 'iPad Air (5th generation) (iPad13,16)', article = 'J407AP' },		['iPad13,17'] = { name   = 'iPad Air (5th generation) (iPad13,17)', article = 'J408AP' },		['iPad13,18'] = { name   = 'iPad (10th generation) (iPad13,18)', article = 'J271AP' },		['iPad13,19'] = { name   = 'iPad (10th generation) (iPad13,19)', article = 'J272AP' },		['iPad14,1'] = { name   = 'iPad mini (6th generation) (iPad14,1)', article = 'J310AP' },		['iPad14,2'] = { name   = 'iPad mini (6th generation) (iPad14,2)', article = 'J311AP' },		['iPad14,3'] = { name   = 'iPad Pro (11-inch) (4th generation) (iPad14,3)', article = 'J617AP' },		['iPad14,4'] = { name   = 'iPad Pro (11-inch) (4th generation) (iPad14,4)', article = 'J618AP' },		['iPad14,5'] = { name   = 'iPad Pro (12.9-inch) (6th generation) (iPad14,5)', article = 'J620AP' },		['iPad14,6'] = { name   = 'iPad Pro (12.9-inch) (6th generation) (iPad14,6)', article = 'J621AP' },

-- iPhone ['iPhone1,1'] = { name   = 'iPhone', article = 'M68AP' },		['iPhone1,2'] = { name   = 'iPhone 3G', article = 'N82AP' },		['iPhone2,1'] = { name   = 'iPhone 3GS', article = 'N88AP' },		['iPhone3,1'] = { name   = 'iPhone 4 (iPhone3,1)', article = 'N90AP' },		['iPhone3,2'] = { name   = 'iPhone 4 (iPhone3,2)', article = 'N90BAP' },		['iPhone3,3'] = { name   = 'iPhone 4 (iPhone3,3)', article = 'N92AP' },		['iPhone4,1'] = { name   = 'iPhone 4s', article = 'N94AP' },		['iPhone5,1'] = { name   = 'iPhone 5 (iPhone5,1)', article = 'N41AP' },		['iPhone5,2'] = { name   = 'iPhone 5 (iPhone5,2)', article = 'N42AP' },		['iPhone5,3'] = { name   = 'iPhone 5c (iPhone5,3)', article = 'N48AP' },		['iPhone5,4'] = { name   = 'iPhone 5c (iPhone5,4)', article = 'N49AP' },		['iPhone6,1'] = { name   = 'iPhone 5s (iPhone6,1)', article = 'N51AP' },		['iPhone6,2'] = { name   = 'iPhone 5s (iPhone6,2)', article = 'N53AP' },		['iPhone7,1'] = { name   = 'iPhone 6 Plus', article = 'N56AP' },		['iPhone7,2'] = { name   = 'iPhone 6', article = 'N61AP' },		['iPhone8,1'] = { name   = 'iPhone 6s', article = 'iPhone 6s' },		['iPhone8,2'] = { name   = 'iPhone 6s Plus', article = 'iPhone 6s Plus' },		['iPhone8,4'] = { name   = 'iPhone SE (1st generation)', article = 'iPhone SE (1st generation)' },		['iPhone9,1'] = { name   = 'iPhone 7 (iPhone9,1)', article = 'D10AP' },		['iPhone9,2'] = { name   = 'iPhone 7 Plus (iPhone9,2)', article = 'D11AP' },		['iPhone9,3'] = { name   = 'iPhone 7 (iPhone9,3)', article = 'D101AP' },		['iPhone9,4'] = { name   = 'iPhone 7 Plus (iPhone9,4)', article = 'D111AP' },		['iPhone10,1'] = { name   = 'iPhone 8 (iPhone10,1)', article = 'iPhone10,1' },		['iPhone10,2'] = { name   = 'iPhone 8 Plus (iPhone10,2)', article = 'iPhone10,2' },		['iPhone10,3'] = { name   = 'iPhone X (iPhone10,3)', article = 'D22AP' },		['iPhone10,4'] = { name   = 'iPhone 8 (iPhone10,4)', article = 'iPhone10,4' },		['iPhone10,5'] = { name   = 'iPhone 8 Plus (iPhone10,5)', article = 'iPhone10,5' },		['iPhone10,6'] = { name   = 'iPhone X (iPhone10,6)', article = 'D221AP' },		['iPhone11,2'] = { name   = 'iPhone XS', article = 'D321AP' },		['iPhone11,4'] = { name   = 'iPhone XS Max (iPhone11,4)', article = 'D331AP' },		['iPhone11,6'] = { name   = 'iPhone XS Max (iPhone11,6)', article = 'D331pAP' },		['iPhone11,8'] = { name   = 'iPhone XR', article = 'N841AP' },		['iPhone12,1'] = { name   = 'iPhone 11', article = 'N104AP' },		['iPhone12,3'] = { name   = 'iPhone 11 Pro', article = 'D421AP' },		['iPhone12,5'] = { name   = 'iPhone 11 Pro Max', article = 'D431AP' },		['iPhone12,8'] = { name   = 'iPhone SE (2nd generation)', article = 'D79AP' },		['iPhone13,1'] = { name   = 'iPhone 12 mini', article = 'D52gAP' },		['iPhone13,2'] = { name   = 'iPhone 12', article = 'D53gAP' },		['iPhone13,3'] = { name   = 'iPhone 12 Pro', article = 'D53pAP' },		['iPhone13,4'] = { name   = 'iPhone 12 Pro Max', article = 'D54pAP' },		['iPhone14,2'] = { name   = 'iPhone 13 Pro', article = 'D63AP' },		['iPhone14,3'] = { name   = 'iPhone 13 Pro Max', article = 'D64AP' },		['iPhone14,4'] = { name   = 'iPhone 13 mini', article = 'D16AP' },		['iPhone14,5'] = { name   = 'iPhone 13', article = 'D17AP' },		['iPhone14,6'] = { name   = 'iPhone SE (3rd generation)', article = 'D49AP' },		['iPhone14,7'] = { name   = 'iPhone 14', article = 'D27AP' },		['iPhone14,8'] = { name   = 'iPhone 14 Plus', article = 'D28AP' },		['iPhone15,2'] = { name   = 'iPhone 14 Pro', article = 'D73AP' },		['iPhone15,3'] = { name   = 'iPhone 14 Pro Max', article = 'D74AP' },

-- iPod touch ['iPod1,1'] = { name   = 'iPod touch', article = 'N45AP' },		['iPod2,1'] = { name   = 'iPod touch (2nd generation)', article = 'N72AP' },		['iPod3,1'] = { name   = 'iPod touch (3rd generation)', article = 'N18AP' },		['iPod4,1'] = { name   = 'iPod touch (4th generation)', article = 'N81AP' },		['iPod5,1'] = { name   = 'iPod touch (5th generation)', article = 'iPod touch (5th generation)' },		['iPod7,1'] = { name   = 'iPod touch (6th generation)', article = 'N102AP' },		['iPod9,1'] = { name   = 'iPod touch (7th generation)', article = 'N112AP' },

-- AirPods ["AirPods1,1"] = { name   = "AirPods", article = "B188AP" },		["AirPods1,2"] = { name   = "AirPods (2nd generation)", article = "B288AP" },		["AirPods1,3"] = { name   = "AirPods (2nd generation)", article = "B288AP" },		["Device1,8211"] = { name   = "AirPods (3rd generation)", article = "B688AP" },		["AirPodsPro1,1"] = { name   = "AirPods Pro (1st generation)", article = "B298AP" },		["Device1,8212"] = { name   = "AirPods Pro (2nd generation)", article = "B698AP" },		["AirPodsMax1,1"] = { name   = "AirPods Max", article = "B515AP" },

-- Beats -- TODO: Fill out remaining Bxxx models ["PowerBeats3,1"] = { name   = "Powerbeats 3", article = "Powerbeats 3" },		["PowerBeats4,1"] = { name   = "Powerbeats 4", article = "Powerbeats 4" },		["PowerbeatsPro1,1"] = { name   = "Powerbeats Pro", article = "Powerbeats Pro" },		["BeatsX1,1"] = { name   = "BeatsX", article = "B282AP" },		["BeatsX2,1"] = { name   = "Beats Flex", article = "B372AP" },		["BeatsStudioBuds1,1"] = { name   = "Beats Studio Buds", article = "B507AP" },		["BeatsFitPro1,1"] = { name   = "Beats Fit Pro", article = "B494AP" },		["BeatsSolo3,1"] = { name   = "Beats Solo³ Wireless", article = "B352AP" },		["BeatsSoloPro1,1"] = { name   = "Beats Solo Pro", article = "B419AP" },		["BeatsStudio3,2"] = { name   = "Beats Studio³ Wireless", article = "Beats Studio³ Wireless" },

-- Siri Remote ["ATVRemote1,1"] = { name   = "Siri Remote (1st generation)", article = "Siri Remote (1st generation)" },		["ATVRemote1,2"] = { name   = "Siri Remote (2nd generation)", article = "Siri Remote (2nd generation)" },		["ATVRemote1,3"] = { name   = "Siri Remote (3rd generation)", article = "Siri Remote (3rd generation)" },

-- Displays ["AppleDisplay2,1"] = { name   = "Apple Studio Display", article = "J327AP" },

-- AirTag ["Device1,21760"] = { name   = "AirTag", article = "B389AP" },

-- Pencil -- TODO: What is the actual model number for 2nd gen pencil? Probably Device1,xxxx? ["Pencil1,1"] = { name   = "Apple Pencil", article = "B222AP" },		["Pencil2,1"] = { name   = "Apple Pencil (2nd generation)", article = "B332AP" },

-- DTK ["ADP2,1"] = { name   = "Developer Transition Kit (2005)", article = "Developer Transition Kit (2005)" },		["ADP3,2"] = { name   = "Developer Transition Kit (2020)", article = "Developer Transition Kit (2020)" },

-- iMac ["iMac4,1"] = { name   = "iMac (Early 2006)", article = "List of iMacs#iMac (17-inch, Early 2006)" },		["iMac4,2"] = { name   = "iMac (17-inch, Mid 2006)", article = "iMac (17-inch, Mid 2006)" },		["iMac5,1"] = { name   = "iMac (20-inch, Late 2006)", article = "iMac (20-inch, Late 2006)" },		["iMac5,2"] = { name   = "iMac (17-inch, Late 2006)", article = "iMac (17-inch, Late 2006)" },		["iMac6,1"] = { name   = "iMac (24-inch, Late 2006)", article = "iMac (24-inch, Late 2006)" },		["iMac7,1"] = { name   = "iMac (Mid 2007)", article = "List of iMacs#iMac (20-inch, Mid 2007)" },		["iMac8,1"] = { name   = "iMac (20-inch, Early 2008)", article = "iMac (20-inch, Early 2008)" },		["iMac9,1"] = { name   = "iMac (Early 2009)", article = "List of iMacs#iMac (20-inch, Early 2009)" },		["iMac10,1"] = { name   = "iMac (21.5-inch, Late 2009) (iMac10,1)", article = "iMac (21.5-inch, Late 2009)" },		["iMac11,1"] = { name   = "iMac (21.5-inch, Late 2009) (iMac11,1)", article = "iMac (21.5-inch, Late 2009)" },		["iMac11,2"] = { name   = "iMac (27-inch, Late 2009)", article = "iMac (27-inch, Late 2009)" },		["iMac11,3"] = { name   = "iMac (21.5-inch, Mid 2010)", article = "iMac (21.5-inch, Mid 2010)" },		["iMac12,1"] = { name   = "iMac (21.5-inch, Mid 2011)", article = "iMac (21.5-inch, Mid 2011)" },		["iMac12,2"] = { name   = "iMac (27-inch, Mid 2010)", article = "iMac (27-inch, Mid 2010)" },		["iMac13,1"] = { name   = "iMac (21.5-inch, Late 2012)", article = "iMac (21.5-inch, Late 2012)" },		["iMac13,2"] = { name   = "iMac (27-inch, Late 2012)", article = "iMac (27-inch, Late 2012)" },		["iMac13,3"] = { name   = "iMac (27-inch, Late 2013)", article = "iMac (27-inch, Late 2013)" },		["iMac14,1"] = { name   = "iMac (21.5-inch, Late 2013)", article = "iMac (21.5-inch, Late 2013)" },		["iMac14,2"] = { name   = "iMac (27-inch, Late 2013)", article = "iMac (27-inch, Late 2013)" },		["iMac14,4"] = { name   = "iMac (21.5-inch, Mid 2014)", article = "iMac (21.5-inch, Mid 2014)" },		["iMac15,1"] = { name   = "iMac (Retina 5K, 27-inch, Late 2014)", article = "iMac (Retina 5K, 27-inch, Late 2014)" },		["iMac16,1"] = { name   = "iMac (21.5-inch, Late 2015)", article = "iMac (21.5-inch, Late 2015)" },		["iMac16,2"] = { name   = "iMac (Retina 4K, 21.5-inch, Late 2015)", article = "iMac (Retina 4K, 21.5-inch, Late 2015)" },		["iMac17,1"] = { name   = "iMac (Retina 5K, 27-inch, Late 2015)", article = "iMac (Retina 5K, 27-inch, Late 2015)" },		["iMac18,1"] = { name   = "iMac (21.5-inch, 2017)", article = "iMac (21.5-inch, 2017)" },		["iMac18,2"] = { name   = "iMac (Retina 4K, 21.5-inch, 2017)", article = "iMac (Retina 4K, 21.5-inch, 2017)" },		["iMac18,3"] = { name   = "iMac (Retina 5K, 27-inch, 2017)", article = "iMac (Retina 5K, 27-inch, 2017)" },		["iMacPro1,1"] = { name   = "iMac Pro (2017)", article = "iMac Pro (2017)" },		["iMac19,1"] = { name   = "iMac (Retina 5K, 27-inch, 2019)", article = "iMac (Retina 5K, 27-inch, 2019)" },		["iMac19,2"] = { name   = "iMac (Retina 4K, 21.5-inch, 2019)", article = "iMac (Retina 4K, 21.5-inch, 2019)" },		["iMac20,1"] = { name   = "iMac (Retina 5K, 27-inch, 2020) (iMac20,1)", article = "iMac (Retina 5K, 27-inch, 2020)" },		["iMac20,2"] = { name   = "iMac (Retina 5K, 27-inch, 2020) (iMac20,2)", article = "iMac (Retina 5K, 27-inch, 2020)" },		["iMac21,1"] = { name   = "iMac (24-inch, M1, 2021) (iMac21,1)", article = "J456AP" },		["iMac21,2"] = { name   = "iMac (24-inch, M1, 2021) (iMac21,2)", article = "J457AP" },

-- Mac mini ["Macmini1,1"] = { name   = "Mac mini (Early 2006)", article = "Mac mini (Early 2006)" },		["Macmini2,1"] = { name   = "Mac mini (Mid 2007)", article = "Mac mini (Mid 2007)" },		["Macmini3,1"] = { name   = "Mac mini (Early 2009)", article = "Mac mini (Early 2009)" },		["Macmini4,1"] = { name   = "Mac mini (Mid 2010)", article = "Mac mini (Mid 2010)" },		["Macmini5,1"] = { name   = "Mac mini (Mid 2011) (Macmini5,1)", article = "Mac mini (Mid 2011)" },		["Macmini5,2"] = { name   = "Mac mini (Mid 2011) (Macmini5,2)", article = "Mac mini (Mid 2011)" },		["Macmini5,3"] = { name   = "Mac mini (Mid 2011) (Macmini5,3)", article = "Mac mini (Mid 2011)" },		["Macmini6,1"] = { name   = "Mac mini (Late 2012) (Macmini6,1)", article = "Mac mini (Late 2012)" },		["Macmini6,2"] = { name   = "Mac mini (Late 2012) (Macmini6,2)", article = "Mac mini (Late 2012)" },		["Macmini7,1"] = { name   = "Mac mini (Late 2014)", article = "Mac mini (Late 2014)" },		["Macmini8,1"] = { name   = "Mac mini (2018)", article = "Mac mini (2018)" },		["Macmini9,1"] = { name   = "Mac mini (M1, 2020)", article = "J313AP" },		["Mac14,3"] = { name   = "Mac mini (M2, 2023)", article = "J473AP" },		["Mac14,12"] = { name   = "Mac mini (M2 Pro, 2023)", article = "J474sAP" },

-- Mac Studio ["Mac13,1"] = { name   = "Mac Studio (M1 Max, 2022)", article = "J375cAP" },		["Mac13,2"] = { name   = "Mac Studio (M1 Ultra, 2022)", article = "J375dAP" },		["Mac14,13"] = { name   = "Mac Studio (2023)", article = "J475cAP" },		["Mac14,14"] = { name   = "Mac Studio (2023)", article = "J475dAP" },

-- Mac Pro ["MacPro1,1"] = { name   = "Mac Pro (Mid 2006)", article = "Mac Pro (Mid 2006)" },		["MacPro2,1"] = { name   = "Mac Pro (Early 2008)", article = "Mac Pro (Early 2008)" },		["MacPro3,1"] = { name   = "Mac Pro (Early 2009)", article = "Mac Pro (Early 2009)" },		["MacPro4,1"] = { name   = "Mac Pro (Mid 2010)", article = "Mac Pro (Mid 2010)" },		["MacPro5,1"] = { name   = "Mac Pro (Mid 2012)", article = "Mac Pro (Mid 2012)" },		["MacPro6,1"] = { name   = "Mac Pro (Late 2013)", article = "Mac Pro (Late 2013)" },		["MacPro7,1"] = { name   = "Mac Pro (2019)", article = "Mac Pro (2019)" },		["Mac14,8"] = { name   = "Mac Pro (2023)", article = "Mac Pro (2023)" },

-- Xserves ["Xserve1,1"] = { name   = "Xserve (Late 2006)", article = "Xserve (Late 2006)" },		["Xserve2,1"] = { name   = "Xserve (Early 2008)", article = "Xserve (Early 2008)" },		["Xserve3,1"] = { name   = "Xserve (Early 2009)", article = "Xserve (Early 2009)" },

-- MacBook ["MacBook1,1"] = { name   = "MacBook (Mid 2006)", article = "MacBook (Mid 2006)" },		["MacBook2,1"] = { name   = "MacBook (Late 2006)", article = "MacBook (Late 2006)" },		["MacBook3,1"] = { name   = "MacBook (Late 2007)", article = "MacBook (Late 2007)" },		["MacBook4,1"] = { name   = "MacBook (Early 2008)", article = "MacBook (Early 2008)" },		["MacBook4,2"] = { name   = "MacBook (Early 2008)", article = "MacBook (Early 2008)" },		["MacBook5,1"] = { name   = "MacBook (Late 2008)", article = "MacBook (Late 2008)" },		["MacBook5,2"] = { name   = "MacBook (Late 2008)", article = "MacBook (Late 2008)" },		["MacBook6,1"] = { name   = "MacBook (Late 2009)", article = "MacBook (Late 2009)" },		["MacBook7,1"] = { name   = "MacBook (Mid 2010)", article = "MacBook (Mid 2010)" },		["MacBook8,1"] = { name   = "MacBook (Retina, 12-inch, Early 2015)", article = "MacBook (Retina, 12-inch, Early 2015)" },		["MacBook9,1"] = { name   = "MacBook (Retina, 12-inch, Early 2016)", article = "MacBook (Retina, 12-inch, Early 2016)" },		["MacBook10,1"] = { name   = "MacBook (Retina, 12-inch, 2017)", article = "MacBook (Retina, 12-inch, 2017)" },

-- MacBook Air ["MacBookAir1,1"] = { name   = "MacBook Air (Early 2008)", article = "MacBook Air (Early 2008)" },		["MacBookAir2,1"] = { name   = "MacBook Air (Late 2008)", article = "MacBook Air (Late 2008)" },		["MacBookAir3,1"] = { name   = "MacBook Air (11-inch, Late 2010)", article = "MacBook Air (11-inch, Late 2010)" },		["MacBookAir3,2"] = { name   = "MacBook Air (13-inch, Late 2010)", article = "MacBook Air (13-inch, Late 2010)" },		["MacBookAir4,1"] = { name   = "MacBook Air (11-inch, Mid 2011)", article = "MacBook Air (11-inch, Mid 2011)" },		["MacBookAir4,2"] = { name   = "MacBook Air (13-inch, Mid 2011)", article = "MacBook Air (13-inch, Mid 2011)" },		["MacBookAir5,1"] = { name   = "MacBook Air (11-inch, Mid 2012)", article = "MacBook Air (11-inch, Mid 2012)" },		["MacBookAir5,2"] = { name   = "MacBook Air (13-inch, Mid 2012)", article = "MacBook Air (13-inch, Mid 2012)" },		["MacBookAir6,1"] = { name   = "MacBook Air (11-inch, Mid 2013)", article = "MacBook Air (11-inch, Mid 2013)" },		["MacBookAir6,2"] = { name   = "MacBook Air (13-inch, Mid 2013)", article = "MacBook Air (13-inch, Mid 2013)" },		["MacBookAir7,1"] = { name   = "MacBook Air (11-inch, Early 2015)", article = "MacBook Air (11-inch, Early 2015)" },		["MacBookAir7,2"] = { name   = "MacBook Air (13-inch, Early 2015)", article = "MacBook Air (13-inch, Early 2015)" },		["MacBookAir8,1"] = { name   = "MacBook Air (13-inch, 2018)", article = "MacBook Air (13-inch, 2018)" },		["MacBookAir8,2"] = { name   = "MacBook Air (13-inch, 2019)", article = "MacBook Air (13-inch, 2019)" },		["MacBookAir9,1"] = { name   = "MacBook Air (13-inch, 2020)", article = "MacBook Air (13-inch, 2020)" },		["MacBookAir10,1"] = { name   = "MacBook Air (M1, 2020)", article = "J313AP" },		["Mac14,2"] = { name   = "MacBook Air (M2, 2022)", article = "J413AP" },		["Mac14,15"] = { name   = "MacBook Air (15-inch, M2, 2023)", article = "J415AP" },

-- MacBook Pro ["MacBookPro1,1"] = { name   = "MacBook Pro (15-inch, Early 2006)", article = "MacBook Pro (15-inch, Early 2006)" },		["MacBookPro1,2"] = { name   = "MacBook Pro (17-inch, Early 2006)", article = "MacBook Pro (17-inch, Early 2006)" },		["MacBookPro2,1"] = { name   = "MacBook Pro (17-inch, Late 2006)", article = "MacBook Pro (17-inch, Late 2006)" },		["MacBookPro2,2"] = { name   = "MacBook Pro (15-inch, Late 2006)", article = "MacBook Pro (15-inch, Late 2006)" },		["MacBookPro3,1"] = { name   = "MacBook Pro (15-inch, Mid 2007)", article = "MacBook Pro (15-inch, Mid 2007)" },		["MacBookPro4,1"] = { name   = "MacBook Pro (Early 2008)", article = "MacBook Pro (Early 2008)" },		["MacBookPro5,1"] = { name   = "MacBook Pro (15-inch, Early 2009)", article = "MacBook Pro (15-inch, Early 2009)" },		["MacBookPro5,2"] = { name   = "MacBook Pro (17-inch, Early 2009)", article = "MacBook Pro (17-inch, Early 2009)" },		["MacBookPro5,3"] = { name   = "MacBook Pro (15-inch, Mid 2009) (MacBookPro5,3)", article = "MacBook Pro (15-inch, Mid 2009)" },		["MacBookPro5,4"] = { name   = "MacBook Pro (15-inch, Mid 2009) (MacBookPro5,4)", article = "MacBook Pro (15-inch, Mid 2009)" },		["MacBookPro5,5"] = { name   = "MacBook Pro (13-inch, Mid 2009)", article = "MacBook Pro (13-inch, Mid 2009)" },		["MacBookPro6,1"] = { name   = "MacBook Pro (17-inch, Mid 2010)", article = "MacBook Pro (17-inch, Mid 2010)" },		["MacBookPro6,2"] = { name   = "MacBook Pro (15-inch, Mid 2010)", article = "MacBook Pro (15-inch, Mid 2010)" },		["MacBookPro7,1"] = { name   = "MacBook Pro (13-inch, Mid 2010)", article = "MacBook Pro (13-inch, Mid 2010)" },		["MacBookPro8,1"] = { name   = "MacBook Pro (11-inch, Mid 2011)", article = "MacBook Pro (11-inch, Mid 2011)" },		["MacBookPro8,2"] = { name   = "MacBook Pro (15-inch, Mid 2011)", article = "MacBook Pro (15-inch, Mid 2011)" },		["MacBookPro8,3"] = { name   = "MacBook Pro (17-inch, Mid 2011)", article = "MacBook Pro (17-inch, Mid 2011)" },		["MacBookPro9,1"] = { name   = "MacBook Pro (15-inch, Mid 2012)", article = "MacBook Pro (15-inch, Mid 2012)" },		["MacBookPro9,2"] = { name   = "MacBook Pro (13-inch, Mid 2012)", article = "MacBook Pro (13-inch, Mid 2012)" },		["MacBookPro10,1"] = { name   = "MacBook Pro (Retina, 15-inch, Mid 2012)", article = "MacBook Pro (Retina, 15-inch, Mid 2012)" },		["MacBookPro10,2"] = { name   = "MacBook Pro (Retina, 13-inch, Late 2012)", article = "MacBook Pro (Retina, 13-inch, Late 2012)" },		["MacBookPro11,1"] = { name   = "MacBook Pro (13-inch, Late 2013)", article = "MacBook Pro (13-inch, Late 2013)" },		["MacBookPro11,2"] = { name   = "MacBook Pro (15-inch, Late 2013) (MacBookPro11,2)", article = "MacBook Pro (15-inch, Late 2013)" },		["MacBookPro11,3"] = { name   = "MacBook Pro (15-inch, Late 2013) (MacBookPro11,3)", article = "MacBook Pro (15-inch, Late 2013)" },		["MacBookPro11,4"] = { name   = "MacBook Pro (15-inch, Mid 2015) (MacBookPro11,4)", article = "MacBook Pro (15-inch, Mid 2015)" },		["MacBookPro11,5"] = { name   = "MacBook Pro (15-inch, Mid 2015) (MacBookPro11,5)", article = "MacBook Pro (15-inch, Mid 2015)" },		["MacBookPro12,1"] = { name   = "MacBook Pro (13-inch, Early 2015)", article = "MacBook Pro (13-inch, Early 2015)" },		["MacBookPro13,1"] = { name   = "MacBook Pro (13-inch, 2016) (MacBookPro13,1)", article = "MacBook Pro (13-inch, 2016)" },		["MacBookPro13,2"] = { name   = "MacBook Pro (13-inch, 2016) (MacBookPro13,2)", article = "MacBook Pro (13-inch, 2016)" },		["MacBookPro13,3"] = { name   = "MacBook Pro (15-inch, 2016)", article = "MacBook Pro (15-inch, 2016)" },		["MacBookPro14,1"] = { name   = "MacBook Pro (13-inch, 2017) (MacBookPro14,1)", article = "MacBook Pro (13-inch, 2017)" },		["MacBookPro14,2"] = { name   = "MacBook Pro (13-inch, 2017) (MacBookPro14,2)", article = "MacBook Pro (13-inch, 2017)" },		["MacBookPro14,3"] = { name   = "MacBook Pro (15-inch, 2017)", article = "MacBook Pro (15-inch, 2017)" },		["MacBookPro15,1"] = { name   = "MacBook Pro (15-inch, 2018)", article = "MacBook Pro (15-inch, 2018)" },		["MacBookPro15,2"] = { name   = "MacBook Pro (13-inch, 2018)", article = "MacBook Pro (13-inch, 2018)" },		["MacBookPro15,3"] = { name   = "MacBook Pro (15-inch, Late 2018)", article = "MacBook Pro (15-inch, Late 2018)" },		["MacBookPro15,4"] = { name   = "MacBook Pro (13-inch, 2019)", article = "MacBook Pro (13-inch, 2019)" },		["MacBookPro16,1"] = { name   = "MacBook Pro (16-inch, 2019)", article = "MacBook Pro (16-inch, 2019)" },		["MacBookPro16,2"] = { name   = "MacBook Pro (13-inch, 2020) (MacBookPro16,2)", article = "MacBook Pro (13-inch, 2020)" },		["MacBookPro16,3"] = { name   = "MacBook Pro (13-inch, 2020) (MacBookPro16,3)", article = "MacBook Pro (13-inch, 2020)" },		["MacBookPro16,4"] = { name   = "MacBook Pro (16-inch, 2019)", article = "MacBook Pro (16-inch, 2019)" },		["MacBookPro17,1"] = { name   = "MacBook Pro (13-inch, M1, 2020)", article = "J293AP" },		["MacBookPro18,1"] = { name   = "MacBook Pro (16-inch, M1 Pro, 2021)", article = "J316sAP" },		["MacBookPro18,2"] = { name   = "MacBook Pro (16-inch, M1 Max, 2021)", article = "J316cAP" },		["MacBookPro18,3"] = { name   = "MacBook Pro (14-inch, M1 Pro, 2021)", article = "J314sAP" },		["MacBookPro18,4"] = { name   = "MacBook Pro (14-inch, M1 Max, 2021)", article = "J314cAP" },		["Mac14,5"] = { name   = "MacBook Pro (14-inch, M2 Max, 2023)", article = "J414cAP" },		["Mac14,6"] = { name   = "MacBook Pro (16-inch, M2 Max, 2023)", article = "J416cAP" },		["Mac14,7"] = { name   = "MacBook Pro (13-inch, M2, 2022)", article = "J493AP" },		["Mac14,9"] = { name   = "MacBook Pro (14-inch, M2 Pro, 2023)", article = "J414sAP" },		["Mac14,10"] = { name   = "MacBook Pro (16-inch, M2 Pro, 2023)", article = "J416sAP" },	} }