diff --git a/data/browsers-bots.php b/data/browsers-bots.php index 2650875..d2b8bfe 100644 --- a/data/browsers-bots.php +++ b/data/browsers-bots.php @@ -32,6 +32,8 @@ [ 'name' => 'Bing', 'regexp' => '/msnbot-media\/([0-9.]*)/u' ], [ 'name' => 'Bing', 'regexp' => '/MsnBot-Media \/([0-9.]*)/u' ], [ 'name' => 'Bing', 'regexp' => '/msnbot-NewsBlogs\/([0-9.]*)/u' ], + [ 'name' => 'Bing', 'regexp' => '/MSNBOT_Mobile/u' ], + [ 'name' => 'Bing', 'regexp' => '/MSMOBOT/u' ], [ 'name' => 'Bing Preview', 'regexp' => '/BingPreview\/([0-9.]*)/u' ], [ 'name' => 'Bloglines', 'regexp' => '/Bloglines\/([0-9.]*)/u' ], [ 'name' => 'Bloglovin', 'regexp' => '/Bloglovin\/([0-9.]*)/u' ], diff --git a/data/models-android.php b/data/models-android.php index bfcf66e..9786ff0 100644 --- a/data/models-android.php +++ b/data/models-android.php @@ -357,78 +357,85 @@ /* Regular devices */ 'EL72B' => [ '3Q', 'Qoo! Q-Book EL72B', DeviceType::TABLET ], - 'AC0731B' => [ '3Q', 'Qoo! Q-Pad AC0731B', DeviceType::TABLET ], - 'AC1024C' => [ '3Q', 'Qoo! Q-Pad AC1024C', DeviceType::TABLET ], - 'AC7803C' => [ '3Q', 'Qoo! Q-Pad AC7803C', DeviceType::TABLET ], - 'BC9710A' => [ '3Q', 'Qoo! Q-Pad BC9710A', DeviceType::TABLET ], - 'BC9710AM' => [ '3Q', 'Qoo! Q-Pad BC9710A', DeviceType::TABLET ], - 'LC0720C' => [ '3Q', 'Qoo! Q-Pad LC0720C', DeviceType::TABLET ], - 'LC0723B' => [ '3Q', 'Qoo! Q-Pad LC0723B', DeviceType::TABLET ], - 'LC0725B' => [ '3Q', 'Qoo! Q-Pad LC0725B', DeviceType::TABLET ], - 'LC0804B' => [ '3Q', 'Qoo! Q-Pad LC0804B', DeviceType::TABLET ], - 'LC0808B' => [ '3Q', 'Qoo! Q-Pad LC0808B', DeviceType::TABLET ], - 'LC0809B' => [ '3Q', 'Qoo! Q-Pad LC0809B', DeviceType::TABLET ], - 'LC0810C' => [ '3Q', 'Qoo! Q-Pad LC0810C', DeviceType::TABLET ], - 'LC0816C' => [ '3Q', 'Qoo! Q-Pad LC0816C', DeviceType::TABLET ], - 'LC0901D' => [ '3Q', 'Qoo! Q-Pad LC0901D', DeviceType::TABLET ], - 'LC1016C' => [ '3Q', 'Qoo! Q-Pad LC1016C', DeviceType::TABLET ], - 'LC9721C' => [ '3Q', 'Qoo! Q-Pad LC9721C', DeviceType::TABLET ], - 'MT0724B' => [ '3Q', 'Qoo! Q-Pad MT0724B', DeviceType::TABLET ], - 'MT0729B' => [ '3Q', 'Qoo! Q-Pad MT0729B', DeviceType::TABLET ], - 'MT0729D' => [ '3Q', 'Qoo! Q-Pad MT0729D', DeviceType::TABLET ], - 'MT0811B' => [ '3Q', 'Qoo! Q-Pad MT0811B', DeviceType::TABLET ], - 'MT7801C' => [ '3Q', 'Qoo! Q-Pad MT7801C', DeviceType::TABLET ], - 'RC0709B' => [ '3Q', 'Qoo! Q-Pad RC0709B', DeviceType::TABLET ], - 'RC0710B' => [ '3Q', 'Qoo! Q-Pad RC0710B', DeviceType::TABLET ], - 'RC0718C' => [ '3Q', 'Qoo! Q-Pad RC0718C', DeviceType::TABLET ], - 'RC0719H' => [ '3Q', 'Qoo! Q-Pad RC0719H', DeviceType::TABLET ], - 'RC0721B' => [ '3Q', 'Qoo! Q-Pad RC0721B', DeviceType::TABLET ], - 'RC0722C' => [ '3Q', 'Qoo! Q-Pad RC0722C', DeviceType::TABLET ], - 'RC0726B' => [ '3Q', 'Qoo! Q-Pad RC0726B', DeviceType::TABLET ], - 'RC0734H' => [ '3Q', 'Qoo! Q-Pad RC0734H', DeviceType::TABLET ], - 'RC0738C' => [ '3Q', 'Qoo! Q-Pad RC0738C', DeviceType::TABLET ], - 'RC0743H' => [ '3Q', 'Qoo! Q-Pad RC0743H', DeviceType::TABLET ], - 'RC0813C' => [ '3Q', 'Qoo! Q-Pad RC0813C', DeviceType::TABLET ], - 'RC0813CM' => [ '3Q', 'Qoo! Q-Pad RC0813CM', DeviceType::TABLET ], - 'RC0817C' => [ '3Q', 'Qoo! Q-Pad RC0817C', DeviceType::TABLET ], - 'RC1018C' => [ '3Q', 'Qoo! Q-Pad RC1018C', DeviceType::TABLET ], - 'RC1019G' => [ '3Q', 'Qoo! Q-Pad RC1019G', DeviceType::TABLET ], - 'RC1025F' => [ '3Q', 'Qoo! Q-Pad RC1025F', DeviceType::TABLET ], - 'RC1301C' => [ '3Q', 'Qoo! Q-Pad RC1301C', DeviceType::TABLET ], - 'RC7802F' => [ '3Q', 'Qoo! Q-Pad RC7802F', DeviceType::TABLET ], - 'RC9711B' => [ '3Q', 'Qoo! Q-Pad RC9711B', DeviceType::TABLET ], - 'RC9712C' => [ '3Q', 'Qoo! Q-Pad RC9712C', DeviceType::TABLET ], - 'RC9716B' => [ '3Q', 'Qoo! Q-Pad RC9716B', DeviceType::TABLET ], - 'RC9717B' => [ '3Q', 'Qoo! Q-Pad RC9717B', DeviceType::TABLET ], - 'RC9724C' => [ '3Q', 'Qoo! Q-Pad RC9724C', DeviceType::TABLET ], - 'RC9726C' => [ '3Q', 'Qoo! Q-Pad RC9726C', DeviceType::TABLET ], - 'RC9727F' => [ '3Q', 'Qoo! Q-Pad RC9727F', DeviceType::TABLET ], - 'RC9730C' => [ '3Q', 'Qoo! Q-Pad RC9730C', DeviceType::TABLET ], - 'RC9731C' => [ '3Q', 'Qoo! Q-Pad RC9731C', DeviceType::TABLET ], - 'QS0715C' => [ '3Q', 'Qoo! Q-Pad QS0715C', DeviceType::TABLET ], - 'QS0716D' => [ '3Q', 'Qoo! Q-Pad QS0716D', DeviceType::TABLET ], - 'QS0717D' => [ '3Q', 'Qoo! Q-Pad QS0717D', DeviceType::TABLET ], - 'QS0728C' => [ '3Q', 'Qoo! Q-Pad QS0728C', DeviceType::TABLET ], - 'QS0730C' => [ '3Q', 'Qoo! Q-Pad QS0730C', DeviceType::TABLET ], - 'QS0815C' => [ '3Q', 'Qoo! Q-Pad QS0815C', DeviceType::TABLET ], - 'QS9718C' => [ '3Q', 'Qoo! Q-Pad QS9718C', DeviceType::TABLET ], - 'VM1017A' => [ '3Q', 'Qoo! Q-Pad VM1017A', DeviceType::TABLET ], - 'TS0807B' => [ '3Q', 'Qoo! Q-Note TS0807B', DeviceType::TABLET ], - 'TS1003T' => [ '3Q', 'Qoo! Surf Tablet TS1003T', DeviceType::TABLET ], - 'TS1004T' => [ '3Q', 'Qoo! Surf Tablet TS1004T', DeviceType::TABLET ], - 'TS1009B' => [ '3Q', 'Qoo! Surf Tablet TS1009B', DeviceType::TABLET ], - 'TS1013B' => [ '3Q', 'Qoo! Surf Tablet TS1013B', DeviceType::TABLET ], - 'TS9708B' => [ '3Q', 'Qoo! Surf Tablet TS9708B', DeviceType::TABLET ], - 'OC1020A' => [ '3Q', 'Qoo! Surf Tablet OC1020A', DeviceType::TABLET ], - 'QS9715F' => [ '3Q', 'Qoo! Surf Tablet QS9715F', DeviceType::TABLET ], - 'QS9719D' => [ '3Q', 'Qoo! Surf Tablet QS9719D', DeviceType::TABLET ], - 'QS1023H' => [ '3Q', 'Qoo! Surf Tablet QS1023H', DeviceType::TABLET ], - 'VM0711A' => [ '3Q', 'Qoo! Surf Tablet VM0711A', DeviceType::TABLET ], - 'BioniQ 700' => [ 'a-rival', 'BioniQ 700', DeviceType::TABLET ], - 'BioniQ700HX' => [ 'a-rival', 'BioniQ 700 HX', DeviceType::TABLET ], - 'BioniQ 800' => [ 'a-rival', 'BioniQ 800', DeviceType::TABLET ], - 'BioniQ 1001' => [ 'a-rival', 'BioniQ 1001', DeviceType::TABLET ], - 'BioniQ 8008' => [ 'a-rival', 'BioniQ 8008', DeviceType::TABLET ], + + '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!' => [ + 'AC0731B' => [ '3Q', 'Qoo! Q-Pad AC0731B', DeviceType::TABLET ], + 'AC1024C' => [ '3Q', 'Qoo! Q-Pad AC1024C', DeviceType::TABLET ], + 'AC7803C' => [ '3Q', 'Qoo! Q-Pad AC7803C', DeviceType::TABLET ], + 'BC9710A' => [ '3Q', 'Qoo! Q-Pad BC9710A', DeviceType::TABLET ], + 'BC9710AM' => [ '3Q', 'Qoo! Q-Pad BC9710A', DeviceType::TABLET ], + 'LC0720C' => [ '3Q', 'Qoo! Q-Pad LC0720C', DeviceType::TABLET ], + 'LC0723B' => [ '3Q', 'Qoo! Q-Pad LC0723B', DeviceType::TABLET ], + 'LC0725B' => [ '3Q', 'Qoo! Q-Pad LC0725B', DeviceType::TABLET ], + 'LC0804B' => [ '3Q', 'Qoo! Q-Pad LC0804B', DeviceType::TABLET ], + 'LC0808B' => [ '3Q', 'Qoo! Q-Pad LC0808B', DeviceType::TABLET ], + 'LC0809B' => [ '3Q', 'Qoo! Q-Pad LC0809B', DeviceType::TABLET ], + 'LC0810C' => [ '3Q', 'Qoo! Q-Pad LC0810C', DeviceType::TABLET ], + 'LC0816C' => [ '3Q', 'Qoo! Q-Pad LC0816C', DeviceType::TABLET ], + 'LC0901D' => [ '3Q', 'Qoo! Q-Pad LC0901D', DeviceType::TABLET ], + 'LC1016C' => [ '3Q', 'Qoo! Q-Pad LC1016C', DeviceType::TABLET ], + 'LC9721C' => [ '3Q', 'Qoo! Q-Pad LC9721C', DeviceType::TABLET ], + 'MT0724B' => [ '3Q', 'Qoo! Q-Pad MT0724B', DeviceType::TABLET ], + 'MT0729B' => [ '3Q', 'Qoo! Q-Pad MT0729B', DeviceType::TABLET ], + 'MT0729D' => [ '3Q', 'Qoo! Q-Pad MT0729D', DeviceType::TABLET ], + 'MT0811B' => [ '3Q', 'Qoo! Q-Pad MT0811B', DeviceType::TABLET ], + 'MT7801C' => [ '3Q', 'Qoo! Q-Pad MT7801C', DeviceType::TABLET ], + 'RC0709B' => [ '3Q', 'Qoo! Q-Pad RC0709B', DeviceType::TABLET ], + 'RC0710B' => [ '3Q', 'Qoo! Q-Pad RC0710B', DeviceType::TABLET ], + 'RC0718C' => [ '3Q', 'Qoo! Q-Pad RC0718C', DeviceType::TABLET ], + 'RC0719H' => [ '3Q', 'Qoo! Q-Pad RC0719H', DeviceType::TABLET ], + 'RC0721B' => [ '3Q', 'Qoo! Q-Pad RC0721B', DeviceType::TABLET ], + 'RC0722C' => [ '3Q', 'Qoo! Q-Pad RC0722C', DeviceType::TABLET ], + 'RC0726B' => [ '3Q', 'Qoo! Q-Pad RC0726B', DeviceType::TABLET ], + 'RC0734H' => [ '3Q', 'Qoo! Q-Pad RC0734H', DeviceType::TABLET ], + 'RC0738C' => [ '3Q', 'Qoo! Q-Pad RC0738C', DeviceType::TABLET ], + 'RC0743H' => [ '3Q', 'Qoo! Q-Pad RC0743H', DeviceType::TABLET ], + 'RC0813C' => [ '3Q', 'Qoo! Q-Pad RC0813C', DeviceType::TABLET ], + 'RC0813CM' => [ '3Q', 'Qoo! Q-Pad RC0813CM', DeviceType::TABLET ], + 'RC0817C' => [ '3Q', 'Qoo! Q-Pad RC0817C', DeviceType::TABLET ], + 'RC1018C' => [ '3Q', 'Qoo! Q-Pad RC1018C', DeviceType::TABLET ], + 'RC1019G' => [ '3Q', 'Qoo! Q-Pad RC1019G', DeviceType::TABLET ], + 'RC1025F' => [ '3Q', 'Qoo! Q-Pad RC1025F', DeviceType::TABLET ], + 'RC1301C' => [ '3Q', 'Qoo! Q-Pad RC1301C', DeviceType::TABLET ], + 'RC7802F' => [ '3Q', 'Qoo! Q-Pad RC7802F', DeviceType::TABLET ], + 'RC9711B' => [ '3Q', 'Qoo! Q-Pad RC9711B', DeviceType::TABLET ], + 'RC9712C' => [ '3Q', 'Qoo! Q-Pad RC9712C', DeviceType::TABLET ], + 'RC9716B' => [ '3Q', 'Qoo! Q-Pad RC9716B', DeviceType::TABLET ], + 'RC9717B' => [ '3Q', 'Qoo! Q-Pad RC9717B', DeviceType::TABLET ], + 'RC9724C' => [ '3Q', 'Qoo! Q-Pad RC9724C', DeviceType::TABLET ], + 'RC9726C' => [ '3Q', 'Qoo! Q-Pad RC9726C', DeviceType::TABLET ], + 'RC9727F' => [ '3Q', 'Qoo! Q-Pad RC9727F', DeviceType::TABLET ], + 'RC9730C' => [ '3Q', 'Qoo! Q-Pad RC9730C', DeviceType::TABLET ], + 'RC9731C' => [ '3Q', 'Qoo! Q-Pad RC9731C', DeviceType::TABLET ], + 'QS0715C' => [ '3Q', 'Qoo! Q-Pad QS0715C', DeviceType::TABLET ], + 'QS0716D' => [ '3Q', 'Qoo! Q-Pad QS0716D', DeviceType::TABLET ], + 'QS0717D' => [ '3Q', 'Qoo! Q-Pad QS0717D', DeviceType::TABLET ], + 'QS0728C' => [ '3Q', 'Qoo! Q-Pad QS0728C', DeviceType::TABLET ], + 'QS0730C' => [ '3Q', 'Qoo! Q-Pad QS0730C', DeviceType::TABLET ], + 'QS0815C' => [ '3Q', 'Qoo! Q-Pad QS0815C', DeviceType::TABLET ], + 'QS9718C' => [ '3Q', 'Qoo! Q-Pad QS9718C', DeviceType::TABLET ], + 'VM1017A' => [ '3Q', 'Qoo! Q-Pad VM1017A', DeviceType::TABLET ], + 'TS0807B' => [ '3Q', 'Qoo! Q-Note TS0807B', DeviceType::TABLET ], + 'TS1003T' => [ '3Q', 'Qoo! Surf Tablet TS1003T', DeviceType::TABLET ], + 'TS1004T' => [ '3Q', 'Qoo! Surf Tablet TS1004T', DeviceType::TABLET ], + 'TS1009B' => [ '3Q', 'Qoo! Surf Tablet TS1009B', DeviceType::TABLET ], + 'TS1013B' => [ '3Q', 'Qoo! Surf Tablet TS1013B', DeviceType::TABLET ], + 'TS9708B' => [ '3Q', 'Qoo! Surf Tablet TS9708B', DeviceType::TABLET ], + 'OC1020A' => [ '3Q', 'Qoo! Surf Tablet OC1020A', DeviceType::TABLET ], + 'QS9715F' => [ '3Q', 'Qoo! Surf Tablet QS9715F', DeviceType::TABLET ], + 'QS9719D' => [ '3Q', 'Qoo! Surf Tablet QS9719D', DeviceType::TABLET ], + 'QS1023H' => [ '3Q', 'Qoo! Surf Tablet QS1023H', DeviceType::TABLET ], + 'VM0711A' => [ '3Q', 'Qoo! Surf Tablet VM0711A', DeviceType::TABLET ], + ], + + 'BioniQ!!' => [ + 'BioniQ 700' => [ 'a-rival', 'BioniQ 700', DeviceType::TABLET ], + 'BioniQ700HX' => [ 'a-rival', 'BioniQ 700 HX', DeviceType::TABLET ], + 'BioniQ 800' => [ 'a-rival', 'BioniQ 800', DeviceType::TABLET ], + 'BioniQ 1001' => [ 'a-rival', 'BioniQ 1001', DeviceType::TABLET ], + 'BioniQ 8008' => [ 'a-rival', 'BioniQ 8008', DeviceType::TABLET ], + ], + 'RTC-700A' => [ 'Aaeon', 'RTC-700A', DeviceType::TABLET ], 'aspire1000s' => [ 'Acer', '1000 Series', DeviceType::DESKTOP ], @@ -492,62 +499,81 @@ 'B1-830' => [ 'Acer', 'Iconia One 8 B1-830', DeviceType::TABLET ], ], - 'ICONIA Tab W500' => [ 'Acer', 'Iconia W500', DeviceType::TABLET ], - 'ICONIA Tab W500P' => [ 'Acer', 'Iconia W500P', DeviceType::TABLET ], - 'ICONIA Tab W501' => [ 'Acer', 'Iconia W501', DeviceType::TABLET ], - 'ICONIA W700' => [ 'Acer', 'Iconia W700', DeviceType::TABLET ], - 'E110' => [ 'Acer', 'beTouch E110' ], - 'E120' => [ 'Acer', 'beTouch E120' ], - 'E130' => [ 'Acer', 'beTouch E130' ], - 'E140' => [ 'Acer', 'beTouch E140' ], - 'E210' => [ 'Acer', 'beTouch E210' ], - 'E310' => [ 'Acer', 'Liquid mini' ], - 'E320' => [ 'Acer', 'Liquid Express' ], - 'E330' => [ 'Acer', 'Liquid Glow' ], - 'E350' => [ 'Acer', 'Liquid Gallant' ], - 'E380' => [ 'Acer', 'Liquid E3' ], - 'E400' => [ 'Acer', 'beTouch E400' ], - 'S100' => [ 'Acer', 'Liquid' ], - 'S110' => [ 'Acer', 'Stream' ], - 'S120' => [ 'Acer', 'Liquid mt' ], - 'S300' => [ 'Acer', 'Iconia Smart' ], - 'S500' => [ 'Acer', 'CloudMobile' ], - 'S510' => [ 'Acer', 'Liquid S' ], - 'S520' => [ 'Acer', 'Liquid S2' ], - 'S55' => [ 'Acer', 'Liquid Jade' ], - 'S56' => [ 'Acer', 'Liquid Jade S' ], - 'S57' => [ 'Acer', 'Liquid Jade Z' ], - 'V360' => [ 'Acer', 'Liquid E1' ], - 'V370' => [ 'Acer', 'Liquid E2' ], - 'V380' => [ 'Acer', 'Liquid E3' ], - 'E39' => [ 'Acer', 'Liquid E700' ], - 'Z110' => [ 'Acer', 'Liquid Z' ], - 'Z120' => [ 'Acer', 'Liquid Z2' ], - 'Z130' => [ 'Acer', 'Liquid Z3' ], - 'Z140' => [ 'Acer', 'Liquid Z4' ], - 'Z150' => [ 'Acer', 'Liquid Z5' ], - 'Z160' => [ 'Acer', 'Liquid Z4' ], + 'ICONIA!!' => [ + 'ICONIA Tab W500' => [ 'Acer', 'Iconia W500', DeviceType::TABLET ], + 'ICONIA Tab W500P' => [ 'Acer', 'Iconia W500P', DeviceType::TABLET ], + 'ICONIA Tab W501' => [ 'Acer', 'Iconia W501', DeviceType::TABLET ], + 'ICONIA W700' => [ 'Acer', 'Iconia W700', DeviceType::TABLET ], + ], + + 'E[0-9]{2,2}0?!!' => [ + 'E110' => [ 'Acer', 'beTouch E110' ], + 'E120' => [ 'Acer', 'beTouch E120' ], + 'E130' => [ 'Acer', 'beTouch E130' ], + 'E140' => [ 'Acer', 'beTouch E140' ], + 'E210' => [ 'Acer', 'beTouch E210' ], + 'E310' => [ 'Acer', 'Liquid mini' ], + 'E320' => [ 'Acer', 'Liquid Express' ], + 'E330' => [ 'Acer', 'Liquid Glow' ], + 'E350' => [ 'Acer', 'Liquid Gallant' ], + 'E380' => [ 'Acer', 'Liquid E3' ], + 'E400' => [ 'Acer', 'beTouch E400' ], + 'E39' => [ 'Acer', 'Liquid E700' ], + ], + + 'S[0-9]{2,2}0?!!' => [ + 'S100' => [ 'Acer', 'Liquid' ], + 'S110' => [ 'Acer', 'Stream' ], + 'S120' => [ 'Acer', 'Liquid mt' ], + 'S300' => [ 'Acer', 'Iconia Smart' ], + 'S500' => [ 'Acer', 'CloudMobile' ], + 'S510' => [ 'Acer', 'Liquid S' ], + 'S520' => [ 'Acer', 'Liquid S2' ], + 'S55' => [ 'Acer', 'Liquid Jade' ], + 'S56' => [ 'Acer', 'Liquid Jade S' ], + 'S57' => [ 'Acer', 'Liquid Jade Z' ], + ], + + 'V[0-9]{2,2}0!!' => [ + 'V360' => [ 'Acer', 'Liquid E1' ], + 'V370' => [ 'Acer', 'Liquid E2' ], + 'V380' => [ 'Acer', 'Liquid E3' ], + ], + + 'Z[0-9]{3,3}!!' => [ + 'Z110' => [ 'Acer', 'Liquid Z' ], + 'Z120' => [ 'Acer', 'Liquid Z2' ], + 'Z130' => [ 'Acer', 'Liquid Z3' ], + 'Z140' => [ 'Acer', 'Liquid Z4' ], + 'Z150' => [ 'Acer', 'Liquid Z5' ], + 'Z160' => [ 'Acer', 'Liquid Z4' ], + 'Z200' => [ 'Acer', 'Liquid Z200' ], + 'Z205' => [ 'Acer', 'Liquid Z205' ], + 'Z220' => [ 'Acer', 'Liquid Z220' ], + 'Z410' => [ 'Acer', 'Liquid Z410' ], + 'Z500' => [ 'Acer', 'Liquid Z500' ], + 'Z520' => [ 'Acer', 'Liquid Z520' ], + ], + 'Z4' => [ 'Acer', 'Liquid Z4' ], - 'Z200' => [ 'Acer', 'Liquid Z200' ], - 'Z205' => [ 'Acer', 'Liquid Z205' ], - 'Z220' => [ 'Acer', 'Liquid Z220' ], 'T01' => [ 'Acer', 'Liquid Z330' ], - 'Z410' => [ 'Acer', 'Liquid Z410' ], - 'Z500' => [ 'Acer', 'Liquid Z500' ], - 'Z520' => [ 'Acer', 'Liquid Z520' ], 'T02' => [ 'Acer', 'Liquid Z530' ], 'TD600' => [ 'Acer', 'beTouch TD600' ], 'AK330' => [ 'Acer', 'Liquid Gallant Duo' ], 'AK330s' => [ 'Acer', 'Liquid Gallant Duo' ], 'AT390' => [ 'Acer', 'Liquid C' ], - 'Liquid' => [ 'Acer', 'Liquid' ], - 'Liquid E' => [ 'Acer', 'Liquid E' ], 'E1 v360' => [ 'Acer', 'Liquid E1' ], 'v360 E1' => [ 'Acer', 'Liquid E1' ], - 'LIQUID E1' => [ 'Acer', 'Liquid E1 ' ], - 'LIQUID E2' => [ 'Acer', 'Liquid E2 ' ], - 'Liquid MT' => [ 'Acer', 'Liquid mt' ], - 'Liquid Metal' => [ 'Acer', 'Liquid mt' ], + + 'Liquid!!' => [ + 'Liquid' => [ 'Acer', 'Liquid' ], + 'Liquid E' => [ 'Acer', 'Liquid E' ], + 'LIQUID E1' => [ 'Acer', 'Liquid E1 ' ], + 'LIQUID E2' => [ 'Acer', 'Liquid E2 ' ], + 'Liquid MT' => [ 'Acer', 'Liquid mt' ], + 'Liquid Metal' => [ 'Acer', 'Liquid mt' ], + ], + 'Stream' => [ 'Acer', 'Stream' ], 'DA2[0-9]{2,2}[A-Z]+!!' => [ @@ -567,6 +593,7 @@ ], 'C908' => [ 'Acho', 'C908', DeviceType::TABLET ], + 'ADVAN Q7A' => [ 'Advan', 'Vandroid Q7A' ], 'ADVAN E1C+' => [ 'Advan', 'Vandroid E1-C+', DeviceType::TABLET ], 'ADVAN S3' => [ 'Advan', 'Vandroid S3', DeviceType::TABLET ], @@ -618,13 +645,17 @@ 'N700' => [ 'aigo', 'aigoPad N700', DeviceType::TABLET ], 'AT102HC' => [ 'Aikun', 'iTouch AT102HC', DeviceType::TABLET ], 'AT104GS' => [ 'Aikun', 'iTouch AT104GS', DeviceType::TABLET ], - 'Numy 3G AW1' => [ 'Ainol', 'Numy 3G AW1', DeviceType::TABLET ], - 'Numy 3G AX1' => [ 'Ainol', 'Numy 3G AX1', DeviceType::TABLET ], - 'Numy 3G AX10t' => [ 'Ainol', 'Numy 3G AX10t', DeviceType::TABLET ], - 'Numy 3G AX3' => [ 'Ainol', 'Numy 3G AX3', DeviceType::TABLET ], - 'Numy 3G BW1' => [ 'Ainol', 'Numy 3G BW1', DeviceType::TABLET ], - 'Numy 3G Vegas' => [ 'Ainol', 'Numy 3G Vegas', DeviceType::TABLET ], - 'Numy Note 9' => [ 'Ainol', 'Numy Note 9', DeviceType::TABLET ], + + 'Numy!!' => [ + 'Numy 3G AW1' => [ 'Ainol', 'Numy 3G AW1', DeviceType::TABLET ], + 'Numy 3G AX1' => [ 'Ainol', 'Numy 3G AX1', DeviceType::TABLET ], + 'Numy 3G AX10t' => [ 'Ainol', 'Numy 3G AX10t', DeviceType::TABLET ], + 'Numy 3G AX3' => [ 'Ainol', 'Numy 3G AX3', DeviceType::TABLET ], + 'Numy 3G BW1' => [ 'Ainol', 'Numy 3G BW1', DeviceType::TABLET ], + 'Numy 3G Vegas' => [ 'Ainol', 'Numy 3G Vegas', DeviceType::TABLET ], + 'Numy Note 9' => [ 'Ainol', 'Numy Note 9', DeviceType::TABLET ], + ], + 'Novo7' => [ 'Ainovo', 'Novo7', DeviceType::TABLET ], 'Novo7 -?Aurora!' => [ 'Ainovo', 'Novo7 Aurora', DeviceType::TABLET ], 'novo Aurora' => [ 'Ainovo', 'Novo7 Aurora', DeviceType::TABLET ], @@ -918,27 +949,33 @@ 'X2 Soul Mini TM' => [ 'Allview', 'X2 Soul Mini' ], 'X2 Soul PRO' => [ 'Allview', 'X2 Soul Pro' ], 'X2 Twin' => [ 'Allview', 'X2 Twin' ], - 'Allview AX1 Shine' => [ 'Allview', 'AX1 Shine', DeviceType::TABLET ], - 'AllviewAX2Frenzy' => [ 'Allview', 'AX2 Frenzy', DeviceType::TABLET ], - 'ALLVIEW SPEEDI' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ], - 'AllviewSpeed' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ], - 'ALLDROSPEED' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ], - 'AllviewSpeedDuo' => [ 'Allview', 'Alldro Speed Duo', DeviceType::TABLET ], - 'AllviewSpeed3G' => [ 'Allview', 'Alldro Speed 3G', DeviceType::TABLET ], - 'ALLDRO2SPEED' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ], - 'Allview2SpeedDuo' => [ 'Allview', 'Alldro Speed 2 Duo', DeviceType::TABLET ], - 'AllviewSpeed2' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ], - 'AllviewSpeed2+' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ], - 'AllviewSpeed3' => [ 'Allview', 'Alldro Speed 3', DeviceType::TABLET ], - 'Alldro3Speed DUO' => [ 'Allview', 'Alldro Speed 3 Duo', DeviceType::TABLET ], - 'Allview3SpeedQuad' => [ 'Allview', 'Alldro Speed 3 Quad', DeviceType::TABLET ], - 'AllviewSpeedSatellite' => [ 'Allview', 'Alldro Speed Satellite', DeviceType::TABLET ], - 'AllviewCity' => [ 'Allview', 'Alldro City', DeviceType::TABLET ], - 'AllviewCityPlus' => [ 'Allview', 'Alldro City Plus', DeviceType::TABLET ], - 'AllviewCityLife' => [ 'Allview', 'Alldro City Life', DeviceType::TABLET ], - 'ALLVIEW VIPER I' => [ 'Allview', 'Viper I', DeviceType::TABLET ], - 'Allview Viva H8' => [ 'Allview', 'Viva H8', DeviceType::TABLET ], - 'ALLVIEW3CONECT' => [ 'Allview', '3 Conect', DeviceType::TABLET ], + + '(Allview|Alldro)!!' => [ + 'Allview AX1 Shine' => [ 'Allview', 'AX1 Shine', DeviceType::TABLET ], + 'AllviewAX2' => [ 'Allview', 'AX2 Frenzy', DeviceType::TABLET ], + 'AllviewAX2Frenzy' => [ 'Allview', 'AX2 Frenzy', DeviceType::TABLET ], + 'ALLVIEW SPEEDI' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ], + 'AllviewSpeed' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ], + 'ALLDROSPEED' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ], + 'AllviewSpeedDuo' => [ 'Allview', 'Alldro Speed Duo', DeviceType::TABLET ], + 'AllviewSpeed3G' => [ 'Allview', 'Alldro Speed 3G', DeviceType::TABLET ], + 'ALLDRO2SPEED' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ], + 'Allview2SpeedDuo' => [ 'Allview', 'Alldro Speed 2 Duo', DeviceType::TABLET ], + 'Allview 2 Speed QUAD' => [ 'Allview', 'Alldro Speed 2 Quad', DeviceType::TABLET ], + 'AllviewSpeed2' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ], + 'AllviewSpeed2+' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ], + 'AllviewSpeed3' => [ 'Allview', 'Alldro Speed 3', DeviceType::TABLET ], + 'Alldro3Speed DUO' => [ 'Allview', 'Alldro Speed 3 Duo', DeviceType::TABLET ], + 'Allview3SpeedQuad' => [ 'Allview', 'Alldro Speed 3 Quad', DeviceType::TABLET ], + 'AllviewSpeedSatellite' => [ 'Allview', 'Alldro Speed Satellite', DeviceType::TABLET ], + 'AllviewCity' => [ 'Allview', 'Alldro City', DeviceType::TABLET ], + 'AllviewCityPlus' => [ 'Allview', 'Alldro City Plus', DeviceType::TABLET ], + 'AllviewCityLife' => [ 'Allview', 'Alldro City Life', DeviceType::TABLET ], + 'ALLVIEW VIPER I' => [ 'Allview', 'Viper I', DeviceType::TABLET ], + 'Allview Viva H8' => [ 'Allview', 'Viva H8', DeviceType::TABLET ], + 'ALLVIEW3CONECT' => [ 'Allview', '3 Conect', DeviceType::TABLET ], + ], + 'A10' => [ 'AllWinner', 'A10', DeviceType::TABLET ], 'Allwinner A10' => [ 'AllWinner', 'A10', DeviceType::TABLET ], '97FC' => [ 'AllWinner', 'A10 97FC', DeviceType::TABLET ], @@ -987,33 +1024,38 @@ 'AMI-TT4' => [ 'Amicroe', 'TouchTab IV', DeviceType::TABLET ], 'AMI-TTFORCE' => [ 'Amicroe', 'TouchTab Force', DeviceType::TABLET ], 'AML-MX REF' => [ 'AmLogic', 'MX', DeviceType::TABLET ], - 'AMOI 1570W' => [ 'Amoi', '1570W' ], - 'AMOI A860w' => [ 'Amoi', 'A860W' ], - 'AMOI-A862W' => [ 'Amoi', 'A862W' ], + + '(AMO-)?AMOI!!' => [ + 'AMOI 1570W' => [ 'Amoi', '1570W' ], + 'AMOI A860w' => [ 'Amoi', 'A860W' ], + 'AMOI-A862W' => [ 'Amoi', 'A862W' ], + 'AMOI A900T' => [ 'Amoi', 'A900T' ], + 'AMOI A900W' => [ 'Amoi', 'A900W' ], + 'AMOI A918T' => [ 'Amoi', 'A918T' ], + 'AMOI A920' => [ 'Amoi', 'A920' ], + 'AMOI A920T' => [ 'Amoi', 'A920T' ], + 'AMOI A920W' => [ 'Amoi', 'A920W' ], + 'AMOI A928W' => [ 'Amoi', 'A928W' ], + 'AMOI A955T' => [ 'Amoi', 'A955T' ], + 'AMO-AMOI E700C' => [ 'Amoi', 'E700C' ], + 'AMOI E800C' => [ 'Amoi', 'E800C' ], + 'AMOI N79+' => [ 'Amoi', 'N79' ], + 'AMOI N89' => [ 'Amoi', 'N89' ], + 'AMOI N807' => [ 'Amoi', 'N807' ], + 'AMOI N808' => [ 'Amoi', 'N808' ], + 'AMOI N816' => [ 'Amoi', 'N816' ], + 'AMOI N818' => [ 'Amoi', 'N818' ], + 'AMOI N820' => [ 'Amoi', 'N820' ], + 'AMOI N821' => [ 'Amoi', 'N821' ], + 'AMOI[ -]N828!' => [ 'Amoi', 'N828' ], + 'AMOI N850' => [ 'Amoi', 'N850' ], + 'AMOI N890' => [ 'Amoi', 'N890' ], + 'AMOI M8228' => [ 'Amoi', 'M8228' ], + 'AMOI M8448' => [ 'Amoi', 'M8448' ], + 'Amoi Q50H' => [ 'Amoi', 'Q50H', DeviceType::TABLET ], + ], + 'A862W' => [ 'Amoi', 'A862W' ], - 'AMOI A900T' => [ 'Amoi', 'A900T' ], - 'AMOI A900W' => [ 'Amoi', 'A900W' ], - 'AMOI A918T' => [ 'Amoi', 'A918T' ], - 'AMOI A920' => [ 'Amoi', 'A920' ], - 'AMOI A920T' => [ 'Amoi', 'A920T' ], - 'AMOI A920W' => [ 'Amoi', 'A920W' ], - 'AMOI A928W' => [ 'Amoi', 'A928W' ], - 'AMOI A955T' => [ 'Amoi', 'A955T' ], - 'AMO-AMOI E700C' => [ 'Amoi', 'E700C' ], - 'AMOI N79+' => [ 'Amoi', 'N79' ], - 'AMOI N89' => [ 'Amoi', 'N89' ], - 'AMOI N807' => [ 'Amoi', 'N807' ], - 'AMOI N808' => [ 'Amoi', 'N808' ], - 'AMOI N816' => [ 'Amoi', 'N816' ], - 'AMOI N818' => [ 'Amoi', 'N818' ], - 'AMOI N820' => [ 'Amoi', 'N820' ], - 'AMOI N821' => [ 'Amoi', 'N821' ], - 'AMOI[ -]N828!' => [ 'Amoi', 'N828' ], - 'AMOI N850' => [ 'Amoi', 'N850' ], - 'AMOI N890' => [ 'Amoi', 'N890' ], - 'AMOI M8228' => [ 'Amoi', 'M8228' ], - 'AMOI M8448' => [ 'Amoi', 'M8448' ], - 'Amoi Q50H' => [ 'Amoi', 'Q50H', DeviceType::TABLET ], 'AMD120' => [ 'AnyDATA', 'AnyTAB AMD120', DeviceType::TABLET ], 'mw07' => [ 'AOC', 'Breeze MW07', DeviceType::TABLET ], 'MW0710' => [ 'AOC', 'Breeze MW0710', DeviceType::TABLET ], @@ -1048,29 +1090,40 @@ 'Aprix D97+' => [ 'Aprix', 'D97+', DeviceType::TABLET ], 'ARCHM901' => [ 'Archos', 'Arnova M901', DeviceType::TABLET ], 'AN7CG2' => [ 'Archos', 'Arnova 7c G2', DeviceType::TABLET ], + 'Arnova 7G2' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ], 'AN7G2' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ], 'AN7G2DTE' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ], 'AN7G2I' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ], 'AN7G3' => [ 'Archos', 'Arnova 7 G3', DeviceType::TABLET ], + 'AN7BG2' => [ 'Archos', 'Arnova 7b G2', DeviceType::TABLET ], + 'AN7BG2DT' => [ 'Archos', 'Arnova 7b G2', DeviceType::TABLET ], 'AN7BG3' => [ 'Archos', 'Arnova 7b G3', DeviceType::TABLET ], 'AN7CG3' => [ 'Archos', 'Arnova 7c G3', DeviceType::TABLET ], 'AN7DG3' => [ 'Archos', 'Arnova 7d G3', DeviceType::TABLET ], 'AN7DG3B' => [ 'Archos', 'Arnova 7d G3', DeviceType::TABLET ], 'AN7DG3-CP' => [ 'Archos', 'Arnova Childpad', DeviceType::TABLET ], + 'AN7DG3ST-CP' => [ 'Archos', 'Arnova Childpad', DeviceType::TABLET ], 'AN7FG3' => [ 'Archos', 'Arnova 7f G3', DeviceType::TABLET ], 'AN7HG3' => [ 'Archos', 'Arnova 7h G3', DeviceType::TABLET ], + 'AN7IG3' => [ 'Archos', 'Arnova 7i G3', DeviceType::TABLET ], 'A80KSC!' => [ 'Archos', 'Arnova 8', DeviceType::TABLET ], + 'ARNOVA8G2' => [ 'Archos', 'Arnova 8 G2', DeviceType::TABLET ], 'AN8G2' => [ 'Archos', 'Arnova 8 G2', DeviceType::TABLET ], 'AN8G2I' => [ 'Archos', 'Arnova 8 G2', DeviceType::TABLET ], 'AN8G3' => [ 'Archos', 'Arnova 8 G3', DeviceType::TABLET ], + 'AN8BG2' => [ 'Archos', 'Arnova 8b G2', DeviceType::TABLET ], 'AN8BG3' => [ 'Archos', 'Arnova 8b G3', DeviceType::TABLET ], 'AN8CG3' => [ 'Archos', 'Arnova 8c G3', DeviceType::TABLET ], 'AN9G2' => [ 'Archos', 'Arnova 9 G2', DeviceType::TABLET ], 'AN9G2I' => [ 'Archos', 'Arnova 9i G2', DeviceType::TABLET ], 'AN9G3' => [ 'Archos', 'Arnova 9 G3', DeviceType::TABLET ], 'A101B' => [ 'Archos', 'Arnova 10', DeviceType::TABLET ], + 'Arnova 10G2' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ], 'A101C' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ], 'AN10G2' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ], + 'AN10G2-KN' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ], + 'AN10G2-LN' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ], + 'AN10G2I' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ], 'AN10BG2' => [ 'Archos', 'Arnova 10b G2', DeviceType::TABLET ], 'AN10BG2DT' => [ 'Archos', 'Arnova 10b G2', DeviceType::TABLET ], 'AN10BG2I' => [ 'Archos', 'Arnova 10b G2', DeviceType::TABLET ], @@ -1078,6 +1131,7 @@ 'AN10BG3DT' => [ 'Archos', 'Arnova 10b G3', DeviceType::TABLET ], 'AN10CG3' => [ 'Archos', 'Arnova 10c G3', DeviceType::TABLET ], 'AN10DG3' => [ 'Archos', 'Arnova 10d G3', DeviceType::TABLET ], + 'AN13FP' => [ 'Archos', 'Arnova Familypad', DeviceType::TABLET ], 'ARNOVA 90G3' => [ 'Archos', 'Arnova 90 G3', DeviceType::TABLET ], 'ARNOVA 90 G4' => [ 'Archos', 'Arnova 90 G4', DeviceType::TABLET ], 'ARNOVA 97G4' => [ 'Archos', 'Arnova 97 G4', DeviceType::TABLET ], @@ -1090,6 +1144,8 @@ 'A32' => [ 'Archos', '32', 'media' ], 'A35DE' => [ 'Archos', '35 Smart Home Phone' ], 'A43' => [ 'Archos', '43', 'media' ], + 'ARCHOS 50PL' => [ 'Archos', '50PL', 'media' ], + 'ARCHOS 79XE' => [ 'Archos', '79XE', 'media' ], 'Archos5' => [ 'Archos', '5', 'media' ], 'A70HB' => [ 'Archos', '7 Home Tablet', DeviceType::TABLET ], // G7 'A70BHT' => [ 'Archos', '7 Home Tablet', DeviceType::TABLET ], @@ -1101,6 +1157,7 @@ 'A70S' => [ 'Archos', '70s Internet Tablet', DeviceType::TABLET ], 'A7EB' => [ 'Archos', '70b eReader', DeviceType::TABLET ], 'ARCHOS 70it2' => [ 'Archos', '70b Internet Tablet', DeviceType::TABLET ], + 'Archos 80 Internet Tablet' => [ 'Archos', '80 Internet Tablet', DeviceType::TABLET ], 'A101IT' => [ 'Archos', '101 Internet Tablet', DeviceType::TABLET ], 'Archos!!' => [ @@ -1360,92 +1417,115 @@ 'google cube' => [ 'Asus', 'Cube with Google TV', DeviceType::TELEVISION, Flag::GOOGLETV ], 'T-07B' => [ 'AudioSonic', 'T07B', DeviceType::TABLET ], 'T-800' => [ 'AudioSonic', 'T800', DeviceType::TABLET ], - 'AUX 909+P' => [ 'AUX', '909+P' ], - 'AUX 910+' => [ 'AUX', '910+' ], - 'AUX 939+' => [ 'AUX', '939+' ], - 'AUX M959P' => [ 'AUX', 'M959P' ], - 'AUX T5100L' => [ 'AUX', 'T5100L' ], - 'AUX V900' => [ 'AUX', 'V900' ], - 'AUX V900P' => [ 'AUX', 'V900P' ], - 'AUX V920' => [ 'AUX', 'V920' ], - 'AUX V920P' => [ 'AUX', 'V920P' ], - 'AUX V926T' => [ 'AUX', 'V926T' ], - 'AUX V950' => [ 'AUX', 'V950' ], - 'AUX V950P' => [ 'AUX', 'V950P' ], - 'AUX V965T' => [ 'AUX', 'V965T' ], - 'AUX W6' => [ 'AUX', 'W6' ], - 'Avea inTouch 2' => [ 'Avea', 'inTouch 2', DeviceType::TABLET ], - 'Avea inTouch 3' => [ 'Avea', 'inTouch 3', DeviceType::TABLET ], - 'Avea inTouch 3 Large' => [ 'Avea', 'inTouch 3', DeviceType::TABLET ], - 'Avea inTouch 4' => [ 'Avea', 'inTouch 4', DeviceType::TABLET ], - 'Avvio 489' => [ 'Avvio', '489' ], - 'Avvio 710' => [ 'Avvio', '710' ], - 'Avvio 735s' => [ 'Avvio', '735' ], - 'Avvio 750' => [ 'Avvio', '750' ], - 'Ilium AVVIO 760' => [ 'Avvio', '760' ], - 'AVVIO 765!' => [ 'Avvio', '765' ], - 'Avvio 768' => [ 'Avvio', '768' ], - 'Avvio 775' => [ 'Avvio', '775' ], - 'Avvio-775s' => [ 'Avvio', '775s' ], - 'Avvio 778' => [ 'Avvio', '778' ], - 'Avvio 780' => [ 'Avvio', '780' ], - 'Avvio 785' => [ 'Avvio', '785' ], - 'Avvio786' => [ 'Avvio', '786' ], - 'Avvio 790' => [ 'Avvio', '790' ], - 'Avvio 790s' => [ 'Avvio', '790s' ], - 'Avvio 792' => [ 'Avvio', '792' ], - 'Avvio 792s' => [ 'Avvio', '792s' ], - 'Avvio 793' => [ 'Avvio', '793' ], - 'Avvio L500 Claro' => [ 'Avvio', 'L500' ], - 'Avvio PAD' => [ 'Avvio', 'Pad', DeviceType::TABLET ], - 'PICOphone 2' => [ 'Axioo', 'PICOphone 2' ], - 'PICOphone 4' => [ 'Axioo', 'PICOphone 4' ], - 'Picophone4' => [ 'Axioo', 'PICOphone 4' ], - 'PICOphone4 GDF' => [ 'Axioo', 'PICOphone 4' ], - 'PICOphone4 GDX' => [ 'Axioo', 'PICOphone 4' ], - 'PICOphone M1' => [ 'Axioo', 'PICOphone M1' ], - 'PICOphone M2 (M)' => [ 'Axioo', 'PICOphone M2' ], - 'PICOpad S1(7 3G)' => [ 'Axioo', 'PICOpad S1', DeviceType::TABLET ], - 'PICOpad 7H(7 3G)' => [ 'Axioo', 'PICOpad 7H', DeviceType::TABLET ], - 'PICOpadGCE' => [ 'Axioo', 'PICOpad GCE', DeviceType::TABLET ], - 'Axioo PICOpad GDK' => [ 'Axioo', 'PICOpad GDK', DeviceType::TABLET ], - 'PICOpad GDK' => [ 'Axioo', 'PICOpad GDK', DeviceType::TABLET ], - 'PICOpad GDS' => [ 'Axioo', 'PICOpad GDS', DeviceType::TABLET ], - 'PICOpad GEA' => [ 'Axioo', 'PICOpad GEA', DeviceType::TABLET ], - 'PICOpad GEW' => [ 'Axioo', 'PICOpad GEW', DeviceType::TABLET ], - 'PICOpad GFI' => [ 'Axioo', 'PICOpad GFI', DeviceType::TABLET ], - 'PICOpad GGA' => [ 'Axioo', 'PICOpad GGA', DeviceType::TABLET ], - 'PICOpad GGD' => [ 'Axioo', 'PICOpad GGD', DeviceType::TABLET ], - 'PICOpad GGG' => [ 'Axioo', 'PICOpad GGG', DeviceType::TABLET ], - 'PICOpad GHM' => [ 'Axioo', 'PICOpad GHM', DeviceType::TABLET ], - 'Axioo PICOpad GIM' => [ 'Axioo', 'PICOpad GIM', DeviceType::TABLET ], - 'PICOpad GJE' => [ 'Axioo', 'PICOpad GJE', DeviceType::TABLET ], - 'PICOpad GJT' => [ 'Axioo', 'PICOpad GJT', DeviceType::TABLET ], - 'PICOpad-QGN' => [ 'Axioo', 'PICOpad QGN', DeviceType::TABLET ], - 'Axioo-VIGO350' => [ 'Axioo', 'Vigo 350' ], - 'Axioo-VIGO410' => [ 'Axioo', 'Vigo 410' ], - 'AXPAD 7E01' => [ 'Axtrom', 'Axpad 7" Series-7E01', DeviceType::TABLET ], - 'AXPAD 7E02' => [ 'Axtrom', 'Axpad 7" Series-7E02', DeviceType::TABLET ], - 'AXPAD 7I04' => [ 'Axtrom', 'Axpad 7" Series-7I04', DeviceType::TABLET ], - 'AXPAD 9P01' => [ 'Axtrom', 'Axpad 9" Series-9P01', DeviceType::TABLET ], - 'Axxion ATAB-701' => [ 'Axxion', 'ATAB-701', DeviceType::TABLET ], - 'Axxion ATAB-902' => [ 'Axxion', 'ATAB-902', DeviceType::TABLET ], + + 'AUX!!' => [ + 'AUX 909+P' => [ 'AUX', '909+P' ], + 'AUX 910+' => [ 'AUX', '910+' ], + 'AUX 939+' => [ 'AUX', '939+' ], + 'AUX M959P' => [ 'AUX', 'M959P' ], + 'AUX T5100L' => [ 'AUX', 'T5100L' ], + 'AUX V900' => [ 'AUX', 'V900' ], + 'AUX V900P' => [ 'AUX', 'V900P' ], + 'AUX V920' => [ 'AUX', 'V920' ], + 'AUX V920P' => [ 'AUX', 'V920P' ], + 'AUX V926T' => [ 'AUX', 'V926T' ], + 'AUX V950' => [ 'AUX', 'V950' ], + 'AUX V950P' => [ 'AUX', 'V950P' ], + 'AUX V965T' => [ 'AUX', 'V965T' ], + 'AUX W6' => [ 'AUX', 'W6' ], + ], + + 'Numy!!' => [ + 'Avea inTouch 2' => [ 'Avea', 'inTouch 2', DeviceType::TABLET ], + 'Avea inTouch 3' => [ 'Avea', 'inTouch 3', DeviceType::TABLET ], + 'Avea inTouch 3 Large' => [ 'Avea', 'inTouch 3', DeviceType::TABLET ], + 'Avea inTouch 4' => [ 'Avea', 'inTouch 4', DeviceType::TABLET ], + ], + + '(Ilium )?Avvio!!' => [ + 'Avvio 489' => [ 'Avvio', '489' ], + 'Avvio 710' => [ 'Avvio', '710' ], + 'Avvio 735s' => [ 'Avvio', '735' ], + 'Avvio 750' => [ 'Avvio', '750' ], + 'Ilium AVVIO 760' => [ 'Avvio', '760' ], + 'AVVIO 765!' => [ 'Avvio', '765' ], + 'Avvio 768' => [ 'Avvio', '768' ], + 'Avvio 775' => [ 'Avvio', '775' ], + 'Avvio-775s' => [ 'Avvio', '775s' ], + 'Avvio 778' => [ 'Avvio', '778' ], + 'Avvio 780' => [ 'Avvio', '780' ], + 'Avvio 785' => [ 'Avvio', '785' ], + 'Avvio786' => [ 'Avvio', '786' ], + 'Avvio 790' => [ 'Avvio', '790' ], + 'Avvio 790s' => [ 'Avvio', '790s' ], + 'Avvio 792' => [ 'Avvio', '792' ], + 'Avvio 792s' => [ 'Avvio', '792s' ], + 'Avvio 793' => [ 'Avvio', '793' ], + 'Avvio L500 Claro' => [ 'Avvio', 'L500' ], + 'Avvio PAD' => [ 'Avvio', 'Pad', DeviceType::TABLET ], + ], + + '(Axioo[\- ])?PICO!!' => [ + 'PICOphone 2' => [ 'Axioo', 'PICOphone 2' ], + 'PICOphone 4' => [ 'Axioo', 'PICOphone 4' ], + 'Picophone4' => [ 'Axioo', 'PICOphone 4' ], + 'PICOphone4 GDF' => [ 'Axioo', 'PICOphone 4' ], + 'PICOphone4 GDX' => [ 'Axioo', 'PICOphone 4' ], + 'PICOphone M1' => [ 'Axioo', 'PICOphone M1' ], + 'PICOphone M2 (M)' => [ 'Axioo', 'PICOphone M2' ], + 'PICOpad S1(7 3G)' => [ 'Axioo', 'PICOpad S1', DeviceType::TABLET ], + 'PICOpad 7H(7 3G)' => [ 'Axioo', 'PICOpad 7H', DeviceType::TABLET ], + 'PICOpadGCE' => [ 'Axioo', 'PICOpad GCE', DeviceType::TABLET ], + 'Axioo PICOpad GDK' => [ 'Axioo', 'PICOpad GDK', DeviceType::TABLET ], + 'PICOpad GDK' => [ 'Axioo', 'PICOpad GDK', DeviceType::TABLET ], + 'PICOpad GDS' => [ 'Axioo', 'PICOpad GDS', DeviceType::TABLET ], + 'PICOpad GEA' => [ 'Axioo', 'PICOpad GEA', DeviceType::TABLET ], + 'PICOpad GEW' => [ 'Axioo', 'PICOpad GEW', DeviceType::TABLET ], + 'PICOpad GFI' => [ 'Axioo', 'PICOpad GFI', DeviceType::TABLET ], + 'PICOpad GGA' => [ 'Axioo', 'PICOpad GGA', DeviceType::TABLET ], + 'PICOpad GGD' => [ 'Axioo', 'PICOpad GGD', DeviceType::TABLET ], + 'PICOpad GGG' => [ 'Axioo', 'PICOpad GGG', DeviceType::TABLET ], + 'PICOpad GHM' => [ 'Axioo', 'PICOpad GHM', DeviceType::TABLET ], + 'Axioo PICOpad GIM' => [ 'Axioo', 'PICOpad GIM', DeviceType::TABLET ], + 'PICOpad GJE' => [ 'Axioo', 'PICOpad GJE', DeviceType::TABLET ], + 'PICOpad GJT' => [ 'Axioo', 'PICOpad GJT', DeviceType::TABLET ], + 'PICOpad-QGN' => [ 'Axioo', 'PICOpad QGN', DeviceType::TABLET ], + 'Axioo-VIGO350' => [ 'Axioo', 'Vigo 350' ], + 'Axioo-VIGO410' => [ 'Axioo', 'Vigo 410' ], + ], + + '(AXPAD|Axxion)!!' => [ + 'AXPAD 7E01' => [ 'Axtrom', 'Axpad 7" Series-7E01', DeviceType::TABLET ], + 'AXPAD 7E02' => [ 'Axtrom', 'Axpad 7" Series-7E02', DeviceType::TABLET ], + 'AXPAD 7I04' => [ 'Axtrom', 'Axpad 7" Series-7I04', DeviceType::TABLET ], + 'AXPAD 9P01' => [ 'Axtrom', 'Axpad 9" Series-9P01', DeviceType::TABLET ], + 'Axxion ATAB-701' => [ 'Axxion', 'ATAB-701', DeviceType::TABLET ], + 'Axxion ATAB-902' => [ 'Axxion', 'ATAB-902', DeviceType::TABLET ], + ], + 'A10 MID' => [ 'Azhuo', 'A10 MID', DeviceType::TABLET ], 'A10MID' => [ 'Azhuo', 'A10 MID', DeviceType::TABLET ], - 'Azumi A35S' => [ 'Azumi', 'A35s' ], - 'Azumi A40C' => [ 'Azumi', 'A40c' ], - 'AZUMI A50' => [ 'Azumi', 'A50' ], - 'Azumi A50c' => [ 'Azumi', 'A50c' ], - 'AZUMI A50c+' => [ 'Azumi', 'A50c+' ], - 'Azumi LT50' => [ 'Azumi', 'LT50' ], - 'Azumi KL32' => [ 'Azumi', 'KL32' ], - 'Azumi AT7' => [ 'Azumi', 'AT7', DeviceType::TABLET ], - 'BDS-S100' => [ 'B box', 'B tv BDS-S100', DeviceType::TELEVISION ], - 'BDS-S200' => [ 'B box', 'B tv BDS-S200', DeviceType::TELEVISION ], - 'BHX-S100' => [ 'B box', 'B tv BHX-S100', DeviceType::TELEVISION ], - 'BHX-S100 TV' => [ 'B box', 'B tv BHX-S100', DeviceType::TELEVISION ], - 'BHX-UH200' => [ 'B box', 'B tv UHD BHX-UH200', DeviceType::TELEVISION ], - 'BKO-S200 TV' => [ 'B box', 'B tv BKO-S200', DeviceType::TELEVISION ], + + 'Azumi!!' => [ + 'Azumi A35S' => [ 'Azumi', 'A35s' ], + 'Azumi A40C' => [ 'Azumi', 'A40c' ], + 'AZUMI A50' => [ 'Azumi', 'A50' ], + 'Azumi A50c' => [ 'Azumi', 'A50c' ], + 'AZUMI A50c+' => [ 'Azumi', 'A50c+' ], + 'Azumi LT50' => [ 'Azumi', 'LT50' ], + 'Azumi KL32' => [ 'Azumi', 'KL32' ], + 'Azumi AT7' => [ 'Azumi', 'AT7', DeviceType::TABLET ], + ], + + '(BDS|BHX|BKO)\-!!' => [ + 'BDS-S100' => [ 'B box', 'B tv BDS-S100', DeviceType::TELEVISION ], + 'BDS-S200' => [ 'B box', 'B tv BDS-S200', DeviceType::TELEVISION ], + 'BHX-S100' => [ 'B box', 'B tv BHX-S100', DeviceType::TELEVISION ], + 'BHX-S100 TV' => [ 'B box', 'B tv BHX-S100', DeviceType::TELEVISION ], + 'BHX-UH200' => [ 'B box', 'B tv UHD BHX-UH200', DeviceType::TELEVISION ], + 'BKO-S200 TV' => [ 'B box', 'B tv BKO-S200', DeviceType::TELEVISION ], + ], + 'Aero A2-110' => [ 'Banghó', 'Aero A2 110', DeviceType::TABLET ], 'NOOK' => [ 'Barnes & Noble', 'NOOK', DeviceType::EREADER ], 'Nook ?Color!' => [ 'Barnes & Noble', 'NOOK Color', DeviceType::EREADER ], @@ -1473,59 +1553,83 @@ 'AT101T-114' => [ 'Bauhn', 'AT101T-114', DeviceType::TABLET ], 'WL-101GQC' => [ 'Bauhn', 'WL-101GQC', DeviceType::TABLET ], 'BEE 9500' => [ 'Bee Mobile', 'Bee 9500' ], - 'BF A8' => [ 'Bellefonte', 'A8' ], - 'BF-A10' => [ 'Bellefonte', 'A10' ], - 'BF A11' => [ 'Bellefonte', 'A11' ], - 'BF A12P' => [ 'Bellefonte', 'A12P' ], - 'BF A16' => [ 'Bellefonte', 'A16' ], - 'BF C7' => [ 'Bellefonte', 'C7' ], - 'BF G11' => [ 'Bellefonte', 'G11' ], - 'BF V5T!' => [ 'Bellefonte', 'V5T' ], - 'BenQ F5' => [ 'BenQ', 'F5' ], - 'BenQ T3' => [ 'BenQ', 'T3' ], - 'BenQ R71' => [ 'BenQ', 'R71', DeviceType::TABLET ], - 'BenWee 550S' => [ 'BenWee', '550S' ], - 'BenWee 5100S' => [ 'BenWee', '5100S' ], - 'BenWee N7' => [ 'BenWee', 'N7' ], - 'BenWee N9' => [ 'BenWee', 'N9' ], + + 'BF[ \-]!!' => [ + 'BF A8' => [ 'Bellefonte', 'A8' ], + 'BF-A10' => [ 'Bellefonte', 'A10' ], + 'BF A11' => [ 'Bellefonte', 'A11' ], + 'BF A12P' => [ 'Bellefonte', 'A12P' ], + 'BF A16' => [ 'Bellefonte', 'A16' ], + 'BF C7' => [ 'Bellefonte', 'C7' ], + 'BF G11' => [ 'Bellefonte', 'G11' ], + 'BF V5T!' => [ 'Bellefonte', 'V5T' ], + ], + + 'BenQ!!' => [ + 'BenQ F5' => [ 'BenQ', 'F5' ], + 'BenQ T3' => [ 'BenQ', 'T3' ], + 'BenQ R71' => [ 'BenQ', 'R71', DeviceType::TABLET ], + ], + + 'BenWee!!' => [ + 'BenWee 550S' => [ 'BenWee', '550S' ], + 'BenWee 5100S' => [ 'BenWee', '5100S' ], + 'BenWee N7' => [ 'BenWee', 'N7' ], + 'BenWee N9' => [ 'BenWee', 'N9' ], + ], + 'BePhone UN030' => [ 'BePhone', 'UN030' ], - 'Best sonny L82' => [ 'Best Sonny', 'L82' ], - 'Best sonny LT986' => [ 'Best Sonny', 'LT986' ], - 'Best sonny T898' => [ 'Best Sonny', 'T898' ], - 'BestsonnyT961' => [ 'Best Sonny', 'T961' ], - 'BestsonnyT962' => [ 'Best Sonny', 'T962' ], + + 'Best ?sonny!!' => [ + 'Best sonny L82' => [ 'Best Sonny', 'L82' ], + 'Best sonny LT986' => [ 'Best Sonny', 'LT986' ], + 'Best sonny T898' => [ 'Best Sonny', 'T898' ], + 'BestsonnyT961' => [ 'Best Sonny', 'T961' ], + 'BestsonnyT962' => [ 'Best Sonny', 'T962' ], + ], + 'CA907AAC0G' => [ 'Besta', 'CA907AAC0G' ], - 'BFB S7' => [ 'BFB', 'S7' ], - 'BFB W9000' => [ 'BFB', 'W9000' ], - 'BFB W9900' => [ 'BFB', 'W9900' ], - 'BF5200' => [ 'Bifer', 'BF5200' ], - 'BF9100' => [ 'Bifer', 'BF9100' ], - 'BF9200' => [ 'Bifer', 'BF9200' ], - 'BIRD E700' => [ 'Bird', 'E700' ], - 'Bird-Doeasy E700' => [ 'Bird', 'Doeasy E700' ], - 'Bird i7' => [ 'Bird', 'I7' ], - 'Bird i8' => [ 'Bird', 'I8' ], - 'Bird i9' => [ 'Bird', 'I9' ], - 'Bird i500' => [ 'Bird', 'I500' ], - 'Bird i580' => [ 'Bird', 'I580' ], - 'Bird i600' => [ 'Bird', 'I600' ], - 'BIRD I720 WIFI 3000' => [ 'Bird', 'I720' ], - 'Bird i900' => [ 'Bird', 'I900' ], - 'Bird L9' => [ 'Bird', 'L9' ], - 'BIRD L108' => [ 'Bird', 'L108' ], - 'Bird LT01' => [ 'Bird', 'LT01' ], - 'BIRD S6' => [ 'Bird', 'S6' ], - 'BIRD T40' => [ 'Bird', 'T40' ], - 'BIRD T900' => [ 'Bird', 'T900' ], + + 'BFB!!' => [ + 'BFB S7' => [ 'BFB', 'S7' ], + 'BFB W9000' => [ 'BFB', 'W9000' ], + 'BFB W9900' => [ 'BFB', 'W9900' ], + ], + + 'BF[0-9]{2,2}00!!' => [ + 'BF5200' => [ 'Bifer', 'BF5200' ], + 'BF9100' => [ 'Bifer', 'BF9100' ], + 'BF9200' => [ 'Bifer', 'BF9200' ], + ], + + 'Bird!!' => [ + 'BIRD E700' => [ 'Bird', 'E700' ], + 'Bird-Doeasy E700' => [ 'Bird', 'Doeasy E700' ], + 'Bird i7' => [ 'Bird', 'I7' ], + 'Bird i8' => [ 'Bird', 'I8' ], + 'Bird i9' => [ 'Bird', 'I9' ], + 'Bird i500' => [ 'Bird', 'I500' ], + 'Bird i580' => [ 'Bird', 'I580' ], + 'Bird i600' => [ 'Bird', 'I600' ], + 'BIRD I720 WIFI 3000' => [ 'Bird', 'I720' ], + 'Bird i900' => [ 'Bird', 'I900' ], + 'Bird L9' => [ 'Bird', 'L9' ], + 'BIRD L108' => [ 'Bird', 'L108' ], + 'Bird LT01' => [ 'Bird', 'LT01' ], + 'BIRD S6' => [ 'Bird', 'S6' ], + 'BIRD T40' => [ 'Bird', 'T40' ], + 'BIRD T900' => [ 'Bird', 'T900' ], + 'Bird T9500' => [ 'Bird', 'T9500' ], + 'Bird T9508' => [ 'Bird', 'T9508' ], + 'BIRD T9600' => [ 'Bird', 'T9600' ], + 'Bird T9608' => [ 'Bird', 'T9608' ], + 'BIRD-V8' => [ 'Bird', 'V8' ], + 'BIRD W5' => [ 'Bird', 'W5' ], + 'Bird W188' => [ 'Bird', 'W188' ], + 'Bird XL100' => [ 'Bird', 'XL100' ], + ], + 'T9108' => [ 'Bird', 'T9108' ], - 'Bird T9500' => [ 'Bird', 'T9500' ], - 'Bird T9508' => [ 'Bird', 'T9508' ], - 'BIRD T9600' => [ 'Bird', 'T9600' ], - 'Bird T9608' => [ 'Bird', 'T9608' ], - 'BIRD-V8' => [ 'Bird', 'V8' ], - 'BIRD W5' => [ 'Bird', 'W5' ], - 'Bird W188' => [ 'Bird', 'W188' ], - 'Bird XL100' => [ 'Bird', 'XL100' ], 'BB EH7' => [ 'BestBuy', 'EH7', DeviceType::TABLET ], 'BB EH7LE' => [ 'BestBuy', 'EH7LE', DeviceType::TABLET ], '(BB )?Q5$!' => [ 'BlackBerry', 'Q5' ], @@ -2183,38 +2287,51 @@ 'MID9760' => [ 'Coby', 'Kyros MID9760', DeviceType::TABLET ], ], - 'Ultimix77' => [ 'Codegen', 'Ultimix 77', DeviceType::TABLET ], - 'Ultimix 88' => [ 'Codegen', 'Ultimix 88', DeviceType::TABLET ], - 'Ultimix99' => [ 'Codegen', 'Ultimix 99', DeviceType::TABLET ], - 'Commodore IS-7107C' => [ 'Commodore', 'IS-7107C', DeviceType::TABLET ], - 'Commodore IS-7107C' => [ 'Commodore', 'IS-7107C', DeviceType::TABLET ], + 'Ultimix!!' => [ + 'Ultimix77' => [ 'Codegen', 'Ultimix 77', DeviceType::TABLET ], + 'Ultimix 88' => [ 'Codegen', 'Ultimix 88', DeviceType::TABLET ], + 'Ultimix99' => [ 'Codegen', 'Ultimix 99', DeviceType::TABLET ], + ], + + 'Commodore!!' => [ + 'Commodore IS-7107C' => [ 'Commodore', 'IS-7107C', DeviceType::TABLET ], + 'Commodore IS-7107C' => [ 'Commodore', 'IS-7107C', DeviceType::TABLET ], + ], + 'Z71' => [ 'Commtiva', 'Z71' ], 'V-T100' => [ 'Commtiva', 'V-T100' ], 'FIH-FB0' => [ 'Commtiva', 'HD700'], 'Commtiva-HD710' => [ 'Commtiva', 'HD710'], 'Commtiva-N700' => [ 'Commtiva', 'N700'], 'Connspeed IP71' => [ 'Connspeed', 'IP71' ], - 'Colorfly CT102 Qise 3' => [ 'Colorfly', 'CT102 Qise 3', DeviceType::TABLET ], - 'CT704 D·Bok' => [ 'Colorfly', 'CT704 D·Bok', DeviceType::TABLET ], - 'CT801 Eyas' => [ 'Colorfly', 'CT801 Eyas', DeviceType::TABLET ], - 'CT801 Q.Ait' => [ 'Colorfly', 'CT801 Q·Ait', DeviceType::TABLET ], - 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ], - 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ], - 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ], - 'CT972 Q.Vanilla 2' => [ 'Colorfly', 'CT972 Q·Vanilla 2', DeviceType::TABLET ], - 'CT974 Ivory 3' => [ 'Colorfly', 'CT974 Ivory 3', DeviceType::TABLET ], - 'Colorfly E708' => [ 'Colorfly', 'E708', DeviceType::TABLET ], - 'Colorfly E708 Q1' => [ 'Colorfly', 'E708 Q1', DeviceType::TABLET ], - 'Colorfly E708 Q1s' => [ 'Colorfly', 'E708 Q1s', DeviceType::TABLET ], - 'Colorfly E708 Q2' => [ 'Colorfly', 'E708 Q2', DeviceType::TABLET ], - 'Colorfly G708' => [ 'Colorfly', 'G708', DeviceType::TABLET ], - 'Colorfly S782 Q1' => [ 'Colorfly', 'S782 Q1', DeviceType::TABLET ], - 'Colorfly U781 Q1' => [ 'Colorfly', 'U781 Q1', DeviceType::TABLET ], + + '(Colorfly|CT[0-9]{3,3})!!' => [ + 'Colorfly CT102 Qise 3' => [ 'Colorfly', 'CT102 Qise 3', DeviceType::TABLET ], + 'CT704 D·Bok' => [ 'Colorfly', 'CT704 D·Bok', DeviceType::TABLET ], + 'CT801 Eyas' => [ 'Colorfly', 'CT801 Eyas', DeviceType::TABLET ], + 'CT801 Q.Ait' => [ 'Colorfly', 'CT801 Q·Ait', DeviceType::TABLET ], + 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ], + 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ], + 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ], + 'CT972 Q.Vanilla 2' => [ 'Colorfly', 'CT972 Q·Vanilla 2', DeviceType::TABLET ], + 'CT974 Ivory 3' => [ 'Colorfly', 'CT974 Ivory 3', DeviceType::TABLET ], + 'Colorfly E708' => [ 'Colorfly', 'E708', DeviceType::TABLET ], + 'Colorfly E708 Q1' => [ 'Colorfly', 'E708 Q1', DeviceType::TABLET ], + 'Colorfly E708 Q1s' => [ 'Colorfly', 'E708 Q1s', DeviceType::TABLET ], + 'Colorfly E708 Q2' => [ 'Colorfly', 'E708 Q2', DeviceType::TABLET ], + 'Colorfly G708' => [ 'Colorfly', 'G708', DeviceType::TABLET ], + 'Colorfly S782 Q1' => [ 'Colorfly', 'S782 Q1', DeviceType::TABLET ], + 'Colorfly U781 Q1' => [ 'Colorfly', 'U781 Q1', DeviceType::TABLET ], + ], + 'K11' => [ 'Colors', 'K11' ], - 'Colors K22' => [ 'Colors', 'K22' ], - 'Colors X27' => [ 'Colors', 'Xfactor Wave X27' ], - 'Colors X45' => [ 'Colors', 'X45' ], - 'Colors X115' => [ 'Colors', 'Xfactor Quad II X115' ], + + 'Colors!!' => [ + 'Colors K22' => [ 'Colors', 'K22' ], + 'Colors X27' => [ 'Colors', 'Xfactor Wave X27' ], + 'Colors X45' => [ 'Colors', 'X45' ], + 'Colors X115' => [ 'Colors', 'Xfactor Quad II X115' ], + ], 'ConCorde!!' => [ 'ConCorde SmartPhone 4300' => [ 'ConCorde', 'SmartPhone 4300' ], @@ -2230,223 +2347,242 @@ 'ConCorde Tab T10' => [ 'ConCorde', 'tab T10', DeviceType::TABLET ], ], - 'Coolgen E68+' => [ 'Coolgen', 'E68+' ], - 'Coolgen E69+' => [ 'Coolgen', 'E69+' ], - 'Coolgen E70' => [ 'Coolgen', 'E70' ], - 'Coolgen E70 G' => [ 'Coolgen', 'E70 G' ], - 'Coolgen E71' => [ 'Coolgen', 'E71' ], - 'Coolgen E72 Note 3G' => [ 'Coolgen', 'E72' ], - 'Coolgen E72 Note8' => [ 'Coolgen', 'E72' ], - 'Coolpad A8-531' => [ 'Coolpad', 'A8-531' ], - 'Coolpad D510' => [ 'Coolpad', 'D510' ], + 'Coolgen!!' => [ + 'Coolgen E68+' => [ 'Coolgen', 'E68+' ], + 'Coolgen E69+' => [ 'Coolgen', 'E69+' ], + 'Coolgen E70' => [ 'Coolgen', 'E70' ], + 'Coolgen E70 G' => [ 'Coolgen', 'E70 G' ], + 'Coolgen E71' => [ 'Coolgen', 'E71' ], + 'Coolgen E72 Note 3G' => [ 'Coolgen', 'E72' ], + 'Coolgen E72 Note8' => [ 'Coolgen', 'E72' ], + ], + + 'Coolpad!!' => [ + 'Coolpad A8-531' => [ 'Coolpad', 'A8-531' ], + 'Coolpad D510' => [ 'Coolpad', 'D510' ], + 'Coolpad D530' => [ 'Coolpad', 'D530' ], + 'Coolpad D530TW' => [ 'Coolpad', 'D530' ], + 'Coolpad D539' => [ 'Coolpad', 'D539' ], + 'Coolpad E239' => [ 'Coolpad', 'E239' ], + 'Coolpad E501!' => [ 'Coolpad', 'E501' ], + 'Coolpad E560' => [ 'Coolpad', 'E560' ], + 'Coolpad F101' => [ 'Coolpad', 'F101' ], + 'Coolpad F103' => [ 'Coolpad', 'F103' ], + 'Coolpad N930' => [ 'Coolpad', 'N930' ], + 'Coolpad N950' => [ 'Coolpad', 'N950' ], + 'Coolpad R106' => [ 'Coolpad', 'R106' ], + 'Coolpad S6-NT' => [ 'Coolpad', 'S6-NT' ], + 'Coolpad T1' => [ 'Coolpad', 'T1' ], + 'Coolpad T2-C01' => [ 'Coolpad', 'T2' ], + 'Coolpad V1-C' => [ 'Coolpad', 'Bodun' ], + 'Coolpad W706!' => [ 'Coolpad', 'W706' ], + 'Coolpad W708' => [ 'Coolpad', 'W708' ], + 'Coolpad Y1' => [ 'Coolpad', 'Y1' ], + 'Coolpad Y60!' => [ 'Coolpad', 'Y60' ], + 'Coolpad Y70!' => [ 'Coolpad', 'Y70' ], + 'Coolpad Y71!' => [ 'Coolpad', 'Y71' ], + 'Coolpad Y75!' => [ 'Coolpad', 'Y75' ], + 'Coolpad Y76!' => [ 'Coolpad', 'Y76' ], + 'Coolpad Y80!' => [ 'Coolpad', 'Y80' ], + 'Coolpad Y82!' => [ 'Coolpad', 'Y82' ], + 'Coolpad 3300A' => [ 'Coolpad', '3300A' ], + 'Coolpad 3320A' => [ 'Coolpad', '3320A' ], + 'Coolpad 5010' => [ 'Coolpad', '5010' ], + 'Coolpad 5108' => [ 'Coolpad', '5108' ], + 'Coolpad 5109' => [ 'Coolpad', '5109' ], + 'Coolpad 5110' => [ 'Coolpad', '5110' ], + 'Coolpad 5200' => [ 'Coolpad', '5200' ], + 'Coolpad 5200S' => [ 'Coolpad', '5200S' ], + 'Coolpad 5210!' => [ 'Coolpad', '5210' ], + 'Coolpad 5211' => [ 'Coolpad', '5211' ], + 'Coolpad 5213' => [ 'Coolpad', '5213' ], + 'Coolpad 5216!' => [ 'Coolpad', '5216' ], + 'Coolpad 5217' => [ 'Coolpad', '5217' ], + 'Coolpad 5218!' => [ 'Coolpad', '5218' ], + 'Coolpad 5219' => [ 'Coolpad', '5219' ], + 'Coolpad 5230!' => [ 'Coolpad', '5230' ], + 'Coolpad 5261!' => [ 'Coolpad', '5261' ], + 'Coolpad 5263!' => [ 'Coolpad', '5263' ], + 'Coolpad 5310' => [ 'Coolpad', '5310' ], + 'Coolpad 5311' => [ 'Coolpad', '5311' ], + 'Coolpad 5313' => [ 'Coolpad', '5313' ], + 'Coolpad 5313S' => [ 'Coolpad', '5313S' ], + 'Coolpad 5316' => [ 'Coolpad', '5316' ], + 'Coolpad 5360' => [ 'Coolpad', '5360' ], + 'Coolpad 5820' => [ 'Coolpad', '5820' ], + 'Coolpad 5832' => [ 'Coolpad', '5832' ], + 'Coolpad 5860!' => [ 'Coolpad', '5860' ], + 'Coolpad 5870' => [ 'Coolpad', '5870' ], + 'Coolpad 5872' => [ 'Coolpad', '5872' ], + 'Coolpad 5876' => [ 'Coolpad', '5876' ], + 'Coolpad 5879' => [ 'Coolpad', '5879' ], + 'Coolpad 5879T' => [ 'Coolpad', '5879T' ], + 'Coolpad 5880' => [ 'Coolpad', '5880' ], + 'Coolpad 5890' => [ 'Coolpad', '5890' ], + 'Coolpad 5891!' => [ 'Coolpad', '5891' ], + 'Coolpad 5892!' => [ 'Coolpad', '5892' ], + 'Coolpad 5910' => [ 'Coolpad', '5910' ], + 'Coolpad 5930' => [ 'Coolpad', '5930' ], + 'Coolpad 5950' => [ 'Coolpad', '5950' ], + 'Coolpad 5950T' => [ 'Coolpad', '5950T' ], + 'Coolpad 5951' => [ 'Coolpad', '5951' ], + 'Coolpad 5952' => [ 'Coolpad', '5952' ], + 'Coolpad 5956' => [ 'Coolpad', '5956' ], + 'Coolpad 7005' => [ 'Coolpad', '7005' ], + 'Coolpad 7011' => [ 'Coolpad', '7011' ], + 'Coolpad 7019!' => [ 'Coolpad', '7019' ], + 'Coolpad 7020' => [ 'Coolpad', '7020' ], + 'Coolpad 7060!' => [ 'Coolpad', '7060' ], + 'Coolpad 7061' => [ 'Coolpad', '7061' ], + 'Coolpad 7105' => [ 'Coolpad', '7105' ], + 'Coolpad 7230!' => [ 'Coolpad', '7230' ], + 'Coolpad 7231' => [ 'Coolpad', '7231' ], + 'Coolpad 7232' => [ 'Coolpad', '7232' ], + 'Coolpad 7235' => [ 'Coolpad', '7235' ], + 'Coolpad 7236' => [ 'Coolpad', '7236' ], + 'Coolpad 7251' => [ 'Coolpad', '7251' ], + 'Coolpad 7260!' => [ 'Coolpad', '7260' ], + 'Coolpad 7266' => [ 'Coolpad', '7266' ], + 'Coolpad 7268' => [ 'Coolpad', '7268' ], + 'Coolpad 7269' => [ 'Coolpad', '7269' ], + 'Coolpad 7270' => [ 'Coolpad', '7270' ], + 'Coolpad 7270 W00' => [ 'Coolpad', '7270' ], + 'Coolpad 7275' => [ 'Coolpad', '7275' ], + 'Coolpad 7290' => [ 'Coolpad', '7290' ], + 'Coolpad 7295!' => [ 'Coolpad', '7295' ], + 'Coolpad 7296' => [ 'Coolpad', '7296' ], + 'Coolpad 7296S' => [ 'Coolpad', '7296S' ], + 'Coolpad 7298A' => [ 'Coolpad', '7298A' ], + 'Coolpad 7298D' => [ 'Coolpad', '7298D' ], + 'Coolpad 7320' => [ 'Coolpad', '7320' ], + 'Coolpad 7560U' => [ 'Coolpad', '7560U' ], + 'Coolpad 7620L!' => [ 'Coolpad', '7620L' ], + 'Coolpad 7728' => [ 'Coolpad', '7728' ], + 'Coolpad 8010' => [ 'Coolpad', '8010' ], + 'Coolpad 8012' => [ 'Coolpad', '8012' ], + 'Coolpad 8013' => [ 'Coolpad', '8013' ], + 'Coolpad 8017!' => [ 'Coolpad', '8017' ], + 'Coolpad 8020!' => [ 'Coolpad', '8020' ], + 'Coolpad 8021' => [ 'Coolpad', '8021' ], + 'Coolpad 8022' => [ 'Coolpad', '8022' ], + 'Coolpad 8026' => [ 'Coolpad', '8026' ], + 'Coolpad 8028' => [ 'Coolpad', '8028' ], + 'Coolpad 8029' => [ 'Coolpad', '8029' ], + 'Coolpad 8050' => [ 'Coolpad', '8050' ], + 'Coolpad 8056' => [ 'Coolpad', '8056' ], + 'Coolpad -8056' => [ 'Coolpad', '8056' ], + 'Coolpad 8060' => [ 'Coolpad', '8060' ], + 'Coolpad 8070' => [ 'Coolpad', '8070' ], + 'Coolpad 8070D' => [ 'Coolpad', '8070D' ], + 'Coolpad 8071' => [ 'Coolpad', '8071' ], + 'Coolpad 8076' => [ 'Coolpad', '8076' ], + 'Coolpad -8076!' => [ 'Coolpad', '8076' ], + 'Coolpad 8076D' => [ 'Coolpad', '8076' ], + 'Coolpad 8079' => [ 'Coolpad', '8079' ], + 'Coolpad 8085' => [ 'Coolpad', '8085' ], + 'Coolpad 8085Q' => [ 'Coolpad', '8085' ], + 'Coolpad 8089' => [ 'Coolpad', '8089' ], + 'Coolpad 8105' => [ 'Coolpad', '8105' ], + 'Coolpad 8122' => [ 'Coolpad', '8122' ], + 'Coolpad 8150S' => [ 'Coolpad', '8150' ], + 'Coolpad -?8190!' => [ 'Coolpad', '8190' ], + 'Coolpad 8198T' => [ 'Coolpad', '8198T' ], + 'Coolpad 8295M' => [ 'Coolpad', '8295M' ], + 'Coolpad 8295!' => [ 'Coolpad', '8295' ], + 'Coolpad 8297!' => [ 'Coolpad', 'Dashen F1' ], + 'Coolpad F1 8297W' => [ 'Coolpad', 'Dashen F1' ], + 'Coolpad 8670' => [ 'Coolpad', 'Note 8670' ], + 'Coolpad 8675!' => [ 'Coolpad', 'Dashen F2' ], + 'Coolpad 8676!' => [ 'Coolpad', 'Note 3 8676' ], + 'Coolpad 8690!' => [ 'Coolpad', 'Dashen X7' ], + 'Coolpad 8702' => [ 'Coolpad', '8702' ], + 'Coolpad 8702D' => [ 'Coolpad', '8702D' ], + 'Coolpad 8705' => [ 'Coolpad', '8705' ], + 'Coolpad 8707' => [ 'Coolpad', '8707' ], + 'Coolpad 8713' => [ 'Coolpad', '8713' ], + 'Coolpad 8720L' => [ 'Coolpad', '8720L' ], + 'Coolpad 8720Q' => [ 'Coolpad', '8720Q' ], + 'Coolpad 8729' => [ 'Coolpad', '8729' ], + 'Coolpad 8730L' => [ 'Coolpad', '8730L' ], + 'Coolpad 8732' => [ 'Coolpad', '8732' ], + 'Coolpad 8735' => [ 'Coolpad', '8735' ], + 'Coolpad 8736' => [ 'Coolpad', '8736' ], + 'Coolpad 8750' => [ 'Coolpad', 'Xuan Ying SII 8750' ], + 'Coolpad 8809' => [ 'Coolpad', '8809' ], + 'Coolpad 8810' => [ 'Coolpad', '8810' ], + 'Coolpad 8811' => [ 'Coolpad', '8811' ], + 'Coolpad 8860!' => [ 'Coolpad', '8860' ], + 'Coolpad 8870!' => [ 'Coolpad', '8870' ], + 'Coolpad 8908' => [ 'Coolpad', '8908' ], + 'Coolpad 8920' => [ 'Coolpad', 'Quattro II 8920' ], + 'Coolpad 8970L' => [ 'Coolpad', 'Grand 4 8970' ], + 'Coolpad 8971' => [ 'Coolpad', '8971' ], + 'Coolpad 9070' => [ 'Coolpad', '9070+XO' ], + 'Coolpad 9080W' => [ 'Coolpad', '9080' ], + 'Coolpad 9120' => [ 'Coolpad', '9120' ], + 'Coolpad 9150' => [ 'Coolpad', 'Air 9150' ], + 'Coolpad 9150W' => [ 'Coolpad', 'Air 9150' ], + 'Coolpad 9190L!' => [ 'Coolpad', 'S6 9190' ], + 'Coolpad 9190 T00' => [ 'Coolpad', 'S6 9190' ], + 'Coolpad 9900' => [ 'Coolpad', '9900' ], + 'Coolpad 9960' => [ 'Coolpad', 'Grand HD 9960' ], + 'Coolpad 9970' => [ 'Coolpad', 'Grand 4 9970' ], + 'Coolpad 9976!' => [ 'Coolpad', '9976' ], + 'Coolpad Flo' => [ 'Coolpad', 'Flo' ], + ], + 'D530' => [ 'Coolpad', 'D530' ], - 'Coolpad D530' => [ 'Coolpad', 'D530' ], - 'Coolpad D530TW' => [ 'Coolpad', 'D530' ], 'D539' => [ 'Coolpad', 'D539' ], - 'Coolpad D539' => [ 'Coolpad', 'D539' ], 'E239' => [ 'Coolpad', 'E239' ], - 'Coolpad E239' => [ 'Coolpad', 'E239' ], - 'Coolpad E501!' => [ 'Coolpad', 'E501' ], - 'Coolpad E560' => [ 'Coolpad', 'E560' ], - 'Coolpad F101' => [ 'Coolpad', 'F101' ], - 'Coolpad F103' => [ 'Coolpad', 'F103' ], - 'Coolpad N930' => [ 'Coolpad', 'N930' ], 'N930' => [ 'Coolpad', 'N930' ], - 'Coolpad N950' => [ 'Coolpad', 'N950' ], - 'Coolpad R106' => [ 'Coolpad', 'R106' ], - 'Coolpad S6-NT' => [ 'Coolpad', 'S6-NT' ], - 'Coolpad T1' => [ 'Coolpad', 'T1' ], - 'Coolpad T2-C01' => [ 'Coolpad', 'T2' ], - 'Coolpad V1-C' => [ 'Coolpad', 'Bodun' ], - 'Coolpad W706!' => [ 'Coolpad', 'W706' ], - 'Coolpad W708' => [ 'Coolpad', 'W708' ], 'W711' => [ 'Coolpad', 'W711' ], - 'Coolpad Y1' => [ 'Coolpad', 'Y1' ], - 'Coolpad Y60!' => [ 'Coolpad', 'Y60' ], - 'Coolpad Y70!' => [ 'Coolpad', 'Y70' ], - 'Coolpad Y71!' => [ 'Coolpad', 'Y71' ], - 'Coolpad Y75!' => [ 'Coolpad', 'Y75' ], - 'Coolpad Y76!' => [ 'Coolpad', 'Y76' ], - 'Coolpad Y80!' => [ 'Coolpad', 'Y80' ], - 'Coolpad Y82!' => [ 'Coolpad', 'Y82' ], - 'Coolpad 3300A' => [ 'Coolpad', '3300A' ], - 'Coolpad 3320A' => [ 'Coolpad', '3320A' ], 'CP3700A' => [ 'Coolpad', '3700A' ], - 'Coolpad 5010' => [ 'Coolpad', '5010' ], - 'Coolpad 5108' => [ 'Coolpad', '5108' ], - 'Coolpad 5109' => [ 'Coolpad', '5109' ], - 'Coolpad 5110' => [ 'Coolpad', '5110' ], - 'Coolpad 5200' => [ 'Coolpad', '5200' ], - 'Coolpad 5200S' => [ 'Coolpad', '5200S' ], - 'Coolpad 5210!' => [ 'Coolpad', '5210' ], - 'Coolpad 5211' => [ 'Coolpad', '5211' ], - 'Coolpad 5213' => [ 'Coolpad', '5213' ], - 'Coolpad 5216!' => [ 'Coolpad', '5216' ], - 'Coolpad 5217' => [ 'Coolpad', '5217' ], - 'Coolpad 5218!' => [ 'Coolpad', '5218' ], - 'Coolpad 5219' => [ 'Coolpad', '5219' ], - 'Coolpad 5230!' => [ 'Coolpad', '5230' ], - 'Coolpad 5261!' => [ 'Coolpad', '5261' ], - 'Coolpad 5263!' => [ 'Coolpad', '5263' ], - 'Coolpad 5310' => [ 'Coolpad', '5310' ], - 'Coolpad 5311' => [ 'Coolpad', '5311' ], - 'Coolpad 5313' => [ 'Coolpad', '5313' ], - 'Coolpad 5313S' => [ 'Coolpad', '5313S' ], - 'Coolpad 5316' => [ 'Coolpad', '5316' ], - 'Coolpad 5360' => [ 'Coolpad', '5360' ], '5560S' => [ 'Coolpad', '5560S' ], - 'Coolpad 5820' => [ 'Coolpad', '5820' ], '5832' => [ 'Coolpad', '5832' ], - 'Coolpad 5832' => [ 'Coolpad', '5832' ], '5855' => [ 'Coolpad', '5855' ], - 'Coolpad 5860!' => [ 'Coolpad', '5860' ], '5860' => [ 'Coolpad', '5860' ], '5860A' => [ 'Coolpad', '5860A' ], '5860E' => [ 'Coolpad', 'Quattro 4G 5860E' ], '5860S' => [ 'Coolpad', '5860S' ], - 'Coolpad 5870' => [ 'Coolpad', '5870' ], '5870' => [ 'Coolpad', '5870' ], - 'Coolpad 5872' => [ 'Coolpad', '5872' ], - 'Coolpad 5876' => [ 'Coolpad', '5876' ], - 'Coolpad 5879' => [ 'Coolpad', '5879' ], - 'Coolpad 5879T' => [ 'Coolpad', '5879T' ], - 'Coolpad 5880' => [ 'Coolpad', '5880' ], - 'Coolpad 5890' => [ 'Coolpad', '5890' ], - 'Coolpad 5891!' => [ 'Coolpad', '5891' ], - 'Coolpad 5892!' => [ 'Coolpad', '5892' ], - 'Coolpad 5910' => [ 'Coolpad', '5910' ], - 'Coolpad 5930' => [ 'Coolpad', '5930' ], - 'Coolpad 5950' => [ 'Coolpad', '5950' ], - 'Coolpad 5950T' => [ 'Coolpad', '5950T' ], - 'Coolpad 5951' => [ 'Coolpad', '5951' ], - 'Coolpad 5952' => [ 'Coolpad', '5952' ], - 'Coolpad 5956' => [ 'Coolpad', '5956' ], - 'Coolpad 7005' => [ 'Coolpad', '7005' ], - 'Coolpad 7011' => [ 'Coolpad', '7011' ], - 'Coolpad 7019!' => [ 'Coolpad', '7019' ], - 'Coolpad 7020' => [ 'Coolpad', '7020' ], - 'Coolpad 7060!' => [ 'Coolpad', '7060' ], - 'Coolpad 7061' => [ 'Coolpad', '7061' ], - 'Coolpad 7105' => [ 'Coolpad', '7105' ], - 'Coolpad 7230!' => [ 'Coolpad', '7230' ], - 'Coolpad 7231' => [ 'Coolpad', '7231' ], - 'Coolpad 7232' => [ 'Coolpad', '7232' ], - 'Coolpad 7235' => [ 'Coolpad', '7235' ], - 'Coolpad 7236' => [ 'Coolpad', '7236' ], - 'Coolpad 7251' => [ 'Coolpad', '7251' ], '7260' => [ 'Coolpad', '7260' ], - 'Coolpad 7260!' => [ 'Coolpad', '7260' ], '7266' => [ 'Coolpad', '7266' ], - 'Coolpad 7266' => [ 'Coolpad', '7266' ], - 'Coolpad 7268' => [ 'Coolpad', '7268' ], - 'Coolpad 7269' => [ 'Coolpad', '7269' ], - 'Coolpad 7270' => [ 'Coolpad', '7270' ], - 'Coolpad 7270 W00' => [ 'Coolpad', '7270' ], - 'Coolpad 7275' => [ 'Coolpad', '7275' ], - 'Coolpad 7290' => [ 'Coolpad', '7290' ], - 'Coolpad 7295!' => [ 'Coolpad', '7295' ], - 'Coolpad 7296' => [ 'Coolpad', '7296' ], - 'Coolpad 7296S' => [ 'Coolpad', '7296S' ], - 'Coolpad 7298A' => [ 'Coolpad', '7298A' ], - 'Coolpad 7298D' => [ 'Coolpad', '7298D' ], - 'Coolpad 7320' => [ 'Coolpad', '7320' ], - 'Coolpad 7560U' => [ 'Coolpad', '7560U' ], - 'Coolpad 7620L!' => [ 'Coolpad', '7620L' ], - 'Coolpad 7728' => [ 'Coolpad', '7728' ], - 'Coolpad 8010' => [ 'Coolpad', '8010' ], - 'Coolpad 8012' => [ 'Coolpad', '8012' ], - 'Coolpad 8013' => [ 'Coolpad', '8013' ], - 'Coolpad 8017!' => [ 'Coolpad', '8017' ], - 'Coolpad 8020!' => [ 'Coolpad', '8020' ], - 'Coolpad 8021' => [ 'Coolpad', '8021' ], '8022' => [ 'Coolpad', '8022' ], - 'Coolpad 8022' => [ 'Coolpad', '8022' ], - 'Coolpad 8026' => [ 'Coolpad', '8026' ], - 'Coolpad 8028' => [ 'Coolpad', '8028' ], - 'Coolpad 8029' => [ 'Coolpad', '8029' ], - 'Coolpad 8050' => [ 'Coolpad', '8050' ], - 'Coolpad 8056' => [ 'Coolpad', '8056' ], - 'Coolpad -8056' => [ 'Coolpad', '8056' ], - 'Coolpad 8060' => [ 'Coolpad', '8060' ], - 'Coolpad 8070' => [ 'Coolpad', '8070' ], - 'Coolpad 8070D' => [ 'Coolpad', '8070D' ], - 'Coolpad 8071' => [ 'Coolpad', '8071' ], - 'Coolpad 8076' => [ 'Coolpad', '8076' ], - 'Coolpad -8076!' => [ 'Coolpad', '8076' ], - 'Coolpad 8076D' => [ 'Coolpad', '8076' ], - 'Coolpad 8079' => [ 'Coolpad', '8079' ], - 'Coolpad 8085' => [ 'Coolpad', '8085' ], - 'Coolpad 8085Q' => [ 'Coolpad', '8085' ], - 'Coolpad 8089' => [ 'Coolpad', '8089' ], - 'Coolpad 8105' => [ 'Coolpad', '8105' ], - 'Coolpad 8122' => [ 'Coolpad', '8122' ], - 'Coolpad 8150S' => [ 'Coolpad', '8150' ], - 'Coolpad -?8190!' => [ 'Coolpad', '8190' ], '8190Q' => [ 'Coolpad', '8190' ], - 'Coolpad 8198T' => [ 'Coolpad', '8198T' ], - 'Coolpad 8295M' => [ 'Coolpad', '8295M' ], - 'Coolpad 8295!' => [ 'Coolpad', '8295' ], - 'Coolpad 8297!' => [ 'Coolpad', 'Dashen F1' ], - 'Coolpad F1 8297W' => [ 'Coolpad', 'Dashen F1' ], - 'Coolpad 8670' => [ 'Coolpad', 'Note 8670' ], - 'Coolpad 8675!' => [ 'Coolpad', 'Dashen F2' ], - 'Coolpad 8676!' => [ 'Coolpad', 'Note 3 8676' ], - 'Coolpad 8690!' => [ 'Coolpad', 'Dashen X7' ], - 'Coolpad 8702' => [ 'Coolpad', '8702' ], - 'Coolpad 8702D' => [ 'Coolpad', '8702D' ], - 'Coolpad 8705' => [ 'Coolpad', '8705' ], - 'Coolpad 8707' => [ 'Coolpad', '8707' ], - 'Coolpad 8713' => [ 'Coolpad', '8713' ], '8720' => [ 'Coolpad', '8720' ], '8720L' => [ 'Coolpad', '8720' ], - 'Coolpad 8720L' => [ 'Coolpad', '8720L' ], - 'Coolpad 8720Q' => [ 'Coolpad', '8720Q' ], - 'Coolpad 8729' => [ 'Coolpad', '8729' ], - 'Coolpad 8730L' => [ 'Coolpad', '8730L' ], - 'Coolpad 8732' => [ 'Coolpad', '8732' ], - 'Coolpad 8735' => [ 'Coolpad', '8735' ], - 'Coolpad 8736' => [ 'Coolpad', '8736' ], - 'Coolpad 8750' => [ 'Coolpad', 'Xuan Ying SII 8750' ], - 'Coolpad 8809' => [ 'Coolpad', '8809' ], - 'Coolpad 8810' => [ 'Coolpad', '8810' ], '8810' => [ 'Coolpad', '8810' ], - 'Coolpad 8811' => [ 'Coolpad', '8811' ], - 'Coolpad 8860!' => [ 'Coolpad', '8860' ], - 'Coolpad 8870!' => [ 'Coolpad', '8870' ], - 'Coolpad 8908' => [ 'Coolpad', '8908' ], - 'Coolpad 8920' => [ 'Coolpad', 'Quattro II 8920' ], '801ES' => [ 'Coolpad', 'Quattro II 4G' ], - 'Coolpad 8970L' => [ 'Coolpad', 'Grand 4 8970' ], - 'Coolpad 8971' => [ 'Coolpad', '8971' ], - 'Coolpad 9070' => [ 'Coolpad', '9070+XO' ], - 'Coolpad 9080W' => [ 'Coolpad', '9080' ], - 'Coolpad 9120' => [ 'Coolpad', '9120' ], - 'Coolpad 9150' => [ 'Coolpad', 'Air 9150' ], - 'Coolpad 9150W' => [ 'Coolpad', 'Air 9150' ], - 'Coolpad 9190L!' => [ 'Coolpad', 'S6 9190' ], - 'Coolpad 9190 T00' => [ 'Coolpad', 'S6 9190' ], - 'Coolpad 9900' => [ 'Coolpad', '9900' ], - 'Coolpad 9960' => [ 'Coolpad', 'Grand HD 9960' ], - 'Coolpad 9970' => [ 'Coolpad', 'Grand 4 9970' ], - 'Coolpad 9976!' => [ 'Coolpad', '9976' ], - 'Coolpad Flo' => [ 'Coolpad', 'Flo' ], - 'COWON D3' => [ 'Cowon', 'D3 Plenue', DeviceType::MEDIA ], - 'COWON Z2' => [ 'Cowon', 'Z2 Plenue', DeviceType::MEDIA ], + + 'COSHIP F2' => [ 'Coship', 'F2' ], + + 'COWON!!' => [ + 'COWON D3' => [ 'Cowon', 'D3 Plenue', DeviceType::MEDIA ], + 'COWON Z2' => [ 'Cowon', 'Z2 Plenue', DeviceType::MEDIA ], + ], + 'COZCO C1 Plus' => [ 'Cozco', 'C1 Plus' ], 'CLP281X' => [ 'Craig', 'CLP281x', DeviceType::TABLET ], - 'CMP741d' => [ 'Craig', 'CMP741d', DeviceType::TABLET ], - 'CMP741E' => [ 'Craig', 'CMP741e', DeviceType::TABLET ], - 'CMP745E' => [ 'Craig', 'CMP745e', DeviceType::TABLET ], - 'CMP748' => [ 'Craig', 'CMP748', DeviceType::TABLET ], - 'CMP749' => [ 'Craig', 'CMP749', DeviceType::TABLET ], - 'CMP756' => [ 'Craig', 'CMP756', DeviceType::TABLET ], - 'CMP 765' => [ 'Craig', 'CMP765', DeviceType::TABLET ], - 'ZiiO7' => [ 'Creative', 'ZiiO 7', DeviceType::TABLET ], - 'ZiiLABS ZiiO7' => [ 'Creative', 'ZiiO 7', DeviceType::TABLET ], - 'ZiiLABS ZiiO10' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ], - 'ZiiLABS ZiiO10 ' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ], - 'ZiiLABS ZiiO10+' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ], - 'Zii EGG' => [ 'Creative', 'Zii Egg', DeviceType::MEDIA ], + + 'CMP!!' => [ + 'CMP741d' => [ 'Craig', 'CMP741d', DeviceType::TABLET ], + 'CMP741E' => [ 'Craig', 'CMP741e', DeviceType::TABLET ], + 'CMP745E' => [ 'Craig', 'CMP745e', DeviceType::TABLET ], + 'CMP748' => [ 'Craig', 'CMP748', DeviceType::TABLET ], + 'CMP749' => [ 'Craig', 'CMP749', DeviceType::TABLET ], + 'CMP756' => [ 'Craig', 'CMP756', DeviceType::TABLET ], + 'CMP 765' => [ 'Craig', 'CMP765', DeviceType::TABLET ], + ], + + 'Zii!!' => [ + 'ZiiO7' => [ 'Creative', 'ZiiO 7', DeviceType::TABLET ], + 'ZiiLABS ZiiO7' => [ 'Creative', 'ZiiO 7', DeviceType::TABLET ], + 'ZiiLABS ZiiO10' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ], + 'ZiiLABS ZiiO10 ' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ], + 'ZiiLABS ZiiO10+' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ], + 'Zii EGG' => [ 'Creative', 'Zii Egg', DeviceType::MEDIA ], + ], + 'CTP828BT' => [ 'Cresta', 'CTP828BT', DeviceType::TABLET ], 'CRESTA.CTP888' => [ 'Cresta', 'CTP888', DeviceType::TABLET ], @@ -2605,10 +2741,12 @@ 'U65GT' => [ 'Cube', 'U65GT', DeviceType::TABLET ], ], - 'CUBE Q7PRO' => [ 'Cube', 'Q7 Pro', DeviceType::TABLET ], - 'CUBE Q7PRO J' => [ 'Cube', 'Q7 Pro', DeviceType::TABLET ], - 'CUBE TALK7X' => [ 'Cube', 'Talk 7X', DeviceType::TABLET ], - 'CUBE TALK7X C4' => [ 'Cube', 'Talk 7X C4', DeviceType::TABLET ], + 'CUBE!!' => [ + 'CUBE Q7PRO' => [ 'Cube', 'Q7 Pro', DeviceType::TABLET ], + 'CUBE Q7PRO J' => [ 'Cube', 'Q7 Pro', DeviceType::TABLET ], + 'CUBE TALK7X' => [ 'Cube', 'Talk 7X', DeviceType::TABLET ], + 'CUBE TALK7X C4' => [ 'Cube', 'Talk 7X C4', DeviceType::TABLET ], + ], 'LT[0-9]{4,4}!!' => [ 'LT7033' => [ 'Curtis', 'Klu LT7033', DeviceType::TABLET ], @@ -2677,19 +2815,22 @@ 'HB-100 DASAN' => [ 'Dasan', 'HB-100', DeviceType::TELEVISION ], 'HB-100 DASAN Networks, Inc.' => [ 'Dasan', 'HB-100', DeviceType::TELEVISION ], - 'Dell Aero' => [ 'Dell', 'Aero' ], - 'Dell Grappa' => [ 'Dell', 'Grappa' ], - 'Dell M01M' => [ 'Dell', 'Mini 5', DeviceType::TABLET ], - 'Dell Streak' => [ 'Dell', 'Streak', DeviceType::TABLET ], '001DL' => [ 'Dell', 'STREAK 001DL', DeviceType::TABLET, 'carrier' => 'Softbank' ], '101DL' => [ 'Dell', 'STREAK PRO 101DL', DeviceType::TABLET, 'carrier' => 'Softbank' ], 'GS01' => [ 'Dell', 'STREAK PRO GS01', DeviceType::TABLET, 'carrier' => 'EMOBILE' ], - 'Dell Streak Pro' => [ 'Dell', 'Streak Pro', DeviceType::TABLET ], 'streak7' => [ 'Dell', 'Streak 7', DeviceType::TABLET ], - 'Dell Streak 7' => [ 'Dell', 'Streak 7', DeviceType::TABLET ], - 'Dell Streak 10 Pro' => [ 'Dell', 'Streak 10 Pro', DeviceType::TABLET ], - 'Dell V04B' => [ 'Dell', 'Streak V04B', DeviceType::TABLET ], - 'Dell Venue' => [ 'Dell', 'Venue' ], + + 'Venue!!' => [ + 'Dell Aero' => [ 'Dell', 'Aero' ], + 'Dell Grappa' => [ 'Dell', 'Grappa' ], + 'Dell M01M' => [ 'Dell', 'Mini 5', DeviceType::TABLET ], + 'Dell Streak' => [ 'Dell', 'Streak', DeviceType::TABLET ], + 'Dell Streak Pro' => [ 'Dell', 'Streak Pro', DeviceType::TABLET ], + 'Dell Streak 7' => [ 'Dell', 'Streak 7', DeviceType::TABLET ], + 'Dell Streak 10 Pro' => [ 'Dell', 'Streak 10 Pro', DeviceType::TABLET ], + 'Dell V04B' => [ 'Dell', 'Streak V04B', DeviceType::TABLET ], + 'Dell Venue' => [ 'Dell', 'Venue' ], + ], 'Venue!!' => [ 'venue 7' => [ 'Dell', 'Venue 7', DeviceType::TABLET ], @@ -3117,6 +3258,8 @@ 'Informer-801' => [ 'Explay', 'Informer 801', DeviceType::TABLET ], 'Explay Informer 801' => [ 'Explay', 'Informer 801', DeviceType::TABLET ], 'Explay Informer 804' => [ 'Explay', 'Informer 804', DeviceType::TABLET ], + 'informer 901' => [ 'Explay', 'Informer 901', DeviceType::TABLET ], + 'informer 920' => [ 'Explay', 'Informer 920', DeviceType::TABLET ], 'informer 921' => [ 'Explay', 'Informer 921', DeviceType::TABLET ], 'Explay Surfer 7.02' => [ 'Explay', 'Surfer 7.02', DeviceType::TABLET ], 'Surfer7.03' => [ 'Explay', 'Surfer 7.03', DeviceType::TABLET ], @@ -3211,6 +3354,7 @@ '(Fly )?IQ256!' => [ 'Fly', 'IQ256 Vogue' ], '(Fly )?IQ260!' => [ 'Fly', 'IQ260 BlackBird' ], '(Fly )?IQ270!' => [ 'Fly', 'IQ270 Firebird' ], + '(Fly )?IQ275!' => [ 'Fly', 'IQ275 Marathon' ], '(Fly )?IQ280!' => [ 'Fly', 'IQ280 Tech' ], '(Fly )?IQ285!' => [ 'Fly', 'IQ285 Turbo' ], '(Fly )?IQ320!' => [ 'Fly', 'IQ320', DeviceType::TABLET ], @@ -3435,9 +3579,13 @@ 'GFIVE Blade (F500)' => [ 'GFive', 'Blade' ], 'GFIVE Bravo' => [ 'GFive', 'Bravo' ], 'GFIVE Bravo(G95)' => [ 'GFive', 'Bravo' ], + 'GFIVE A77' => [ 'GFive', 'Bravo' ], 'GFIVE A57' => [ 'GFive', 'Fanse' ], + 'GFIVE Glory' => [ 'GFive', 'Glory' ], 'GFIVE Glory(A86)' => [ 'GFive', 'Glory' ], 'GFIVE A86' => [ 'GFive', 'Glory' ], + 'GFIVE Glory Bee(E670)' => [ 'GFive', 'Glory Bee' ], + 'GFIVE Prado' => [ 'GFive', 'Prado' ], 'GFIVE President A97' => [ 'GFive', 'President' ], 'GFIVE president(G6)' => [ 'GFive', 'President' ], 'GFIVE President(G7)' => [ 'GFive', 'President' ], @@ -3518,9 +3666,11 @@ '(GIO-)?(GiONEE[- ])?GN100!' => [ 'Gionee', 'GN100' ], '(GIO-)?(GiONEE[- ])?GN105!' => [ 'Gionee', 'GN105' ], '(GIO-)?(GiONEE[- ])?GN106!' => [ 'Gionee', 'GN106' ], + '(GIO-)?(GiONEE[- ])?GN107!' => [ 'Gionee', 'GN107' ], '(GIO-)?(GiONEE[- ])?GN108!' => [ 'Gionee', 'GN108' ], '(GIO-)?(GiONEE[- ])?GN109!' => [ 'Gionee', 'GN109' ], '(GIO-)?(GiONEE[- ])?GN135!' => [ 'Gionee', 'GN135' ], + '(GIO-)?(GiONEE[- ])?GN136!' => [ 'Gionee', 'GN136' ], '(GIO-)?(GiONEE[- ])?GN137!' => [ 'Gionee', 'GN137' ], '(GIO-)?(GiONEE[- ])?GN139!' => [ 'Gionee', 'GN139' ], '(GIO-)?(GiONEE[- ])?GN150!' => [ 'Gionee', 'GN150' ], @@ -3548,6 +3698,7 @@ 'GN 708T' => [ 'Gionee', 'GN708T' ], '(GIO-)?(GiONEE[- ])?GN708W!' => [ 'Gionee', 'GN708W' ], 'GPLUS GN708W' => [ 'Gionee', 'GN708W' ], + '(GIO-)?(GiONEE[- ])?GN787!' => [ 'Gionee', 'GN787' ], '(GIO-)?(GiONEE[- ])?GN800!' => [ 'Gionee', 'GN800' ], '(GIO-)?(GiONEE[- ])?GN810!' => [ 'Gionee', 'GN810' ], '(GIO-)?(GiONEE[- ])?GN818T!' => [ 'Gionee', 'GN818T' ], @@ -3565,12 +3716,14 @@ 'Gionee M5' => [ 'Gionee', 'M5' ], 'GPLUS N809' => [ 'Gionee', 'N809' ], '(GIO-)?(GiONEE[- ])?S101!' => [ 'Gionee', 'S101' ], + 'GiONEE TD500' => [ 'Gionee', 'TD500' ], '(GIO-)?(GiONEE[- ])?V182!' => [ 'Gionee', 'V182' ], '(GIO-)?(GiONEE[- ])?V185!' => [ 'Gionee', 'V185' ], '(GIO-)?(GiONEE[- ])?V188!' => [ 'Gionee', 'V188' ], '(GIO-)?(GiONEE[- ])?W800!' => [ 'Gionee', 'W800' ], '(GIO-)?(GiONEE[- ])?X817!' => [ 'Gionee', 'X817' ], '(GIO-)?(GiONEE[- ])?Ctrl V1!' => [ 'Gionee', 'CTRL V1' ], + '(GIO-)?(GiONEE[- ])?Ctrl V2!' => [ 'Gionee', 'CTRL V2' ], '(GIO-)?(GiONEE[- ])?Ctrl V3!' => [ 'Gionee', 'CTRL V3' ], '(GIO-)?(GiONEE[- ])?Ctrl V4!' => [ 'Gionee', 'CTRL V4' ], '(GIO-)?(GiONEE[- ])?Ctrl V5!' => [ 'Gionee', 'CTRL V5' ], @@ -3597,21 +3750,27 @@ 'GOCLEVER TAB A73' => [ 'Goclever', 'TAB A73', DeviceType::TABLET ], 'GOCLEVER TAB A93' => [ 'Goclever', 'TAB A93', DeviceType::TABLET ], 'GOCLEVER TAB A93.2' => [ 'Goclever', 'TAB A93', DeviceType::TABLET ], + 'GOCLEVER TAB A101' => [ 'Goclever', 'TAB A101', DeviceType::TABLET ], 'GOCLEVER TAB A103' => [ 'Goclever', 'TAB A103', DeviceType::TABLET ], 'GOCLEVER A103' => [ 'Goclever', 'TAB A103', DeviceType::TABLET ], 'GOCLEVER TAB A104!' => [ 'Goclever', 'TAB A104', DeviceType::TABLET ], 'GOCLEVER TAB A971' => [ 'Goclever', 'TAB A971', DeviceType::TABLET ], + 'GOCLEVER TAB A972BK' => [ 'Goclever', 'TAB A972', DeviceType::TABLET ], + 'GOCLEVER TAB I71' => [ 'Goclever', 'TAB I71', DeviceType::TABLET ], 'GOCLEVER TAB M703G' => [ 'Goclever', 'TAB M703G', DeviceType::TABLET ], 'GOCLEVER TAB M713G' => [ 'Goclever', 'TAB M713G', DeviceType::TABLET ], 'GOCLEVER TAB M723G' => [ 'Goclever', 'TAB M723G', DeviceType::TABLET ], 'GOCLEVER TAB M813G' => [ 'Goclever', 'TAB M813G', DeviceType::TABLET ], 'GOCLEVER TAB R70' => [ 'Goclever', 'TAB R70', DeviceType::TABLET ], 'GOCLEVER TAB R76.1' => [ 'Goclever', 'TAB R76', DeviceType::TABLET ], + 'GOCLEVER TAB R104' => [ 'Goclever', 'TAB R104', DeviceType::TABLET ], 'GOCLEVER TAB R106' => [ 'Goclever', 'TAB R106', DeviceType::TABLET ], + 'GOCLEVER TAB T75' => [ 'Goclever', 'TAB T75', DeviceType::TABLET ], 'GOCLEVER TAB T76' => [ 'Goclever', 'TAB T76', DeviceType::TABLET ], 'GOCLEVER TAB 9300' => [ 'Goclever', 'TAB 9300', DeviceType::TABLET ], 'GOCLM7000KD' => [ 'Goclever', 'Terra 70', DeviceType::TABLET ], 'GOCLEVER HYBRID' => [ 'Goclever', 'Hybrid', DeviceType::TABLET ], + 'GOCLEVER NETBOOK I102' => [ 'Goclever', 'Netbook I102' ], 'GOCLEVER NETBOOK R103' => [ 'Goclever', 'Netbook R103' ], ], @@ -3843,25 +4002,28 @@ 'HERO H7500+' => [ 'Hero', 'H7500+' ], 'H9500' => [ 'Hero', 'H9500' ], 'MID Ser(ai|ia)ls!' => [ 'Herotab', 'C8', DeviceType::TABLET ], - 'Alpha Ice' => [ 'Highscreen', 'Alpha Ice' ], - 'Alpha GT' => [ 'Highscreen', 'Alpha GT' ], - 'Alpha GTR' => [ 'Highscreen', 'Alpha GTR' ], - 'HIGHSCREEN GTR' => [ 'Highscreen', 'Alpha GTR' ], - 'Alpha GTX' => [ 'Highscreen', 'Alpha GTX' ], - 'Alpha R' => [ 'Highscreen', 'Alpha R' ], - 'Alpha Rage' => [ 'Highscreen', 'Alpha Rage' ], - 'HighScreen Boost' => [ 'Highscreen', 'Boost' ], - 'Cosmo' => [ 'Highscreen', 'Cosmo', DeviceType::TABLET ], - 'COSMO DUO' => [ 'Highscreen', 'Cosmo Duo', DeviceType::TABLET ], - 'Explosion' => [ 'Highscreen', 'Explosion' ], - 'HIGHSCREEN Jet Duo' => [ 'Highscreen', 'Jet Duo', DeviceType::TABLET ], - 'Highscreen Spark' => [ 'Highscreen', 'Spark' ], - 'ZeraF' => [ 'Highscreen', 'Zera F' ], - 'Zera F' => [ 'Highscreen', 'Zera F' ], - 'Zera f rev.S' => [ 'Highscreen', 'Zera F' ], - 'Zera S' => [ 'Highscreen', 'Zera S' ], - 'Zera S Rev.S' => [ 'Highscreen', 'Zera S' ], - 'Zera-S-Power' => [ 'Highscreen', 'Zera S Power' ], + + '(Highscreen|Alpha|Cosmo|Explosion|Zera)!!' => [ + 'Alpha Ice' => [ 'Highscreen', 'Alpha Ice' ], + 'Alpha GT' => [ 'Highscreen', 'Alpha GT' ], + 'Alpha GTR' => [ 'Highscreen', 'Alpha GTR' ], + 'HIGHSCREEN GTR' => [ 'Highscreen', 'Alpha GTR' ], + 'Alpha GTX' => [ 'Highscreen', 'Alpha GTX' ], + 'Alpha R' => [ 'Highscreen', 'Alpha R' ], + 'Alpha Rage' => [ 'Highscreen', 'Alpha Rage' ], + 'HighScreen Boost' => [ 'Highscreen', 'Boost' ], + 'Cosmo' => [ 'Highscreen', 'Cosmo', DeviceType::TABLET ], + 'COSMO DUO' => [ 'Highscreen', 'Cosmo Duo', DeviceType::TABLET ], + 'Explosion' => [ 'Highscreen', 'Explosion' ], + 'HIGHSCREEN Jet Duo' => [ 'Highscreen', 'Jet Duo', DeviceType::TABLET ], + 'Highscreen Spark' => [ 'Highscreen', 'Spark' ], + 'ZeraF' => [ 'Highscreen', 'Zera F' ], + 'Zera F' => [ 'Highscreen', 'Zera F' ], + 'Zera f rev.S' => [ 'Highscreen', 'Zera F' ], + 'Zera S' => [ 'Highscreen', 'Zera S' ], + 'Zera S Rev.S' => [ 'Highscreen', 'Zera S' ], + 'Zera-S-Power' => [ 'Highscreen', 'Zera S Power' ], + ], 'HLV-T!!' => [ 'HLV-T701' => [ 'Hi-Level', 'HLV-T701', DeviceType::TABLET ], @@ -3955,7 +4117,6 @@ 'HS-T970' => [ 'Hisense', 'T970' ], 'HS-T978' => [ 'Hisense', 'T978' ], 'HS-I630T' => [ 'Hisense', 'I630T' ], - 'HS-H800T' => [ 'Hisense', 'H800T' ], 'HS-F1' => [ 'Hisense', 'F1' ], 'HS-F5180' => [ 'Hisense', 'F5180' ], @@ -4008,6 +4169,7 @@ 'Hisense U980' => [ 'Hisense', 'U980' ], 'Hisense T92' => [ 'Hisense', 'T92' ], 'Hisense I639T' => [ 'Hisense', 'I639T' ], + 'Hisense I639M' => [ 'Hisense', 'I639M' ], 'Hisense-E360M' => [ 'Hisense', 'E360M' ], 'Hisense E602M' => [ 'Hisense', 'E602M' ], 'Hisense HS-E910' => [ 'Hisense', 'E910' ], @@ -4119,434 +4281,417 @@ 'HP-TouchPad' => [ 'HP', 'TouchPad', DeviceType::TABLET ], '(HP )?Touchpad!' => [ 'HP', 'TouchPad', DeviceType::TABLET ], '(cm|aokp) tenderloin!' => [ 'HP', 'TouchPad', DeviceType::TABLET ], - 'Amaze 4G' => [ 'HTC', 'Amaze 4G' ], - 'HTC (Amaze|Ruby)!' => [ 'HTC', 'Amaze 4G' ], - 'HTC (Aria|Liberty)!' => [ 'HTC', 'Aria' ], - 'HTC A63(66|80)!' => [ 'HTC', 'Aria' ], - 'HTC Bee' => [ 'HTC', 'Bee' ], - 'HTC ?ChaCha!' => [ 'HTC', 'ChaCha' ], - 'HTC A810e' => [ 'HTC', 'ChaCha' ], - 'HTC A9188!' => [ 'HTC', 'Cullinan' ], - 'HTC6435LRA' => [ 'HTC', 'Deluxe' ], - 'HTC Desire 200' => [ 'HTC', 'Desire 200' ], - 'HTC Desire 210 dual sim' => [ 'HTC', 'Desire 210' ], - 'HTC Desire 300' => [ 'HTC', 'Desire 300' ], - 'HTC 0P6A1' => [ 'HTC', 'Desire 300' ], - 'HTC 301e' => [ 'HTC', 'Desire 300' ], - 'HTC D310(n|w)!' => [ 'HTC', 'Desire 310' ], - 'HTC Desire 310' => [ 'HTC', 'Desire 310' ], - 'HTC Desire 310 dual sim' => [ 'HTC', 'Desire 310' ], - 'HTC 0PF11' => [ 'HTC', 'Desire 310' ], - 'HTC 0PF110' => [ 'HTC', 'Desire 310' ], - 'HTC 0PF120' => [ 'HTC', 'Desire 310' ], - 'HTC D316d' => [ 'HTC', 'Desire 316' ], - 'HTC Desire 320' => [ 'HTC', 'Desire 320' ], - 'htc v01' => [ 'HTC', 'Desire 320' ], - 'HTC Desire 326G dual sim' => [ 'HTC', 'Desire 326G' ], - 'HTC Desire 400 dual sim' => [ 'HTC', 'Desire 400' ], - 'HTC Desire 500' => [ 'HTC', 'Desire 500' ], - 'HTC Desire 500 dual sim' => [ 'HTC', 'Desire 500' ], - 'HTC 5060' => [ 'HTC', 'Desire 500' ], - 'HTC Desire 501' => [ 'HTC', 'Desire 501' ], - 'HTC Desire 501 dual sim' => [ 'HTC', 'Desire 501' ], - 'HTC 603h' => [ 'HTC', 'Desire 501' ], - 'HTC Desire 510' => [ 'HTC', 'Desire 510' ], - 'HTC 0PCV2' => [ 'HTC', 'Desire 510' ], - 'HTC 0PCV220' => [ 'HTC', 'Desire 510' ], - '0PCV1' => [ 'HTC', 'Desire 510' ], - 'HTC Desire 512' => [ 'HTC', 'Desire 512' ], - 'HTC D516(d|t|w)!' => [ 'HTC', 'Desire 516' ], - 'HTC Desire 516 dual sim' => [ 'HTC', 'Desire 516' ], - 'HTC Desire 520' => [ 'HTC', 'Desire 520' ], - 'HTCD100LVW' => [ 'HTC', 'Desire 526' ], - 'HTC 0PM1100' => [ 'HTC', 'Desire 526G' ], - 'HTC Desire 526G' => [ 'HTC', 'Desire 526G' ], - 'HTC Desire 526G dual sim' => [ 'HTC', 'Desire 526G' ], - 'HTC D526(h)!' => [ 'HTC', 'Desire 526G+' ], - 'HTC Desire 526GPLUS dual sim' => [ 'HTC', 'Desire 526G+' ], - 'HTC 0PL41!' => [ 'HTC', 'Desire 526G+' ], - 'HTC 0PL42!' => [ 'HTC', 'Desire 526G+' ], - 'HTC Desire 600' => [ 'HTC', 'Desire 600' ], - 'HTC PO491' => [ 'HTC', 'Desire 600' ], - 'HTC Desire 600 dual sim' => [ 'HTC', 'Desire 600' ], - 'HTC Desire 600c dual sim' => [ 'HTC', 'Desire 600c' ], - 'HTC Desire 601' => [ 'HTC', 'Desire 601' ], - 'HTC Desire 601 dual sim' => [ 'HTC', 'Desire 601' ], - 'HTC ?0P4E!' => [ 'HTC', 'Desire 601' ], - 'HTC 606w' => [ 'HTC', 'Desire 606w' ], - 'HTC 608' => [ 'HTC', 'Desire 608' ], - 'HTC 608t' => [ 'HTC', 'Desire 608t' ], - 'HTC 609d' => [ 'HTC', 'Desire 609d' ], - 'HTC Desire 610' => [ 'HTC', 'Desire 610' ], - 'HTC D610' => [ 'HTC', 'Desire 610' ], - 'HTC D610t' => [ 'HTC', 'Desire 610' ], - 'HTC D610x' => [ 'HTC', 'Desire 610' ], - 'HTC 0P9O110' => [ 'HTC', 'Desire 610' ], - 'HTC 0P9O2' => [ 'HTC', 'Desire 610' ], - 'HTC331ZLVW' => [ 'HTC', 'Desire 610' ], - 'HTC Desire 612' => [ 'HTC', 'Desire 612' ], - 'HTC331ZLVWPP' => [ 'HTC', 'Desire 612' ], - 'HTC Desire 616 dual sim' => [ 'HTC', 'Desire 616' ], - 'HTC D616w!' => [ 'HTC', 'Desire 616' ], - 'HTC 619d!' => [ 'HTC', 'Desire 619d' ], - 'HTC D620(h|u)!' => [ 'HTC', 'Desire 620' ], - 'HTC Desire 620' => [ 'HTC', 'Desire 620' ], - 'HTC Desire 620G' => [ 'HTC', 'Desire 620G' ], - 'HTC Desire 620G dual sim' => [ 'HTC', 'Desire 620G' ], - 'HTC D626(d|w|x)!' => [ 'HTC', 'Desire 626' ], - 'HTC Desire 626' => [ 'HTC', 'Desire 626' ], - 'HTC Desire 626G dual sim' => [ 'HTC', 'Desire 626G' ], - 'HTC D626(ph)!' => [ 'HTC', 'Desire 626G' ], - 'HTC Desire 626GPLUS dual sim' => [ 'HTC', 'Desire 626G+' ], - 'HTC 0PM11' => [ 'HTC', 'Desire 626G+' ], - 'HTC Desire 626s' => [ 'HTC', 'Desire 626s' ], - '0PM92' => [ 'HTC', 'Desire 626s' ], - 'HTC Desire 700 dual sim' => [ 'HTC', 'Desire 700' ], - 'HTC 709d' => [ 'HTC', 'Desire 709d' ], - 'HTC D816' => [ 'HTC', 'Desire 816' ], - 'HTC D816(d|t|v|w|x)!' => [ 'HTC', 'Desire 816' ], - 'D816(d|t|v|w|x)!' => [ 'HTC', 'Desire 816' ], - 'HTC D816(h)!' => [ 'HTC', 'Desire 816G' ], - 'Desire 816' => [ 'HTC', 'Desire 816' ], - 'HTC Desire 816' => [ 'HTC', 'Desire 816' ], - 'HTC Desire 816 dual sim' => [ 'HTC', 'Desire 816' ], - 'htc a5ul' => [ 'HTC', 'Desire 816' ], - '710C' => [ 'HTC', 'Desire 816' ], - 'HTC Desire 816G' => [ 'HTC', 'Desire 816G' ], - 'HTC Desire 816G dual sim' => [ 'HTC', 'Desire 816G' ], - 'HTC D820(f|mt|mu|t|u|x)!' => [ 'HTC', 'Desire 820' ], - 'HTC Desire 820' => [ 'HTC', 'Desire 820' ], - 'HTC Desire 820 dual sim' => [ 'HTC', 'Desire 820' ], - 'HTC Desire 820G PLUS dual sim' => [ 'HTC', 'Desire 820G+' ], - 'HTC Desire 820q dual sim' => [ 'HTC', 'Desire 820q' ], - 'HTC Desire 820s dual sim' => [ 'HTC', 'Desire 820s' ], - 'HTC D820(ys)!' => [ 'HTC', 'Desire 820s' ], - 'D820mt' => [ 'HTC', 'Desire 820 Mini' ], - 'HTC Desire 826 dual sim' => [ 'HTC', 'Desire 826' ], - 'HTC D826(d|t|w|y)!' => [ 'HTC', 'Desire 826' ], - 'HTC D828w!' => [ 'HTC', 'Desire 828' ], - 'HTC 5088' => [ 'HTC', 'Desire 5088' ], - 'HTC 6160' => [ 'HTC', 'Desire 6160' ], - 'HTC 7060' => [ 'HTC', 'Desire 7060' ], - 'HTC 7088' => [ 'HTC', 'Desire 7088' ], - 'HTC 8060' => [ 'HTC', 'Desire 8060' ], - 'HTC Desire C' => [ 'HTC', 'Desire C' ], - 'HTC Desire C N' => [ 'HTC', 'Desire C' ], - 'HTC H1000C' => [ 'HTC', 'Desire C' ], - 'HTC A320e' => [ 'HTC', 'Desire C' ], - 'HTC Desire ?HD!' => [ 'HTC', 'Desire HD' ], - 'HTC A91(91|92)!' => [ 'HTC', 'Desire HD' ], - 'HTC 0PFH1!' => [ 'HTC', 'Desire Eye' ], - 'HTC 0PFH2!' => [ 'HTC', 'Desire Eye' ], - 'HTC Desire EYE' => [ 'HTC', 'Desire Eye' ], - 'HTC PM6014' => [ 'HTC', 'Desire L' ], - 'HTC Desire P' => [ 'HTC', 'Desire P' ], - 'HTC ?Desire ?S( |$)!' => [ 'HTC', 'Desire S' ], - 'HTC S510(b|e)!' => [ 'HTC', 'Desire S' ], - 'HTC Desire Saga' => [ 'HTC', 'Desire S' ], - 'HTC Saga' => [ 'HTC', 'Desire S' ], - 'HTC DesireSV' => [ 'HTC', 'Desire SV' ], - 'HTC Desire SV' => [ 'HTC', 'Desire SV' ], - 'HTC PROMIN U' => [ 'HTC', 'Desire U' ], - 'HTC DesireU' => [ 'HTC', 'Desire U' ], - 'HTC Desire U' => [ 'HTC', 'Desire U' ], - 'HTC Desire U dual sim' => [ 'HTC', 'Desire U' ], - 'HTC T327w' => [ 'HTC', 'Desire U' ], - 'HTC Desire V' => [ 'HTC', 'Desire V' ], - 'HTC T328w' => [ 'HTC', 'Desire V' ], - 'HTC Desire VC' => [ 'HTC', 'Desire VC' ], - 'HTC Desire VC T328d' => [ 'HTC', 'Desire VC' ], - 'HTC T328d' => [ 'HTC', 'Desire VC' ], - 'HTC Desire VT' => [ 'HTC', 'Desire VT' ], - 'HTC T328t' => [ 'HTC', 'Desire VT' ], - 'HTC Desire XC!' => [ 'HTC', 'Desire XC' ], - 'HTC Desire XS!' => [ 'HTC', 'Desire XS' ], - 'HTC Desire ?X!' => [ 'HTC', 'Desire X' ], - 'HTC T329w' => [ 'HTC', 'Desire X' ], - 'HTC Desire ?Z!' => [ 'HTC', 'Desire Z' ], - 'HTC Vision' => [ 'HTC', 'Desire Z' ], - 'HTC A72(71|72|75)!' => [ 'HTC', 'Desire Z' ], - 'HTC T329d' => [ 'HTC', 'T329d' ], - 'HTC ?Desire!' => [ 'HTC', 'Desire' ], - 'HTC Bravo' => [ 'HTC', 'Desire' ], - 'HTC Bravo C' => [ 'HTC', 'Desire' ], - 'HTC eris' => [ 'HTC', 'Desire' ], - 'HTC A81(81|83)!' => [ 'HTC', 'Desire' ], - 'HTC ?X06HTII!' => [ 'HTC', 'Desire X06HTII', 'carrier' => 'Softbank' ], - 'HTC ?X06HT!' => [ 'HTC', 'Desire X06HT', 'carrier' => 'Softbank' ], - 'HTC Desire CDMA' => [ 'HTC', 'Desire' ], - 'HTC Dream' => [ 'HTC', 'Dream' ], - 'HTC Droid DNA' => [ 'HTC', 'Droid DNA' ], - 'HTC Droid Incredible' => [ 'HTC', 'Droid Incredible' ], - 'HTC IncredibleC' => [ 'HTC', 'Droid Incredible' ], - 'HTC Droid Incredible 2' => [ 'HTC', 'Droid Incredible 2' ], - 'HTC 603e' => [ 'HTC', 'E1' ], - 'HTC Evo' => [ 'HTC', 'EVO 3D' ], - 'HTC ?EVO ?3D!' => [ 'HTC', 'EVO 3D' ], - 'HTC X51(5a|5c|5d|5m)!' => [ 'HTC', 'EVO 3D' ], - 'HTC Shooter' => [ 'HTC', 'EVO 3D' ], - 'HTC EVO 4G\+!' => [ 'HTC', 'EVO 4G+' ], - 'HTC X515e' => [ 'HTC', 'EVO 4G+' ], - 'HTC ?EVO ?4G!' => [ 'HTC', 'EVO 4G' ], - 'HTC jewel' => [ 'HTC', 'EVO 4G' ], - 'HTC EVO LTE' => [ 'HTC', 'EVO 4G' ], - 'HTC EVO G20 T9399 For Sprint' => [ 'HTC', 'EVO 4G' ], - 'HTC ?EVO ?V ?4G!' => [ 'HTC', 'EVO V 4G' ], - 'HTC ?(EVO ?)?Design ?4G!' => [ 'HTC', 'EVO Design 4G' ], - 'HTC EVO Design C715e!' => [ 'HTC', 'EVO Design 4G' ], - 'HTC C715c' => [ 'HTC', 'EVO Design 4G' ], - 'HTC EVO Shift!' => [ 'HTC', 'EVO Shift' ], - 'HTC EVO View 4G' => [ 'HTC', 'EVO View 4G' ], - 'HTC ?Explorer!' => [ 'HTC', 'Explorer' ], - 'HTC A31(0b|0e)!' => [ 'HTC', 'Explorer' ], - 'HTC Pico Incredible HD' => [ 'HTC', 'Explorer' ], - 'Explorer A310e' => [ 'HTC', 'Explorer' ], - 'HTC first' => [ 'HTC', 'First' ], - 'HTC PM33100' => [ 'HTC', 'First' ], - 'HTC Flyer!' => [ 'HTC', 'Flyer', DeviceType::TABLET ], - 'HTC P51(0e|2|5e)!' => [ 'HTC', 'Flyer', DeviceType::TABLET ], - 'HTC Gratia!' => [ 'HTC', 'Gratia' ], - 'HTC A6380' => [ 'HTC', 'Gratia' ], - 'HTC HD' => [ 'HTC', 'HD' ], - 'HTC HD2!' => [ 'HTC', 'HD2' ], - 'HTC T8585' => [ 'HTC', 'HD2' ], - 'HTC HD7!' => [ 'HTC', 'HD7' ], - 'HTC T92(98|99)!' => [ 'HTC', 'HD7' ], - 'HTC HD7S!' => [ 'HTC', 'HD7s' ], - 'HTC T(93|98)99!' => [ 'HTC', 'HD7s' ], - 'VitMod ExtraLite 1.6.5.fullodex for HTC HD7 Pro' => [ 'HTC', 'HD7 Pro' ], - 'HTC HERO200' => [ 'HTC', 'Hero 200' ], /* Sprint */ - 'HTC Hero ?S!' => [ 'HTC', 'Hero S' ], /* US Cellular */ - 'HTC Hero!' => [ 'HTC', 'Hero' ], - 'HTC IMAGIO' => [ 'HTC', 'Imagio' ], - 'HTC Incredible' => [ 'HTC', 'Incredible' ], - 'HTC Incredible CDMA' => [ 'HTC', 'Incredible' ], - 'Incredible 4G LTE' => [ 'HTC', 'Incredible' ], - 'HTC Incredible T9199 for Vodafone' => [ 'HTC', 'Incredible' ], - 'HTC Incredible ?S!' => [ 'HTC', 'Incredible S' ], - 'HTC ?Vivo!' => [ 'HTC', 'Incredible S' ], - 'HTC S710e!' => [ 'HTC', 'Incredible S' ], - 'HTC S710d' => [ 'HTC', 'Incredible S' ], - 'HTC Incredible 2' => [ 'HTC', 'Incredible S' ], - 'HTC Innovation' => [ 'HTC', 'Innovation' ], - 'HTC (HD7 )?Inspire!' => [ 'HTC', 'Inspire 4G' ], - 'HTC J Z321e' => [ 'HTC', 'J' ], - 'HTC X920e' => [ 'HTC', 'J Butterfly' ], - 'X920e' => [ 'HTC', 'J Butterfly' ], - 'HTC Butterfly' => [ 'HTC', 'J Butterfly' ], - 'HTC J Butterfly' => [ 'HTC', 'J Butterfly' ], - 'HTC Butterfly J' => [ 'HTC', 'J Butterfly' ], - 'HTC J One' => [ 'HTC', 'J One' ], - 'HTC Butterfly s' => [ 'HTC', 'Butterfly S' ], - 'HTC Butterfly s 901s' => [ 'HTC', 'Butterfly S' ], - 'HTC PO68' => [ 'HTC', 'Butterfly S' ], - 'HTC 9060' => [ 'HTC', 'Butterfly S' ], - 'HTC 9088' => [ 'HTC', 'Butterfly S' ], - 'HTC 901e' => [ 'HTC', 'Butterfly S' ], - 'HTC 909d' => [ 'HTC', 'Butterfly S' ], - 'HTC 919d' => [ 'HTC', 'Butterfly S' ], - 'Butterfly S' => [ 'HTC', 'Butterfly S' ], - 'HTC B810x' => [ 'HTC', 'Butterfly 2' ], - 'HTC Butterfly 2' => [ 'HTC', 'Butterfly 2' ], - 'HTC P715a' => [ 'HTC', 'Jetstream', DeviceType::TABLET ], - 'HTC PG09410' => [ 'HTC', 'Jetstream', DeviceType::TABLET ], - 'HTC Legend!' => [ 'HTC', 'Legend' ], - 'HTC Magic!' => [ 'HTC', 'Magic' ], - 'HTC Sapphire' => [ 'HTC', 'Magic' ], - 'HTC Merge' => [ 'HTC', 'Merge' ], - 'HTC Lexikon' => [ 'HTC', 'Merge' ], - 'HTC One SC' => [ 'HTC', 'One SC' ], - 'HTC T528d' => [ 'HTC', 'One SC' ], - 'HTC T528t' => [ 'HTC', 'One ST' ], - 'HTC T528w' => [ 'HTC', 'One SU' ], - 'HTC One Su' => [ 'HTC', 'One SU' ], - 'HTC One ?SV!' => [ 'HTC', 'One SV' ], - 'HTC C525c' => [ 'HTC', 'One SV' ], - 'C525c' => [ 'HTC', 'One SV' ], - 'HTC C525u' => [ 'HTC', 'One SV' ], - 'HTC H3000C' => [ 'HTC', 'One SV' ], - 'HTC K2!' => [ 'HTC', 'One SV' ], - 'HTC One S' => [ 'HTC', 'One S' ], - 'HTC One S !' => [ 'HTC', 'One S' ], - 'HTC Z(52|56)0e!' => [ 'HTC', 'One S' ], - 'HTC One VX' => [ 'HTC', 'One VX' ], - 'htc totem' => [ 'HTC', 'One VX' ], - 'HTC One V' => [ 'HTC', 'One V' ], - 'HTC T120C' => [ 'HTC', 'One V' ], - 'HTC T320e' => [ 'HTC', 'One V' ], - 'HTC H2000C' => [ 'HTC', 'One V' ], - 'HTC X720d' => [ 'HTC', 'One XC' ], - 'HTC ?One ?XL+!' => [ 'HTC', 'One XL+' ], - 'HTC ?One ?XL!' => [ 'HTC', 'One XL' ], - 'htc evita' => [ 'HTC', 'One XL' ], - 'HTC S720t!' => [ 'HTC', 'One XT' ], - 'HTC One X+' => [ 'HTC', 'One X+' ], - 'HTC OneXplus!' => [ 'HTC', 'One X+' ], - 'HTC PM63100' => [ 'HTC', 'One X+' ], - 'HTC ?One ?X!' => [ 'HTC', 'One X' ], - 'HTC Endeavour!' => [ 'HTC', 'One X' ], - 'HTC S720e' => [ 'HTC', 'One X' ], - 'HTC One X S720e' => [ 'HTC', 'One X' ], - 'HTC One X with Beats Audio' => [ 'HTC', 'One X' ], - 'HTC M7' => [ 'HTC', 'One' ], - 'HTC 801e' => [ 'HTC', 'One' ], - 'HTC 801s' => [ 'HTC', 'One' ], - 'HTC ?802d!' => [ 'HTC', 'One' ], - 'HTC 802t!' => [ 'HTC', 'One' ], - 'HTC 802w' => [ 'HTC', 'One' ], - 'HTC PN071' => [ 'HTC', 'One' ], - 'HTC PN072' => [ 'HTC', 'One' ], - 'HTC PN0711' => [ 'HTC', 'One' ], - 'HTC PN07120' => [ 'HTC', 'One' ], - 'HTC PN07310' => [ 'HTC', 'One' ], - 'HTC HTC6500LVW' => [ 'HTC', 'One' ], - 'HTC6500LVW' => [ 'HTC', 'One' ], - 'HTC6500LVW 4G' => [ 'HTC', 'One' ], - 'HTC6445LVW 4G' => [ 'HTC', 'One' ], - 'HTC One 801e' => [ 'HTC', 'One' ], - 'HTC One 801s' => [ 'HTC', 'One' ], - 'HTC one 802d' => [ 'HTC', 'One' ], - 'HTC One dual' => [ 'HTC', 'One' ], - 'HTC One dual 802d' => [ 'HTC', 'One' ], - 'HTC One dual sim' => [ 'HTC', 'One' ], - '801a' => [ 'HTC', 'One' ], - '801s' => [ 'HTC', 'One' ], - '802w' => [ 'HTC', 'One' ], - 'HTC One' => [ 'HTC', 'One' ], - 'HTCONE' => [ 'HTC', 'One' ], - 'M7CDTU' => [ 'HTC', 'One' ], - 'HTC6515LVW' => [ 'HTC', 'One Remix' ], - 'HTC 601e' => [ 'HTC', 'One Mini' ], - 'HTC PO581' => [ 'HTC', 'One Mini' ], - 'HTC PO582' => [ 'HTC', 'One Mini' ], - 'HTC PO58220' => [ 'HTC', 'One Mini' ], - 'HTC One mini' => [ 'HTC', 'One Mini' ], - 'HTC One mini 601e' => [ 'HTC', 'One Mini' ], - 'HTC 809d' => [ 'HTC', 'One Max' ], - 'HTC 8060' => [ 'HTC', 'One Max' ], - 'HTC 8088' => [ 'HTC', 'One Max' ], - 'HTC 8160' => [ 'HTC', 'One Max' ], - 'HTC ?0P3P[0-9]!' => [ 'HTC', 'One Max' ], - 'HTC6600LVW' => [ 'HTC', 'One Max' ], - 'HTC6600LVW 4G' => [ 'HTC', 'One Max' ], - 'HTC One max' => [ 'HTC', 'One Max' ], - 'HTC One max dual' => [ 'HTC', 'One Max' ], - 'HTC A9w' => [ 'HTC', 'One (A9)' ], - 'HTC One E9PLUS dual sim' => [ 'HTC', 'One (E9 Plus)' ], - 'HTC One M9' => [ 'HTC', 'One (M9)' ], - 'HTC 0PJA1!' => [ 'HTC', 'One (M9)' ], - 'HTC 0PJA2!' => [ 'HTC', 'One (M9)' ], - '0PJA1!' => [ 'HTC', 'One (M9)' ], - '0PJA2!' => [ 'HTC', 'One (M9)' ], - 'HTC6535LVW' => [ 'HTC', 'One (M9)' ], - 'HTC M9(u|w)!' => [ 'HTC', 'One (M9)' ], - 'HTC One M9PLUS' => [ 'HTC', 'One (M9 Plus)' ], - 'HTC M9pw' => [ 'HTC', 'One (M9 Plus)' ], - 'HTC X9u' => [ 'HTC', 'One (X9)' ], - 'HTC M9ew' => [ 'HTC', 'One ME' ], - 'htc hima ace ml dtul' => [ 'HTC', 'One ME' ], - 'HTC One ME dual sim' => [ 'HTC', 'One ME' ], - 'HTC 0P6B!' => [ 'HTC', 'One (M8)' ], - 'HTC One M8' => [ 'HTC', 'One (M8)' ], - 'HTC One M8 dual sim' => [ 'HTC', 'One (M8)' ], - 'HTC One(M8)' => [ 'HTC', 'One (M8)' ], - 'htc m8' => [ 'HTC', 'One (M8)' ], - 'HTC M8(d|dug|t|w|x)!' => [ 'HTC', 'One (M8)' ], - 'HTC6525LVW' => [ 'HTC', 'One (M8)' ], - '831C' => [ 'HTC', 'One (M8)' ], - 'HTC M8(e|et)!' => [ 'HTC', 'One (M8 Eye)' ], - 'HTC One M8 Eye' => [ 'HTC', 'One (M8 Eye)' ], - 'HTC One M8s' => [ 'HTC', 'One (M8s)' ], - '0PKV1' => [ 'HTC', 'One (M8s)' ], - 'HTC One E8' => [ 'HTC', 'One (E8)' ], - 'HTC One E8 dual sim' => [ 'HTC', 'One (E8)' ], - '0PAJ5' => [ 'HTC', 'One (E8)' ], - 'HTC M8S(d|t|w|x|y)!' => [ 'HTC', 'One (E8)' ], - 'htc mecwhl' => [ 'HTC', 'One (E8)' ], - 'HTC E9(pw|t|w|x)!' => [ 'HTC', 'One (E9)' ], - 'HTC One E9s dual sim' => [ 'HTC', 'One (E9)' ], - 'HTC 0P8B2!' => [ 'HTC', 'One Mini 2' ], - 'HTC M8MINx' => [ 'HTC', 'One Mini 2' ], - 'HTC One mini 2' => [ 'HTC', 'One Mini 2' ], - 'HTC Raider!' => [ 'HTC', 'Raider 4G' ], - 'HTC Holiday' => [ 'HTC', 'Raider 4G' ], - 'HTC X710(a|e|s)!' => [ 'HTC', 'Raider 4G' ], - 'HTC PH39100' => [ 'HTC', 'Raider 4G' ], - 'HTCRaider' => [ 'HTC', 'Raider 4G' ], - 'HTC Rezound' => [ 'HTC', 'Rezound' ], - 'HTC Rhyme!' => [ 'HTC', 'Rhyme' ], - 'HTC Bliss!' => [ 'HTC', 'Rhyme' ], - 'HTC S510b' => [ 'HTC', 'Rhyme' ], - 'HTC Salsa!' => [ 'HTC', 'Salsa' ], - 'HTC C510e' => [ 'HTC', 'Salsa' ], - 'HTC Sensation.*XE!' => [ 'HTC', 'Sensation XE' ], - 'HTC .*Z715(a|e)!' => [ 'HTC', 'Sensation XE' ], - 'Z715e' => [ 'HTC', 'Sensation XE' ], - 'HTC Sensation.*XL!' => [ 'HTC', 'Sensation XL' ], - 'HTC Runnymede' => [ 'HTC', 'Sensation XL' ], - 'HTC .*X315(b|e)!' => [ 'HTC', 'Sensation XL' ], - 'HTC G21!' => [ 'HTC', 'Sensation XL' ], - 'HTC ?Sensation!' => [ 'HTC', 'Sensation' ], - 'HTC Pyramid!' => [ 'HTC', 'Sensation' ], - 'HTC .*Z710(a|e|t)?!' => [ 'HTC', 'Sensation' ], - 'HTC G14!' => [ 'HTC', 'Sensation' ], - 'HTC Status' => [ 'HTC', 'Status' ], - 'HTC PH06130' => [ 'HTC', 'Status' ], - 'HTC Tattoo!' => [ 'HTC', 'Tattoo' ], - 'HTC Click' => [ 'HTC', 'Tattoo' ], - 'HTC A3288' => [ 'HTC', 'Tattoo' ], - 'HTC A9188' => [ 'HTC', 'Tianxi' ], - 'HTC X310e' => [ 'HTC', 'Titan' ], - 'HTC ETERNITY' => [ 'HTC', 'Titan' ], - 'HTC Polaris' => [ 'HTC', 'Touch Cruise' ], - 'HTC TOUCH DUAL' => [ 'HTC', 'Touch Dual' ], - 'HTC DiamondII EX' => [ 'HTC', 'Touch Diamond II' ], - 'HTC T7373' => [ 'HTC', 'Touch Pro II' ], - 'Touch Pro 2' => [ 'HTC', 'Touch Pro II' ], - 'HTC Touch Pro' => [ 'HTC', 'Touch Pro' ], - 'HTC ThunderBolt( 4G)?!' => [ 'HTC', 'ThunderBolt'], - 'HTC Mecha' => [ 'HTC', 'ThunderBolt'], - 'HTC Kaiser' => [ 'HTC', 'TyTN II'], - 'HTC Velocity!' => [ 'HTC', 'Velocity 4G'], - 'HTCVelocity 4G' => [ 'HTC', 'Velocity 4G'], - 'HTC Vivid' => [ 'HTC', 'Vivid'], - 'HTC ?Wildfire ?S!' => [ 'HTC', 'Wildfire S' ], - 'HTC .*A510(a|b|c|e)!' => [ 'HTC', 'Wildfire S' ], - 'HTC ?PG762!' => [ 'HTC', 'Wildfire S' ], - 'HTC Wildfire!' => [ 'HTC', 'Wildfire' ], - 'HTC .*A33(33|35|66|80)!' => [ 'HTC', 'Wildfire' ], - 'HTC A3360' => [ 'HTC', 'Wildfire' ], - 'HTC A6390' => [ 'HTC', 'A6390' ], - 'HTC A8180' => [ 'HTC', 'A8180' ], - 'HTC S610d' => [ 'HTC', 'S610d' ], - 'HTC S715e' => [ 'HTC', 'S715e' ], - 'HTC T327d' => [ 'HTC', 'T327d' ], - 'HTC T327t' => [ 'HTC', 'T327t' ], - 'HTC T329t' => [ 'HTC', 'T329t' ], - 'HTC Z510d' => [ 'HTC', 'Z510d' ], - 'HTC PO681' => [ 'HTC', 'Droid DNA 2' ], - 'HTC PO682' => [ 'HTC', 'Butterfly S' ], - 'HTC GOF U' => [ 'HTC', 'Desire C' ], - 'HTC VLE U' => [ 'HTC', 'One S' ], - 'HTC VLE#U' => [ 'HTC', 'One S' ], - 'HTC VIE U' => [ 'HTC', 'One S' ], - 'HTC K2 UL' => [ 'HTC', 'One SV' ], -// 'HTC IMN WLJ' -// 'HTC POO U' => [ 'HTC', 'Desire X' ], - 'HTC DLX WLJ' => [ 'HTC', 'J Butterfly' ], - 'HTC DLX WL' => [ 'HTC', 'Droid DNA' ], - 'HTC DLX U' => [ 'HTC', 'Droid DNA' ], - 'HTC6435LVW!' => [ 'HTC', 'Droid DNA' ], + + 'HTC!!' => [ + 'HTC (Amaze|Ruby)!' => [ 'HTC', 'Amaze 4G' ], + 'HTC (Aria|Liberty)!' => [ 'HTC', 'Aria' ], + 'HTC A63(66|80)!' => [ 'HTC', 'Aria' ], + 'HTC Bee' => [ 'HTC', 'Bee' ], + 'HTC ?ChaCha!' => [ 'HTC', 'ChaCha' ], + 'HTC A810e' => [ 'HTC', 'ChaCha' ], + 'HTC A9188!' => [ 'HTC', 'Cullinan' ], + 'HTC6435LRA' => [ 'HTC', 'Deluxe' ], + 'HTC Desire 200' => [ 'HTC', 'Desire 200' ], + 'HTC Desire 210 dual sim' => [ 'HTC', 'Desire 210' ], + 'HTC Desire 300' => [ 'HTC', 'Desire 300' ], + 'HTC 0P6A1' => [ 'HTC', 'Desire 300' ], + 'HTC 301e' => [ 'HTC', 'Desire 300' ], + 'HTC D310(n|w)!' => [ 'HTC', 'Desire 310' ], + 'HTC Desire 310' => [ 'HTC', 'Desire 310' ], + 'HTC Desire 310 dual sim' => [ 'HTC', 'Desire 310' ], + 'HTC 0PF11' => [ 'HTC', 'Desire 310' ], + 'HTC 0PF110' => [ 'HTC', 'Desire 310' ], + 'HTC 0PF120' => [ 'HTC', 'Desire 310' ], + 'HTC D316d' => [ 'HTC', 'Desire 316' ], + 'HTC Desire 320' => [ 'HTC', 'Desire 320' ], + 'htc v01' => [ 'HTC', 'Desire 320' ], + 'HTC Desire 326G dual sim' => [ 'HTC', 'Desire 326G' ], + 'HTC Desire 400 dual sim' => [ 'HTC', 'Desire 400' ], + 'HTC Desire 500' => [ 'HTC', 'Desire 500' ], + 'HTC Desire 500 dual sim' => [ 'HTC', 'Desire 500' ], + 'HTC 5060' => [ 'HTC', 'Desire 500' ], + 'HTC Desire 501' => [ 'HTC', 'Desire 501' ], + 'HTC Desire 501 dual sim' => [ 'HTC', 'Desire 501' ], + 'HTC 603h' => [ 'HTC', 'Desire 501' ], + 'HTC Desire 510' => [ 'HTC', 'Desire 510' ], + 'HTC 0PCV2' => [ 'HTC', 'Desire 510' ], + 'HTC 0PCV220' => [ 'HTC', 'Desire 510' ], + 'HTC Desire 512' => [ 'HTC', 'Desire 512' ], + 'HTC D516(d|t|w)!' => [ 'HTC', 'Desire 516' ], + 'HTC Desire 516 dual sim' => [ 'HTC', 'Desire 516' ], + 'HTC Desire 520' => [ 'HTC', 'Desire 520' ], + 'HTCD100LVW' => [ 'HTC', 'Desire 526' ], + 'HTC 0PM1100' => [ 'HTC', 'Desire 526G' ], + 'HTC Desire 526G' => [ 'HTC', 'Desire 526G' ], + 'HTC Desire 526G dual sim' => [ 'HTC', 'Desire 526G' ], + 'HTC D526(h)!' => [ 'HTC', 'Desire 526G+' ], + 'HTC Desire 526GPLUS dual sim' => [ 'HTC', 'Desire 526G+' ], + 'HTC 0PL41!' => [ 'HTC', 'Desire 526G+' ], + 'HTC 0PL42!' => [ 'HTC', 'Desire 526G+' ], + 'HTC Desire 600' => [ 'HTC', 'Desire 600' ], + 'HTC PO491' => [ 'HTC', 'Desire 600' ], + 'HTC Desire 600 dual sim' => [ 'HTC', 'Desire 600' ], + 'HTC Desire 600c dual sim' => [ 'HTC', 'Desire 600c' ], + 'HTC Desire 601' => [ 'HTC', 'Desire 601' ], + 'HTC Desire 601 dual sim' => [ 'HTC', 'Desire 601' ], + 'HTC ?0P4E!' => [ 'HTC', 'Desire 601' ], + 'HTC 606w' => [ 'HTC', 'Desire 606w' ], + 'HTC 608' => [ 'HTC', 'Desire 608' ], + 'HTC 608t' => [ 'HTC', 'Desire 608t' ], + 'HTC 609d' => [ 'HTC', 'Desire 609d' ], + 'HTC Desire 610' => [ 'HTC', 'Desire 610' ], + 'HTC D610' => [ 'HTC', 'Desire 610' ], + 'HTC D610t' => [ 'HTC', 'Desire 610' ], + 'HTC D610x' => [ 'HTC', 'Desire 610' ], + 'HTC 0P9O110' => [ 'HTC', 'Desire 610' ], + 'HTC 0P9O2' => [ 'HTC', 'Desire 610' ], + 'HTC331ZLVW' => [ 'HTC', 'Desire 610' ], + 'HTC Desire 612' => [ 'HTC', 'Desire 612' ], + 'HTC331ZLVWPP' => [ 'HTC', 'Desire 612' ], + 'HTC Desire 616 dual sim' => [ 'HTC', 'Desire 616' ], + 'HTC D616w!' => [ 'HTC', 'Desire 616' ], + 'HTC 619d!' => [ 'HTC', 'Desire 619d' ], + 'HTC D620(h|u)!' => [ 'HTC', 'Desire 620' ], + 'HTC Desire 620' => [ 'HTC', 'Desire 620' ], + 'HTC Desire 620G' => [ 'HTC', 'Desire 620G' ], + 'HTC Desire 620G dual sim' => [ 'HTC', 'Desire 620G' ], + 'HTC D626(d|w|x)!' => [ 'HTC', 'Desire 626' ], + 'HTC Desire 626' => [ 'HTC', 'Desire 626' ], + 'HTC Desire 626G dual sim' => [ 'HTC', 'Desire 626G' ], + 'HTC D626(ph)!' => [ 'HTC', 'Desire 626G' ], + 'HTC Desire 626GPLUS dual sim' => [ 'HTC', 'Desire 626G+' ], + 'HTC 0PM11' => [ 'HTC', 'Desire 626G+' ], + 'HTC Desire 626s' => [ 'HTC', 'Desire 626s' ], + 'HTC Desire 700 dual sim' => [ 'HTC', 'Desire 700' ], + 'HTC 709d' => [ 'HTC', 'Desire 709d' ], + 'HTC D816' => [ 'HTC', 'Desire 816' ], + 'HTC D816(d|t|v|w|x)!' => [ 'HTC', 'Desire 816' ], + 'HTC D816(h)!' => [ 'HTC', 'Desire 816G' ], + 'HTC Desire 816' => [ 'HTC', 'Desire 816' ], + 'HTC Desire 816 dual sim' => [ 'HTC', 'Desire 816' ], + 'htc a5ul' => [ 'HTC', 'Desire 816' ], + 'HTC Desire 816G' => [ 'HTC', 'Desire 816G' ], + 'HTC Desire 816G dual sim' => [ 'HTC', 'Desire 816G' ], + 'HTC D820(f|mt|mu|t|u|x)!' => [ 'HTC', 'Desire 820' ], + 'HTC Desire 820' => [ 'HTC', 'Desire 820' ], + 'HTC Desire 820 dual sim' => [ 'HTC', 'Desire 820' ], + 'HTC Desire 820G PLUS dual sim' => [ 'HTC', 'Desire 820G+' ], + 'HTC Desire 820q dual sim' => [ 'HTC', 'Desire 820q' ], + 'HTC Desire 820s dual sim' => [ 'HTC', 'Desire 820s' ], + 'HTC D820(ys)!' => [ 'HTC', 'Desire 820s' ], + 'HTC Desire 826 dual sim' => [ 'HTC', 'Desire 826' ], + 'HTC D826(d|t|w|y)!' => [ 'HTC', 'Desire 826' ], + 'HTC D828w!' => [ 'HTC', 'Desire 828' ], + 'HTC 5088' => [ 'HTC', 'Desire 5088' ], + 'HTC 6160' => [ 'HTC', 'Desire 6160' ], + 'HTC 7060' => [ 'HTC', 'Desire 7060' ], + 'HTC 7088' => [ 'HTC', 'Desire 7088' ], + 'HTC 8060' => [ 'HTC', 'Desire 8060' ], + 'HTC Desire C' => [ 'HTC', 'Desire C' ], + 'HTC Desire C N' => [ 'HTC', 'Desire C' ], + 'HTC H1000C' => [ 'HTC', 'Desire C' ], + 'HTC A320e' => [ 'HTC', 'Desire C' ], + 'HTC Desire ?HD!' => [ 'HTC', 'Desire HD' ], + 'HTC A91(91|92)!' => [ 'HTC', 'Desire HD' ], + 'HTC 0PFH1!' => [ 'HTC', 'Desire Eye' ], + 'HTC 0PFH2!' => [ 'HTC', 'Desire Eye' ], + 'HTC Desire EYE' => [ 'HTC', 'Desire Eye' ], + 'HTC PM6014' => [ 'HTC', 'Desire L' ], + 'HTC Desire P' => [ 'HTC', 'Desire P' ], + 'HTC ?Desire ?S( |$)!' => [ 'HTC', 'Desire S' ], + 'HTC S510(b|e)!' => [ 'HTC', 'Desire S' ], + 'HTC Desire Saga' => [ 'HTC', 'Desire S' ], + 'HTC Saga' => [ 'HTC', 'Desire S' ], + 'HTC DesireSV' => [ 'HTC', 'Desire SV' ], + 'HTC Desire SV' => [ 'HTC', 'Desire SV' ], + 'HTC PROMIN U' => [ 'HTC', 'Desire U' ], + 'HTC DesireU' => [ 'HTC', 'Desire U' ], + 'HTC Desire U' => [ 'HTC', 'Desire U' ], + 'HTC Desire U dual sim' => [ 'HTC', 'Desire U' ], + 'HTC T327w' => [ 'HTC', 'Desire U' ], + 'HTC Desire V' => [ 'HTC', 'Desire V' ], + 'HTC T328w' => [ 'HTC', 'Desire V' ], + 'HTC Desire VC' => [ 'HTC', 'Desire VC' ], + 'HTC Desire VC T328d' => [ 'HTC', 'Desire VC' ], + 'HTC T328d' => [ 'HTC', 'Desire VC' ], + 'HTC Desire VT' => [ 'HTC', 'Desire VT' ], + 'HTC T328t' => [ 'HTC', 'Desire VT' ], + 'HTC Desire XC!' => [ 'HTC', 'Desire XC' ], + 'HTC Desire XS!' => [ 'HTC', 'Desire XS' ], + 'HTC Desire ?X!' => [ 'HTC', 'Desire X' ], + 'HTC T329w' => [ 'HTC', 'Desire X' ], + 'HTC Desire ?Z!' => [ 'HTC', 'Desire Z' ], + 'HTC Vision' => [ 'HTC', 'Desire Z' ], + 'HTC A72(71|72|75)!' => [ 'HTC', 'Desire Z' ], + 'HTC T329d' => [ 'HTC', 'T329d' ], + 'HTC ?Desire!' => [ 'HTC', 'Desire' ], + 'HTC Bravo' => [ 'HTC', 'Desire' ], + 'HTC Bravo C' => [ 'HTC', 'Desire' ], + 'HTC eris' => [ 'HTC', 'Desire' ], + 'HTC A81(81|83)!' => [ 'HTC', 'Desire' ], + 'HTC ?X06HTII!' => [ 'HTC', 'Desire X06HTII', 'carrier' => 'Softbank' ], + 'HTC ?X06HT!' => [ 'HTC', 'Desire X06HT', 'carrier' => 'Softbank' ], + 'HTC Desire CDMA' => [ 'HTC', 'Desire' ], + 'HTC Dream' => [ 'HTC', 'Dream' ], + 'HTC Droid DNA' => [ 'HTC', 'Droid DNA' ], + 'HTC Droid Incredible' => [ 'HTC', 'Droid Incredible' ], + 'HTC IncredibleC' => [ 'HTC', 'Droid Incredible' ], + 'HTC Droid Incredible 2' => [ 'HTC', 'Droid Incredible 2' ], + 'HTC 603e' => [ 'HTC', 'E1' ], + 'HTC Evo' => [ 'HTC', 'EVO 3D' ], + 'HTC ?EVO ?3D!' => [ 'HTC', 'EVO 3D' ], + 'HTC X51(5a|5c|5d|5m)!' => [ 'HTC', 'EVO 3D' ], + 'HTC Shooter' => [ 'HTC', 'EVO 3D' ], + 'htc shooteru' => [ 'HTC', 'EVO 3D' ], + 'HTC EVO 4G\+!' => [ 'HTC', 'EVO 4G+' ], + 'HTC X515e' => [ 'HTC', 'EVO 4G+' ], + 'HTC ?EVO ?4G!' => [ 'HTC', 'EVO 4G' ], + 'HTC jewel' => [ 'HTC', 'EVO 4G' ], + 'HTC EVO LTE' => [ 'HTC', 'EVO 4G' ], + 'HTC EVO G20 T9399 For Sprint' => [ 'HTC', 'EVO 4G' ], + 'HTC ?EVO ?V ?4G!' => [ 'HTC', 'EVO V 4G' ], + 'HTC ?(EVO ?)?Design ?4G!' => [ 'HTC', 'EVO Design 4G' ], + 'HTC EVO Design C715e!' => [ 'HTC', 'EVO Design 4G' ], + 'HTC C715c' => [ 'HTC', 'EVO Design 4G' ], + 'HTC EVO Shift!' => [ 'HTC', 'EVO Shift' ], + 'HTC EVO View 4G' => [ 'HTC', 'EVO View 4G' ], + 'HTC ?Explorer!' => [ 'HTC', 'Explorer' ], + 'HTC A31(0b|0e)!' => [ 'HTC', 'Explorer' ], + 'HTC Pico Incredible HD' => [ 'HTC', 'Explorer' ], + 'HTC first' => [ 'HTC', 'First' ], + 'HTC PM33100' => [ 'HTC', 'First' ], + 'HTC Flyer!' => [ 'HTC', 'Flyer', DeviceType::TABLET ], + 'HTC P51(0e|2|5e)!' => [ 'HTC', 'Flyer', DeviceType::TABLET ], + 'HTC Gratia!' => [ 'HTC', 'Gratia' ], + 'HTC A6380' => [ 'HTC', 'Gratia' ], + 'HTC HD' => [ 'HTC', 'HD' ], + 'HTC HD2!' => [ 'HTC', 'HD2' ], + 'HTC T8585' => [ 'HTC', 'HD2' ], + 'HTC HD7!' => [ 'HTC', 'HD7' ], + 'HTC T92(98|99)!' => [ 'HTC', 'HD7' ], + 'HTC HD7S!' => [ 'HTC', 'HD7s' ], + 'HTC T(93|98)99!' => [ 'HTC', 'HD7s' ], + 'HTC HERO200' => [ 'HTC', 'Hero 200' ], /* Sprint */ + 'HTC Hero ?S!' => [ 'HTC', 'Hero S' ], /* US Cellular */ + 'HTC Hero!' => [ 'HTC', 'Hero' ], + 'HTC IMAGIO' => [ 'HTC', 'Imagio' ], + 'HTC Incredible' => [ 'HTC', 'Incredible' ], + 'HTC Incredible CDMA' => [ 'HTC', 'Incredible' ], + 'HTC Incredible T9199 for Vodafone' => [ 'HTC', 'Incredible' ], + 'HTC Incredible ?S!' => [ 'HTC', 'Incredible S' ], + 'HTC ?Vivo!' => [ 'HTC', 'Incredible S' ], + 'HTC S710e!' => [ 'HTC', 'Incredible S' ], + 'HTC S710d' => [ 'HTC', 'Incredible S' ], + 'HTC Incredible 2' => [ 'HTC', 'Incredible S' ], + 'HTC Innovation' => [ 'HTC', 'Innovation' ], + 'HTC (HD7 )?Inspire!' => [ 'HTC', 'Inspire 4G' ], + 'HTC J Z321e' => [ 'HTC', 'J' ], + 'HTC X920e' => [ 'HTC', 'J Butterfly' ], + 'HTC Butterfly' => [ 'HTC', 'J Butterfly' ], + 'HTC J Butterfly' => [ 'HTC', 'J Butterfly' ], + 'HTC Butterfly J' => [ 'HTC', 'J Butterfly' ], + 'HTC J One' => [ 'HTC', 'J One' ], + 'HTC Butterfly s' => [ 'HTC', 'Butterfly S' ], + 'HTC Butterfly s 901s' => [ 'HTC', 'Butterfly S' ], + 'HTC PO68' => [ 'HTC', 'Butterfly S' ], + 'HTC 9060' => [ 'HTC', 'Butterfly S' ], + 'HTC 9088' => [ 'HTC', 'Butterfly S' ], + 'HTC 901e' => [ 'HTC', 'Butterfly S' ], + 'HTC 909d' => [ 'HTC', 'Butterfly S' ], + 'HTC 919d' => [ 'HTC', 'Butterfly S' ], + 'HTC B810x' => [ 'HTC', 'Butterfly 2' ], + 'HTC Butterfly 2' => [ 'HTC', 'Butterfly 2' ], + 'HTC P715a' => [ 'HTC', 'Jetstream', DeviceType::TABLET ], + 'HTC PG09410' => [ 'HTC', 'Jetstream', DeviceType::TABLET ], + 'HTC Legend!' => [ 'HTC', 'Legend' ], + 'HTC Magic!' => [ 'HTC', 'Magic' ], + 'HTC Sapphire' => [ 'HTC', 'Magic' ], + 'HTC Merge' => [ 'HTC', 'Merge' ], + 'HTC Lexikon' => [ 'HTC', 'Merge' ], + 'HTC One SC' => [ 'HTC', 'One SC' ], + 'HTC T528d' => [ 'HTC', 'One SC' ], + 'HTC T528t' => [ 'HTC', 'One ST' ], + 'HTC T528w' => [ 'HTC', 'One SU' ], + 'HTC One Su' => [ 'HTC', 'One SU' ], + 'HTC One ?SV!' => [ 'HTC', 'One SV' ], + 'HTC C525c' => [ 'HTC', 'One SV' ], + 'HTC C525u' => [ 'HTC', 'One SV' ], + 'HTC H3000C' => [ 'HTC', 'One SV' ], + 'HTC K2!' => [ 'HTC', 'One SV' ], + 'HTC One S' => [ 'HTC', 'One S' ], + 'HTC One S !' => [ 'HTC', 'One S' ], + 'HTC Z(52|56)0e!' => [ 'HTC', 'One S' ], + 'HTC One VX' => [ 'HTC', 'One VX' ], + 'htc totem' => [ 'HTC', 'One VX' ], + 'HTC One V' => [ 'HTC', 'One V' ], + 'HTC T120C' => [ 'HTC', 'One V' ], + 'HTC T320e' => [ 'HTC', 'One V' ], + 'HTC H2000C' => [ 'HTC', 'One V' ], + 'HTC X720d' => [ 'HTC', 'One XC' ], + 'HTC ?One ?XL+!' => [ 'HTC', 'One XL+' ], + 'HTC ?One ?XL!' => [ 'HTC', 'One XL' ], + 'htc evita' => [ 'HTC', 'One XL' ], + 'HTC S720t!' => [ 'HTC', 'One XT' ], + 'HTC One X+' => [ 'HTC', 'One X+' ], + 'HTC OneXplus!' => [ 'HTC', 'One X+' ], + 'HTC PM63100' => [ 'HTC', 'One X+' ], + 'HTC ?One ?X!' => [ 'HTC', 'One X' ], + 'HTC Endeavour!' => [ 'HTC', 'One X' ], + 'HTC S720e' => [ 'HTC', 'One X' ], + 'HTC One X S720e' => [ 'HTC', 'One X' ], + 'HTC One X with Beats Audio' => [ 'HTC', 'One X' ], + 'HTC M7' => [ 'HTC', 'One' ], + 'HTC 801e' => [ 'HTC', 'One' ], + 'HTC 801s' => [ 'HTC', 'One' ], + 'HTC ?802d!' => [ 'HTC', 'One' ], + 'HTC 802t!' => [ 'HTC', 'One' ], + 'HTC 802w' => [ 'HTC', 'One' ], + 'HTC PN071' => [ 'HTC', 'One' ], + 'HTC PN072' => [ 'HTC', 'One' ], + 'HTC PN0711' => [ 'HTC', 'One' ], + 'HTC PN07120' => [ 'HTC', 'One' ], + 'HTC PN07310' => [ 'HTC', 'One' ], + 'HTC HTC6500LVW' => [ 'HTC', 'One' ], + 'HTC6500LVW' => [ 'HTC', 'One' ], + 'HTC6500LVW 4G' => [ 'HTC', 'One' ], + 'HTC6445LVW 4G' => [ 'HTC', 'One' ], + 'HTC One 801e' => [ 'HTC', 'One' ], + 'HTC One 801s' => [ 'HTC', 'One' ], + 'HTC one 802d' => [ 'HTC', 'One' ], + 'HTC One dual' => [ 'HTC', 'One' ], + 'HTC One dual 802d' => [ 'HTC', 'One' ], + 'HTC One dual sim' => [ 'HTC', 'One' ], + 'HTCONE' => [ 'HTC', 'One' ], + 'HTC6515LVW' => [ 'HTC', 'One Remix' ], + 'HTC 601e' => [ 'HTC', 'One Mini' ], + 'HTC PO581' => [ 'HTC', 'One Mini' ], + 'HTC PO582' => [ 'HTC', 'One Mini' ], + 'HTC PO58220' => [ 'HTC', 'One Mini' ], + 'HTC One mini' => [ 'HTC', 'One Mini' ], + 'HTC One mini 601e' => [ 'HTC', 'One Mini' ], + 'HTC 809d' => [ 'HTC', 'One Max' ], + 'HTC 8060' => [ 'HTC', 'One Max' ], + 'HTC 8088' => [ 'HTC', 'One Max' ], + 'HTC 8160' => [ 'HTC', 'One Max' ], + 'HTC ?0P3P[0-9]!' => [ 'HTC', 'One Max' ], + 'HTC6600LVW' => [ 'HTC', 'One Max' ], + 'HTC6600LVW 4G' => [ 'HTC', 'One Max' ], + 'HTC One max' => [ 'HTC', 'One Max' ], + 'HTC One max dual' => [ 'HTC', 'One Max' ], + 'HTC A9w' => [ 'HTC', 'One (A9)' ], + 'HTC One E9PLUS dual sim' => [ 'HTC', 'One (E9 Plus)' ], + 'HTC One M9' => [ 'HTC', 'One (M9)' ], + 'HTC 0PJA1!' => [ 'HTC', 'One (M9)' ], + 'HTC 0PJA2!' => [ 'HTC', 'One (M9)' ], + 'HTC6535LVW' => [ 'HTC', 'One (M9)' ], + 'HTC M9(u|w)!' => [ 'HTC', 'One (M9)' ], + 'HTC One M9PLUS' => [ 'HTC', 'One (M9 Plus)' ], + 'HTC M9pw' => [ 'HTC', 'One (M9 Plus)' ], + 'HTC X9u' => [ 'HTC', 'One (X9)' ], + 'HTC M9ew' => [ 'HTC', 'One ME' ], + 'htc hima ace ml dtul' => [ 'HTC', 'One ME' ], + 'HTC One ME dual sim' => [ 'HTC', 'One ME' ], + 'HTC 0P6B!' => [ 'HTC', 'One (M8)' ], + 'HTC One M8' => [ 'HTC', 'One (M8)' ], + 'HTC One M8 dual sim' => [ 'HTC', 'One (M8)' ], + 'HTC One(M8)' => [ 'HTC', 'One (M8)' ], + 'htc m8' => [ 'HTC', 'One (M8)' ], + 'HTC M8(d|dug|t|w|x)!' => [ 'HTC', 'One (M8)' ], + 'HTC6525LVW' => [ 'HTC', 'One (M8)' ], + 'HTC M8(e|et)!' => [ 'HTC', 'One (M8 Eye)' ], + 'HTC One M8 Eye' => [ 'HTC', 'One (M8 Eye)' ], + 'HTC One M8s' => [ 'HTC', 'One (M8s)' ], + 'HTC One E8' => [ 'HTC', 'One (E8)' ], + 'HTC One E8 dual sim' => [ 'HTC', 'One (E8)' ], + 'HTC M8S(d|t|w|x|y)!' => [ 'HTC', 'One (E8)' ], + 'htc mecwhl' => [ 'HTC', 'One (E8)' ], + 'HTC E9(pw|t|w|x)!' => [ 'HTC', 'One (E9)' ], + 'HTC One E9s dual sim' => [ 'HTC', 'One (E9)' ], + 'HTC 0P8B2!' => [ 'HTC', 'One Mini 2' ], + 'HTC M8MINx' => [ 'HTC', 'One Mini 2' ], + 'HTC One mini 2' => [ 'HTC', 'One Mini 2' ], + 'HTC Raider!' => [ 'HTC', 'Raider 4G' ], + 'HTC Holiday' => [ 'HTC', 'Raider 4G' ], + 'HTC X710(a|e|s)!' => [ 'HTC', 'Raider 4G' ], + 'HTC PH39100' => [ 'HTC', 'Raider 4G' ], + 'HTCRaider' => [ 'HTC', 'Raider 4G' ], + 'HTC Rezound' => [ 'HTC', 'Rezound' ], + 'HTC Rhyme!' => [ 'HTC', 'Rhyme' ], + 'HTC Bliss!' => [ 'HTC', 'Rhyme' ], + 'HTC S510b' => [ 'HTC', 'Rhyme' ], + 'HTC Salsa!' => [ 'HTC', 'Salsa' ], + 'HTC C510e' => [ 'HTC', 'Salsa' ], + 'HTC Sensation.*XE!' => [ 'HTC', 'Sensation XE' ], + 'HTC .*Z715(a|e)!' => [ 'HTC', 'Sensation XE' ], + 'HTC Sensation.*XL!' => [ 'HTC', 'Sensation XL' ], + 'HTC Runnymede' => [ 'HTC', 'Sensation XL' ], + 'HTC .*X315(b|e)!' => [ 'HTC', 'Sensation XL' ], + 'HTC G21!' => [ 'HTC', 'Sensation XL' ], + 'HTC ?Sensation!' => [ 'HTC', 'Sensation' ], + 'HTC Pyramid!' => [ 'HTC', 'Sensation' ], + 'HTC .*Z710(a|e|t)?!' => [ 'HTC', 'Sensation' ], + 'HTC G14!' => [ 'HTC', 'Sensation' ], + 'HTC Status' => [ 'HTC', 'Status' ], + 'HTC PH06130' => [ 'HTC', 'Status' ], + 'HTC Tattoo!' => [ 'HTC', 'Tattoo' ], + 'HTC Click' => [ 'HTC', 'Tattoo' ], + 'HTC A3288' => [ 'HTC', 'Tattoo' ], + 'HTC A9188' => [ 'HTC', 'Tianxi' ], + 'HTC X310e' => [ 'HTC', 'Titan' ], + 'HTC ETERNITY' => [ 'HTC', 'Titan' ], + 'HTC Polaris' => [ 'HTC', 'Touch Cruise' ], + 'HTC TOUCH DUAL' => [ 'HTC', 'Touch Dual' ], + 'HTC DiamondII EX' => [ 'HTC', 'Touch Diamond II' ], + 'HTC T7373' => [ 'HTC', 'Touch Pro II' ], + 'HTC Touch Pro' => [ 'HTC', 'Touch Pro' ], + 'HTC ThunderBolt( 4G)?!' => [ 'HTC', 'ThunderBolt'], + 'HTC Mecha' => [ 'HTC', 'ThunderBolt'], + 'HTC Kaiser' => [ 'HTC', 'TyTN II'], + 'HTC Velocity!' => [ 'HTC', 'Velocity 4G'], + 'HTCVelocity 4G' => [ 'HTC', 'Velocity 4G'], + 'HTC Vivid' => [ 'HTC', 'Vivid'], + 'HTC ?Wildfire ?S!' => [ 'HTC', 'Wildfire S' ], + 'HTC .*A510(a|b|c|e)!' => [ 'HTC', 'Wildfire S' ], + 'HTC ?PG762!' => [ 'HTC', 'Wildfire S' ], + 'HTC Wildfire!' => [ 'HTC', 'Wildfire' ], + 'HTC .*A33(33|35|66|80)!' => [ 'HTC', 'Wildfire' ], + 'HTC A3360' => [ 'HTC', 'Wildfire' ], + 'HTC A6390' => [ 'HTC', 'A6390' ], + 'HTC A8180' => [ 'HTC', 'A8180' ], + 'HTC S610d' => [ 'HTC', 'S610d' ], + 'HTC S715e' => [ 'HTC', 'S715e' ], + 'HTC T327d' => [ 'HTC', 'T327d' ], + 'HTC T327t' => [ 'HTC', 'T327t' ], + 'HTC T329t' => [ 'HTC', 'T329t' ], + 'HTC Z510d' => [ 'HTC', 'Z510d' ], + 'HTC PO681' => [ 'HTC', 'Droid DNA 2' ], + 'HTC PO682' => [ 'HTC', 'Butterfly S' ], + 'HTC GOF U' => [ 'HTC', 'Desire C' ], + 'HTC VLE U' => [ 'HTC', 'One S' ], + 'HTC VLE#U' => [ 'HTC', 'One S' ], + 'HTC VIE U' => [ 'HTC', 'One S' ], + 'HTC K2 UL' => [ 'HTC', 'One SV' ], + 'HTC DLX WLJ' => [ 'HTC', 'J Butterfly' ], + 'HTC DLX WL' => [ 'HTC', 'Droid DNA' ], + 'HTC DLX U' => [ 'HTC', 'Droid DNA' ], + 'HTC6435LVW!' => [ 'HTC', 'Droid DNA' ], + 'HTC EVA UTL' => [ 'HTC', 'One X' ], + 'HTC EVA UL' => [ 'HTC', 'One X' ], + 'HTC ENR U' => [ 'HTC', 'One X' ], + 'HTC EVARE UL' => [ 'HTC', 'One X+' ], + 'HTC ENRC2B' => [ 'HTC', 'One X+' ], + 'HTC 9089' => [ 'HTC', '9089' ], // COS + 'HTC ?909d!' => [ 'HTC', '909d' ], // COS + ], + 'DLX' => [ 'HTC', 'Droid DNA' ], 'DLXU' => [ 'HTC', 'Butterfly' ], - 'HTC EVA UTL' => [ 'HTC', 'One X' ], - 'HTC EVA UL' => [ 'HTC', 'One X' ], - 'HTC ENR U' => [ 'HTC', 'One X' ], 'ENR U' => [ 'HTC', 'One X' ], - 'EndeavorU' => [ 'HTC', 'One X' ], - 'HTC EVARE UL' => [ 'HTC', 'One X+' ], - 'HTC ENRC2B' => [ 'HTC', 'One X+' ], + + 'Amaze 4G' => [ 'HTC', 'Amaze 4G' ], 'Liberty' => [ 'HTC', 'Aria' ], + 'Butterfly S' => [ 'HTC', 'Butterfly S' ], + 'Desire 816' => [ 'HTC', 'Desire 816' ], 'Desire ?HD!' => [ 'HTC', 'Desire HD' ], 'Desire L by HTC' => [ 'HTC', 'Desire L' ], 'Desire ?S!' => [ 'HTC', 'Desire S' ], @@ -4564,6 +4709,7 @@ 'EVO ?3D!' => [ 'HTC', 'EVO 3D' ], 'EVO 4G' => [ 'HTC', 'EVO 4G' ], 'Evo V 4G' => [ 'HTC', 'EVO V 4G' ], + 'Explorer A310e' => [ 'HTC', 'Explorer' ], 'photon' => [ 'HTC', 'HD mini' ], 'HD2' => [ 'HTC', 'HD2' ], 'NexusHD2' => [ 'HTC', 'HD2' ], @@ -4574,6 +4720,7 @@ 'HERO200' => [ 'HTC', 'Hero 200' ], 'Incredible ?S!' => [ 'HTC', 'Incredible S' ], 'Incredible ?2!' => [ 'HTC', 'Incredible 2' ], + 'Incredible 4G LTE' => [ 'HTC', 'Incredible' ], 'Inspire HD' => [ 'HTC', 'Inspire 4G' ], 'Inspire 4G' => [ 'HTC', 'Inspire 4G' ], 'Legend' => [ 'HTC', 'Legend' ], @@ -4584,6 +4731,7 @@ 'One V' => [ 'HTC', 'One V' ], 'One' => [ 'HTC', 'One' ], 'One M7' => [ 'HTC', 'One' ], + 'EndeavorU' => [ 'HTC', 'One X' ], 'one m8' => [ 'HTC', 'One (M8)' ], 'Rezound' => [ 'HTC', 'Rezound' ], 'MIUI.us Sensation 4G' => [ 'HTC', 'Sensation 4G' ], @@ -4591,21 +4739,38 @@ 'SensationXL!' => [ 'HTC', 'Sensation XL' ], 'Sensation!' => [ 'HTC', 'Sensation' ], 'Pyramid' => [ 'HTC', 'Sensation' ], + 'Touch Pro 2' => [ 'HTC', 'Touch Pro II' ], 'TripNiCE Pyramid' => [ 'HTC', 'Sensation' ], - 'Click' => [ 'HTC', 'Tattoo' ], + 'VitMod ExtraLite 1.6.5.fullodex for HTC HD7 Pro' => [ 'HTC', 'HD7 Pro' ], 'Vivid 4G' => [ 'HTC', 'Vivid 4G' ], 'Wildfire S!' => [ 'HTC', 'Wildfire S' ], 'Wildfire!' => [ 'HTC', 'Wildfire' ], - 'Sprint APX515CKT' => [ 'HTC', 'EVO 3D' ], - 'Sprint APA9292KT' => [ 'HTC', 'EVO 4G' ], - 'Sprint APA7373KT' => [ 'HTC', 'EVO Shift 4G' ], - 'Sprint APC715CKT' => [ 'HTC', 'EVO Design 4G' ], - 'Sprint ATP515CKIT' => [ 'HTC', 'EVO View 4G', DeviceType::TABLET ], + 'Click' => [ 'HTC', 'Tattoo' ], + + 'Sprint!!' => [ + 'Sprint APX515CKT' => [ 'HTC', 'EVO 3D' ], + 'Sprint APA9292KT' => [ 'HTC', 'EVO 4G' ], + 'Sprint APA7373KT' => [ 'HTC', 'EVO Shift 4G' ], + 'Sprint APC715CKT' => [ 'HTC', 'EVO Design 4G' ], + 'Sprint ATP515CKIT' => [ 'HTC', 'EVO View 4G', DeviceType::TABLET ], + ], + + '710C' => [ 'HTC', 'Desire 816' ], + '801a' => [ 'HTC', 'One' ], + '801s' => [ 'HTC', 'One' ], + '802w' => [ 'HTC', 'One' ], + '831C' => [ 'HTC', 'One (M8)' ], + '909d' => [ 'HTC', '909d' ], // COS + '9088' => [ 'HTC', '9088' ], // COS + 'A320a' => [ 'HTC', 'Desire C' ], 'A3380' => [ 'HTC', 'Wildfire' ], 'A6277' => [ 'HTC', 'Hero' ], 'a7272' => [ 'HTC', 'Desire Z' ], 'A7272+(HTC DesireZ)' => [ 'HTC', 'Desire Z' ], + 'C525c' => [ 'HTC', 'One SV' ], + 'D816(d|t|v|w|x)!' => [ 'HTC', 'Desire 816' ], + 'D820mt' => [ 'HTC', 'Desire 820 Mini' ], 'S710d' => [ 'HTC', 'Droid Incredible 2' ], 'S710D' => [ 'HTC', 'Droid Incredible 2' ], 'T320a' => [ 'HTC', 'One V' ], @@ -4614,25 +4779,35 @@ 'X515e' => [ 'HTC', 'EVO 4G+' ], 'X525a' => [ 'HTC', 'One X+' ], 'X710E' => [ 'HTC', 'Raider 4G' ], + 'X920e' => [ 'HTC', 'J Butterfly' ], 'Z520m' => [ 'HTC', 'One S' ], 'Z710' => [ 'HTC', 'Sensation' ], 'Z710e' => [ 'HTC', 'Sensation' ], + 'Z715e' => [ 'HTC', 'Sensation XE' ], 'T9199h' => [ 'HTC', 'T9199h' ], - 'ADR6200' => [ 'HTC', 'Droid Eris' ], - 'ADR6225' => [ 'HTC', 'Wildfire 6225' ], - 'HTCADR6290US' => [ 'HTC', 'One V' ], - 'ADR6300' => [ 'HTC', 'Droid Incredible' ], - 'ADR6325!' => [ 'HTC', 'Merge' ], - 'ADR6330VW' => [ 'HTC', 'Rhyme' ], - 'ADR6350' => [ 'HTC', 'Droid Incredible 2' ], - 'ADR6400L!' => [ 'HTC', 'Thunderbolt 4G' ], - 'ADR6410LRA!' => [ 'HTC', 'Droid Incredible 4G' ], - 'ADR6410LVW!' => [ 'HTC', 'Fireball' ], - 'ADR6425LVW!' => [ 'HTC', 'Rezound' ], + + '(HTC|PC|USCC)?ADR[0-9]{4,4}!!' => [ + 'ADR6200' => [ 'HTC', 'Droid Eris' ], + 'ADR6225' => [ 'HTC', 'Wildfire 6225' ], + 'HTCADR6290US' => [ 'HTC', 'One V' ], + 'ADR6300' => [ 'HTC', 'Droid Incredible' ], + 'ADR6325!' => [ 'HTC', 'Merge' ], + 'ADR6330VW' => [ 'HTC', 'Rhyme' ], + 'ADR6350' => [ 'HTC', 'Droid Incredible 2' ], + 'ADR6400L!' => [ 'HTC', 'Thunderbolt 4G' ], + 'ADR6410LRA!' => [ 'HTC', 'Droid Incredible 4G' ], + 'ADR6410LVW!' => [ 'HTC', 'Fireball' ], + 'ADR6425LVW!' => [ 'HTC', 'Rezound' ], + 'pcdadr6350' => [ 'HTC', 'Droid Incredible 2' ], + 'USCCADR6275US!' => [ 'HTC', 'Desire' ], + 'USCCADR6285US!' => [ 'HTC', 'Hero S' ], + 'USCCADR6325US!' => [ 'HTC', 'Merge' ], + 'USCCADR6230US!' => [ 'HTC', 'Wildfire S' ], + ], + 'ATP515CKIT' => [ 'HTC', 'EVO View 4G' ], 'Coquettish Red' => [ 'HTC', 'Rezound' ], 'PB99400' => [ 'HTC', 'Desire' ], - 'pcdadr6350' => [ 'HTC', 'Droid Incredible 2' ], 'PC36100!' => [ 'HTC', 'EVO 4G' ], 'PG06100' => [ 'HTC', 'EVO Shift 4G' ], 'PG41200' => [ 'HTC', 'EVO View 4G', DeviceType::TABLET ], @@ -4642,433 +4817,497 @@ 'PJ35100' => [ 'HTC', 'One VX' ], 'PM36100' => [ 'HTC', 'One VX' ], 'PM63100' => [ 'HTC', 'One X+' ], - 'S31HT' => [ 'HTC', 'Aria S31HT', 'carrier' => 'EMOBILE' ], - 'X06HT' => [ 'HTC', 'Desire X06HT', 'carrier' => 'Softbank' ], - '001HT' => [ 'HTC', 'Desire HD 001HT', 'carrier' => 'Softbank' ], - 'ISW11HT!' => [ 'HTC', 'EVO WiMAX ISW11HT', 'carrier' => 'au' ], - 'ISW12HT!' => [ 'HTC', 'EVO 3D ISW12HT', 'carrier' => 'au' ], - 'ISW13HT!' => [ 'HTC', 'J ISW13HT', 'carrier' => 'au' ], - 'HTL21!' => [ 'HTC', 'J Butterfly HTL21', 'carrier' => 'au' ], - 'HTL22' => [ 'HTC', 'J One HTL22', 'carrier' => 'au' ], - 'HTC HTL22' => [ 'HTC', 'J One HTL22', 'carrier' => 'au' ], - 'HTL23!' => [ 'HTC', 'J Butterfly HTL23', 'carrier' => 'au' ], - 'HTV31!' => [ 'HTC', 'J Butterfly HTV31', 'carrier' => 'au' ], - 'USCCADR6275US!' => [ 'HTC', 'Desire' ], - 'USCCADR6285US!' => [ 'HTC', 'Hero S' ], - 'USCCADR6325US!' => [ 'HTC', 'Merge' ], - 'USCCADR6230US!' => [ 'HTC', 'Wildfire S' ], - 'HTC 802t' => [ 'HTC', '802t' ], // COS - '9088' => [ 'HTC', '9088' ], // COS - 'HTC 9089' => [ 'HTC', '9089' ], // COS - '909d' => [ 'HTC', '909d' ], // COS - 'HTC ?909d!' => [ 'HTC', '909d' ], // COS - 'MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ], + '0PCV1' => [ 'HTC', 'Desire 510' ], + '0PM92' => [ 'HTC', 'Desire 626s' ], + '0PJA1!' => [ 'HTC', 'One (M9)' ], + '0PJA2!' => [ 'HTC', 'One (M9)' ], + '0PKV1' => [ 'HTC', 'One (M8s)' ], + '0PAJ5' => [ 'HTC', 'One (E8)' ], + 'M7CDTU' => [ 'HTC', 'One' ], + + '[SX0][0-9]{2,2}HT!!' => [ + 'S31HT' => [ 'HTC', 'Aria S31HT', 'carrier' => 'EMOBILE' ], + 'X06HT' => [ 'HTC', 'Desire X06HT', 'carrier' => 'Softbank' ], + '001HT' => [ 'HTC', 'Desire HD 001HT', 'carrier' => 'Softbank' ], + ], + + 'ISW[0-9]{2,2}HT!!' => [ + 'ISW11HT!' => [ 'HTC', 'EVO WiMAX ISW11HT', 'carrier' => 'au' ], + 'ISW12HT!' => [ 'HTC', 'EVO 3D ISW12HT', 'carrier' => 'au' ], + 'ISW13HT!' => [ 'HTC', 'J ISW13HT', 'carrier' => 'au' ], + ], + + '(HTC )?HT[LV][0-9]{2,2}!!' => [ + 'HTL21!' => [ 'HTC', 'J Butterfly HTL21', 'carrier' => 'au' ], + 'HTL22' => [ 'HTC', 'J One HTL22', 'carrier' => 'au' ], + 'HTC HTL22' => [ 'HTC', 'J One HTL22', 'carrier' => 'au' ], + 'HTL23!' => [ 'HTC', 'J Butterfly HTL23', 'carrier' => 'au' ], + 'HTV31!' => [ 'HTC', 'J Butterfly HTV31', 'carrier' => 'au' ], + ], + 'Huawei MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ], 'Huawei OsiMood MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ], - 'Huawei S7-312u' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ], - 'MediaPad 7 FHD' => [ 'Huawei', 'MediaPad 7', DeviceType::TABLET ], - 'MediaPad 7 Lite' => [ 'Huawei', 'MediaPad 7 Lite', DeviceType::TABLET ], - 'MediaPad 7 Lite II' => [ 'Huawei', 'MediaPad 7 Lite II', DeviceType::TABLET ], - 'MediaPad 7 Vivid' => [ 'Huawei', 'MediaPad 7 Vivid', DeviceType::TABLET ], - 'MediaPad 7 Vogue' => [ 'Huawei', 'MediaPad 7 Vogue', DeviceType::TABLET ], - 'MediaPad 7 Voguevivi' => [ 'Huawei', 'MediaPad 7 Vogue', DeviceType::TABLET ], - 'MediaPad 7 Youth' => [ 'Huawei', 'MediaPad 7 Youth', DeviceType::TABLET ], - 'MediaPad 7 Youth2' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ], - 'MediaPad 7 Youth 2' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ], - 'MediaPad 8 Vogue' => [ 'Huawei', 'MediaPad 8 Vogue', DeviceType::TABLET ], - 'MediaPad 10 FHD' => [ 'Huawei', 'MediaPad 10', DeviceType::TABLET ], - 'MediaPad 10 LINK' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ], - 'MediaPad 10 Link+' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ], - 'MediaPad M1 8.0' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ], - 'S8-306L' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ], - 'HUAWEI M2-A01L' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ], + + 'MediaPad!!' => [ + 'MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ], + 'MediaPad 7 FHD' => [ 'Huawei', 'MediaPad 7', DeviceType::TABLET ], + 'MediaPad 7 Lite' => [ 'Huawei', 'MediaPad 7 Lite', DeviceType::TABLET ], + 'MediaPad 7 Lite II' => [ 'Huawei', 'MediaPad 7 Lite II', DeviceType::TABLET ], + 'MediaPad 7 Vivid' => [ 'Huawei', 'MediaPad 7 Vivid', DeviceType::TABLET ], + 'MediaPad 7 Vogue' => [ 'Huawei', 'MediaPad 7 Vogue', DeviceType::TABLET ], + 'MediaPad 7 Voguevivi' => [ 'Huawei', 'MediaPad 7 Vogue', DeviceType::TABLET ], + 'MediaPad 7 Youth' => [ 'Huawei', 'MediaPad 7 Youth', DeviceType::TABLET ], + 'MediaPad 7 Youth2' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ], + 'MediaPad 7 Youth 2' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ], + 'MediaPad 8 Vogue' => [ 'Huawei', 'MediaPad 8 Vogue', DeviceType::TABLET ], + 'MediaPad 10 FHD' => [ 'Huawei', 'MediaPad 10', DeviceType::TABLET ], + 'MediaPad 10 LINK' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ], + 'MediaPad 10 Link+' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ], + 'MediaPad M1 8.0' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ], + 'MediaPad T1 8.0' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + 'MediaPad T1 8.0 LTE' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + 'MediaPad T1 8.0 Pro' => [ 'Huawei', 'MediaPad T1 Pro', DeviceType::TABLET ], + 'MediaPad X1 7.0' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], + 'MediaPad X1' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], + 'MediaPad 7D' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], + 'MediaPad X1 S 7.0' => [ 'Huawei', 'MediaPad X1 S', DeviceType::TABLET ], + ], + + '(Huawei )?[MSTX][1278]\-[A-Z0-9][0-9]{2,2}!!' => [ + 'Huawei S7-312u' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ], + 'S8-306L' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ], + 'HUAWEI M2-A01L' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ], + 'S8-701u' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + 'T1-A21L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + 'T1-701u' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + 'T1-701ua' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + 'S8-701w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], + ], + 'T1 7.0' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'MediaPad T1 8.0' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'MediaPad T1 8.0 LTE' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'S8-701u' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'T1-A21L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'T1-701u' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'T1-701ua' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'S8-701w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ], - 'MediaPad T1 8.0 Pro' => [ 'Huawei', 'MediaPad T1 Pro', DeviceType::TABLET ], - 'MediaPad X1 7.0' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], 'X1 7.0' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], - 'MediaPad X1' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], - 'MediaPad 7D' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ], - 'MediaPad X1 S 7.0' => [ 'Huawei', 'MediaPad X1 S', DeviceType::TABLET ], - 'Huawei A199' => [ 'Huawei', 'A199' ], - 'Huawei B199' => [ 'Huawei', 'B199' ], - 'Huawei C199' => [ 'Huawei', 'C199' ], - 'HUAWEI C199s' => [ 'Huawei', 'C199s' ], - 'Huawei C8500!' => [ 'Huawei', 'C8500' ], - 'HUAWEI C8550!' => [ 'Huawei', 'C8550' ], - 'Huawei C8600' => [ 'Huawei', 'C8600' ], - 'HW-C8600!' => [ 'Huawei', 'C8600' ], - 'Huawei C8650!' => [ 'Huawei', 'C8650' ], - 'Huawei C8655' => [ 'Huawei', 'Ascend Y201C' ], - 'Huawei C8800' => [ 'Huawei', 'IDEOS X5' ], - 'Huawei C8810' => [ 'Huawei', 'Ascend G300' ], - 'Huawei C8812!' => [ 'Huawei', 'Ascend C8812' ], - 'Ascend C8812' => [ 'Huawei', 'Ascend C8812' ], - 'Huawei C8813!' => [ 'Huawei', 'Ascend C8813' ], - 'Ascend c8813' => [ 'Huawei', 'Ascend C8813' ], - 'Ascend C8813Q' => [ 'Huawei', 'Ascend C8813' ], - 'Huawei C8815!' => [ 'Huawei', 'Ascend C8815' ], - 'Huawei C8816!' => [ 'Huawei', 'Ascend C8816' ], - 'Huawei C8817!' => [ 'Huawei', 'C8817' ], - 'HW-C8817D!' => [ 'Huawei', 'C8817' ], - 'HUAWEI C8818!' => [ 'Huawei', 'C8818' ], - 'Huawei C8825D' => [ 'Huawei', 'Ascend G330C' ], - 'Huawei C8826D' => [ 'Huawei', 'Ascend G500C' ], - 'Huawei C8850' => [ 'Huawei', 'C8850' ], - 'Huawei C8860E' => [ 'Huawei', 'Honor' ], - 'Huawei C8950D' => [ 'Huawei', 'Honor+' ], - 'Huawei G7500' => [ 'Huawei', 'G7500' ], - 'CM990' => [ 'Huawei', 'Evolución 3' ], - 'Huawei CM990' => [ 'Huawei', 'Evolución 3' ], - 'Huawei Evolucion 3' => [ 'Huawei', 'Evolución 3' ], - 'Huawei H867G' => [ 'Huawei', 'H867G' ], - 'Huawei H868C' => [ 'Huawei', 'Glory' ], - 'Huawei H870C' => [ 'Huawei', 'H870C' ], - 'Huawei H871G' => [ 'Huawei', 'Magna' ], - 'Huawei H881C' => [ 'Huawei', 'Ascend Plus' ], - 'HUAWEI H891L' => [ 'Huawei', 'Pronto' ], - 'HUAWEI H892L' => [ 'Huawei', 'Honor 4X' ], - 'Huawei M835' => [ 'Huawei', 'M835' ], - 'Huawei M860' => [ 'Huawei', 'Ascend' ], - 'HUAWEI M881' => [ 'Huawei', 'Asura' ], - 'Huawei M920' => [ 'Huawei', 'M920' ], - 'Huawei M921' => [ 'Huawei', 'M921' ], - 'Huawei M931' => [ 'Huawei', 'M931' ], - 'Huawei MT1-(T00|U06)!' => [ 'Huawei', 'Ascend Mate' ], - 'HUAWEI MATE-U06' => [ 'Huawei', 'Ascend Mate' ], - 'Ascend Mate 2' => [ 'Huawei', 'Ascend Mate 2' ], - 'Huawei MT2-(C00|L01|L02|L05)!' => [ 'Huawei', 'Ascend Mate 2' ], - 'HUAWEI MT2L03' => [ 'Huawei', 'Ascend Mate 2' ], - 'MT2L03' => [ 'Huawei', 'Ascend Mate 2' ], - 'HUAWEI MT7-(L09|J1|CL00|TL00|TL10|UL00)!' => [ 'Huawei', 'Ascend Mate 7' ], - 'Z100-(L09|TL00)!' => [ 'Huawei', 'Ascend Mate 7' ], - 'HUAWEI NXT-(AL10|UL10)!' => [ 'Huawei', 'Mate 8' ], - 'NXT-(CL00|TL00)!' => [ 'Huawei', 'Mate 8' ], - 'M200-(UL00)!' => [ 'Huawei', 'Mate 8' ], + + '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!' => [ + 'Huawei MT1-(T00|U06)!' => [ 'Huawei', 'Ascend Mate' ], + 'HUAWEI MATE-U06' => [ 'Huawei', 'Ascend Mate' ], + 'Huawei MT2-(C00|L01|L02|L05)!' => [ 'Huawei', 'Ascend Mate 2' ], + 'HUAWEI MT2L03' => [ 'Huawei', 'Ascend Mate 2' ], + 'MT2L03' => [ 'Huawei', 'Ascend Mate 2' ], + 'HUAWEI MT7-(L09|J1|CL00|TL00|TL10|UL00)!' => [ 'Huawei', 'Ascend Mate 7' ], + 'Z100-(L09|TL00)!' => [ 'Huawei', 'Ascend Mate 7' ], + 'HUAWEI NXT-(AL10|UL10)!' => [ 'Huawei', 'Mate 8' ], + 'NXT-(CL00|TL00)!' => [ 'Huawei', 'Mate 8' ], + 'M200-(UL00)!' => [ 'Huawei', 'Mate 8' ], + 'HUAWEI CRR-(L09|CL00|CL20|UL00|UL20)!' => [ 'Huawei', 'Mate S' ], + ], + + '(HUAWEI )?(TIT)!!' => [ + 'TIT-(AL00|L01)!' => [ 'Huawei', 'Enjoy 5' ], + 'HUAWEI TIT-(AL00|CL10|TL00|U02)!' => [ 'Huawei', 'Enjoy 5' ], + ], + + '(HW-|HUAWEI )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|PE|PLK|SCL)!!' => [ + 'Huawei HN3-(U00|U01)!' => [ 'Huawei', 'Honor 3' ], + 'HN3-(U00|U01)!' => [ 'Huawei', 'Honor 3' ], + 'Huawei H30-(C00|T00|T10|U10)!' => [ 'Huawei', 'Honor 3C' ], + 'HUAWEI H30 (T00|U10)!' => [ 'Huawei', 'Honor 3C' ], + 'HONOR H30-(L01|L02|T00)!' => [ 'Huawei', 'Honor 3C' ], + 'H30-(C00|L02|T00|T10|U10)!' => [ 'Huawei', 'Honor 3C' ], + 'H30 U10' => [ 'Huawei', 'Honor 3C' ], + 'HW-H30-C00!' => [ 'Huawei', 'Honor 3C' ], + 'Hol-(T00|U10|U19)!' => [ 'Huawei', 'Honor 3C' ], + 'Huawei HOL-(T00|U10|U19)!' => [ 'Huawei', 'Honor 3C' ], + 'CHM-(CL00|TL00H|TL00|U01|UL00)!' => [ 'Huawei', 'Honor Play 4C' ], + 'SCL-(L01|L04|L001|L004|AL00|CL00|TL00|TL00H)!' => [ 'Huawei', 'Honor 4A' ], + 'HUAWEI SCL-(L01|L02|L03|L04|L21|TL00|U31)!' => [ 'Huawei', 'Honor 4A' ], + 'CHE-(TL00|TL00H)!' => [ 'Huawei', 'Honor 4X' ], + 'HW-Che1-CL10' => [ 'Huawei', 'Honor 4X' ], + 'Che1-(L04|CL10|CL20)!' => [ 'Huawei', 'Honor 4X' ], + 'Che2-(L11|L12|L23|TL00|UL00)!' => [ 'Huawei', 'Honor 4X' ], + 'KIW-(AL10|CL00|L21|L22|UL00|TL00|TL00H)!' => [ 'Huawei', 'Honor 5X' ], + 'H60-(J1|L01|L02|L03|L04|L11|L12|L21)!' => [ 'Huawei', 'Honor 6' ], + 'PE-(CL00|TL00|TL10|TL20|UL00)!' => [ 'Huawei', 'Honor 6 Plus' ], + 'PLK-(L01|AL10|CL00|UL00|TL00|TL01H)!' => [ 'Huawei', 'Honor 7' ], + 'HW-PLK-CL00' => [ 'Huawei', 'Honor 7' ], + 'ATH-(AL00|CL00)!' => [ 'Huawei', 'Honor 7i' ], + ], + + '(HUAWEI )?(CHC|KII)!!' => [ + 'CHC-(U01|U03)!' => [ 'Huawei', 'G Play Mini' ], + 'KII-(L03|L05|L21|L23)!' => [ 'Huawei', 'GR5' ], + ], + + '(HUAWEI )?(ALE|D2|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia)!!' => [ + 'HUAWEI D2' => [ 'Huawei', 'Ascend D2' ], + 'Huawei D2-(0082|2010|5000|6114)!' => [ 'Huawei', 'Ascend D2' ], + 'Huawei G6-(C00|L11|L22|L33|T00|U00|U10|U251)!' => [ 'Huawei', 'Ascend G6' ], + 'G6-L11' => [ 'Huawei', 'Ascend G6' ], + 'G7-(L01|L11|TL00)!' => [ 'Huawei', 'Ascend G7' ], + 'HUAWEI G7-(L01|L03|TL00|UL20)!' => [ 'Huawei', 'Ascend G7' ], + 'HUAWEI G7' => [ 'Huawei', 'Ascend G7' ], + 'HUAWEI RIO-(L01|L02|L03|AL00|UL00|CL00|TL00)!' => [ 'Huawei', 'Ascend G8' ], + 'Huawei SC-(CL00|UL10)!' => [ 'Huawei', 'Ascend GX1' ], + 'Huawei P2-(6011|6070)!' => [ 'Huawei', 'Ascend P2' ], + 'Huawei P6-(C00|U06|T00|T00V|VIP)!' => [ 'Huawei', 'Ascend P6' ], + 'Huawei P6 ?S-U06!' => [ 'Huawei', 'Ascend P6' ], + 'P6-(C00|U00|U06|T00)!' => [ 'Huawei', 'Ascend P6' ], + 'Huawei Sophia-(L07|L10)!' => [ 'Huawei', 'Ascend P7' ], + 'Huawei P7-(L00|L05|L07|L09|L10|L11|L12)!' => [ 'Huawei', 'Ascend P7' ], + 'M100-(CL00|L09|TL00|UL00)!' => [ 'Huawei', 'Ascend P8' ], + 'GRA-(CL00|CL10|TL00|UL00|UL10)!' => [ 'Huawei', 'Ascend P8' ], + 'HUAWEI GRA-(CL00|CL10|L09|TL00|UL00|UL10)!' => [ 'Huawei', 'Ascend P8' ], + 'HUAWEI ALE-(L04|CL00)!' => [ 'Huawei', 'Ascend P8 Lite' ], + 'HUAWEI ALEL04' => [ 'Huawei', 'Ascend P8 Lite' ], + 'ALE-(L02|L04|L21|L23|CL00|TL00|UL00)!' => [ 'Huawei', 'Ascend P8 Lite' ], + ], + + 'G[0-9]{3,3}!!' => [ + 'G350-U151' => [ 'Huawei', 'Ascend G350' ], + 'G521-(L076|L176)!' => [ 'Huawei', 'Ascend G521' ], + 'G526-(L11|L22|L33)!' => [ 'Huawei', 'Ascend G526' ], + 'G535-(L11)!' => [ 'Huawei', 'Ascend G535' ], + 'G610[ -](T00|T11|U00)!' => [ 'Huawei', 'Ascend G610' ], + 'G616-T00' => [ 'Huawei', 'Ascend G616' ], + 'G618' => [ 'Huawei', 'Ascend G618' ], + 'G620-L75' => [ 'Huawei', 'Ascend G620' ], + 'G620S-(L01|L02|L03|UL00)!' => [ 'Huawei', 'Ascend G620S' ], + 'G621-(TL00|TL00M)!' => [ 'Huawei', 'Ascend G621' ], + 'G629-(UL00)!' => [ 'Huawei', 'Ascend G629' ], + 'G630-(U00|U10|U20|U251)!' => [ 'Huawei', 'Ascend G630' ], + 'G735-(L03|L23)!' => [ 'Huawei', 'Ascend G735' ], + 'G740-L00' => [ 'Huawei', 'Ascend G740' ], + 'G750-(T00|T01)!' => [ 'Huawei', 'Ascend G750' ], + 'G760-(L01|TL00)!' => [ 'Huawei', 'Ascend G760' ], + ], + + 'Y[0-9]{3,3}!!' => [ + 'Y220-(U00|U05|U10)!' => [ 'Huawei', 'Ascend Y220' ], + 'Y220T' => [ 'Huawei', 'Ascend Y220' ], + 'Y320-U10' => [ 'Huawei', 'Ascend Y320' ], + 'Y325-T00' => [ 'Huawei', 'Ascend Y325' ], + 'Y330-U11' => [ 'Huawei', 'Ascend Y330' ], + 'Y340-U081' => [ 'Huawei', 'Ascend Y340' ], + 'Y511' => [ 'Huawei', 'Ascend Y511' ], + 'Y511-U00!' => [ 'Huawei', 'Ascend Y511' ], + 'Y536A1' => [ 'Huawei', 'Ascend Y536' ], + 'Y540-U01' => [ 'Huawei', 'Ascend Y540' ], + 'Y541-U02' => [ 'Huawei', 'Ascend Y541' ], + 'Y560-L01' => [ 'Huawei', 'Ascend Y560' ], + 'Y600-U00' => [ 'Huawei', 'Ascend Y600' ], + 'Y618-T00' => [ 'Huawei', 'Ascend Y618' ], + 'Y635-(L01|L21|L22)!' => [ 'Huawei', 'Ascend Y635' ], + ], + + '(Huawei|Ascend|HW-)!!' => [ + 'Huawei A199' => [ 'Huawei', 'A199' ], + 'Huawei B199' => [ 'Huawei', 'B199' ], + 'Huawei C199' => [ 'Huawei', 'C199' ], + 'HUAWEI C199s' => [ 'Huawei', 'C199s' ], + 'Huawei C8500!' => [ 'Huawei', 'C8500' ], + 'HUAWEI C8550!' => [ 'Huawei', 'C8550' ], + 'Huawei C8600' => [ 'Huawei', 'C8600' ], + 'HW-C8600!' => [ 'Huawei', 'C8600' ], + 'Huawei C8650!' => [ 'Huawei', 'C8650' ], + 'Huawei C8655' => [ 'Huawei', 'Ascend Y201C' ], + 'Huawei C8800' => [ 'Huawei', 'IDEOS X5' ], + 'Huawei C8810' => [ 'Huawei', 'Ascend G300' ], + 'Huawei C8812!' => [ 'Huawei', 'Ascend C8812' ], + 'Ascend C8812' => [ 'Huawei', 'Ascend C8812' ], + 'Huawei C8813!' => [ 'Huawei', 'Ascend C8813' ], + 'Ascend c8813' => [ 'Huawei', 'Ascend C8813' ], + 'Ascend C8813Q' => [ 'Huawei', 'Ascend C8813' ], + 'Huawei C8815!' => [ 'Huawei', 'Ascend C8815' ], + 'Huawei C8816!' => [ 'Huawei', 'Ascend C8816' ], + 'Huawei C8817!' => [ 'Huawei', 'C8817' ], + 'HW-C8817D!' => [ 'Huawei', 'C8817' ], + 'HUAWEI C8818!' => [ 'Huawei', 'C8818' ], + 'Huawei C8825D' => [ 'Huawei', 'Ascend G330C' ], + 'Huawei C8826D' => [ 'Huawei', 'Ascend G500C' ], + 'Huawei C8850' => [ 'Huawei', 'C8850' ], + 'Huawei C8860E' => [ 'Huawei', 'Honor' ], + 'Huawei C8950D' => [ 'Huawei', 'Honor+' ], + 'Huawei G7500' => [ 'Huawei', 'G7500' ], + 'Huawei CM990' => [ 'Huawei', 'Evolución 3' ], + 'Huawei Evolucion 3' => [ 'Huawei', 'Evolución 3' ], + 'Huawei H867G' => [ 'Huawei', 'H867G' ], + 'Huawei H868C' => [ 'Huawei', 'Glory' ], + 'Huawei H870C' => [ 'Huawei', 'H870C' ], + 'Huawei H871G' => [ 'Huawei', 'Magna' ], + 'Huawei H881C' => [ 'Huawei', 'Ascend Plus' ], + 'HUAWEI H891L' => [ 'Huawei', 'Pronto' ], + 'HUAWEI H892L' => [ 'Huawei', 'Honor 4X' ], + 'Huawei M835' => [ 'Huawei', 'M835' ], + 'Huawei M860' => [ 'Huawei', 'Ascend' ], + 'HUAWEI M881' => [ 'Huawei', 'Asura' ], + 'Huawei M920' => [ 'Huawei', 'M920' ], + 'Huawei M921' => [ 'Huawei', 'M921' ], + 'Huawei M931' => [ 'Huawei', 'M931' ], + 'Ascend Mate 2' => [ 'Huawei', 'Ascend Mate 2' ], + 'Huawei S8520' => [ 'Huawei', 'S8520' ], + 'Huawei S8600' => [ 'Huawei', 'S8600' ], + 'Huawei T8100' => [ 'Huawei', 'T8100' ], + 'Huawei T8300' => [ 'Huawei', 'T8300' ], + 'Huawei ?T8500!' => [ 'Huawei', 'T8500' ], + 'Huawei T8600' => [ 'Huawei', 'T8600' ], + 'Huawei T8620' => [ 'Huawei', 'Ascend Y200T' ], + 'Huawei T8828' => [ 'Huawei', 'Ascend G305T' ], + 'Huawei T8830' => [ 'Huawei', 'Ascend G309T' ], + 'Huawei T8830 ?Pro!' => [ 'Huawei', 'Ascend G309T Pro' ], + 'Huawei T8833' => [ 'Huawei', 'Ascend Y300' ], + 'Huawei T8950!' => [ 'Huawei', 'Honor+' ], + 'Huawei T8951!' => [ 'Huawei', 'Ascend G510' ], + 'Huawei T9200' => [ 'Huawei', 'Ascend P1' ], + 'Huawei U8160' => [ 'Huawei', 'U8160' ], + 'Huawei U8220' => [ 'Huawei', 'U8220' ], + 'Huawei U8500' => [ 'Huawei', 'IDEOS X2' ], + 'Huawei ?U8520!' => [ 'Huawei', 'U8520 Duplex' ], + 'Huawei ?U8650!' => [ 'Huawei', 'Sonic' ], + 'Huawei U8652' => [ 'Huawei', 'Sonic' ], + 'Huawei U8661' => [ 'Huawei', 'Sonic+' ], + 'Huawei U8665' => [ 'Huawei', 'Fusion 2' ], + 'Huawei U8666!' => [ 'Huawei', 'Ascend Y201' ], + 'Huawei U8681' => [ 'Huawei', 'Ascend G312' ], + 'Huawei U8687' => [ 'Huawei', 'Chronos' ], + 'Huawei U8800!' => [ 'Huawei', 'IDEOS X5' ], + 'Huawei U8815!' => [ 'Huawei', 'Ascend G300' ], + 'Huawei U8818' => [ 'Huawei', 'Ascend G300' ], + 'Huawei U8825D' => [ 'Huawei', 'Ascend G330D' ], + 'Huawei U8825-1' => [ 'Huawei', 'Ascend G330' ], + 'HUAWEI G330-0100' => [ 'Huawei', 'Ascend G330' ], + 'Huawei u8833' => [ 'Huawei', 'Ascend Y300' ], + 'Huawei u8836d' => [ 'Huawei', 'Ascend G500' ], + 'Huawei U8850' => [ 'Huawei', 'Vision' ], + 'Huawei U8860' => [ 'Huawei', 'Honor' ], + 'Huawei Honor' => [ 'Huawei', 'Honor' ], + 'Huawei U8950!' => [ 'Huawei', 'Ascend G600' ], + 'HUAWEI U8951!' => [ 'Huawei', 'Ascend G510' ], + 'Huawei ?U9000!' => [ 'Huawei', 'Ascend X' ], + 'HUAWEI HONOR 2' => [ 'Huawei', 'Honor 2' ], + 'Huawei U9508' => [ 'Huawei', 'Honor 2' ], + 'Huawei ?U9508!' => [ 'Huawei', 'Honor 2 Quad-core' ], + 'Ascend D1' => [ 'Huawei', 'Ascend D1' ], + 'Huawei U9510!' => [ 'Huawei', 'Ascend D quad' ], + 'Huawei EDGE' => [ 'Huawei', 'Ascend P6' ], + 'Huawei Ascend P6' => [ 'Huawei', 'Ascend P6' ], + 'Ascend P7' => [ 'Huawei', 'Ascend P7' ], + 'Huawei IDEOS U8500' => [ 'Huawei', 'IDEOS X2' ], + 'Huawei IDEOS U8650' => [ 'Huawei', 'Sonic' ], + 'Huawei IDEOS X3' => [ 'Huawei', 'IDEOS X3' ], + 'Huawei Ideos X5!' => [ 'Huawei', 'IDEOS X5' ], + 'Huawei X6' => [ 'Huawei', 'IDEOS X6' ], + 'Huawei SONIC' => [ 'Huawei', 'Sonic' ], + 'Huawei 8100-9' => [ 'Huawei', 'U8100' ], + 'Huawei Ascend G 300' => [ 'Huawei', 'Ascend G300' ], + 'Huawei G300' => [ 'Huawei', 'Ascend G300' ], + 'Ascend G300' => [ 'Huawei', 'Ascend G300' ], + 'Ascend G301' => [ 'Huawei', 'Ascend G301' ], + 'Ascend G330' => [ 'Huawei', 'Ascend G330' ], + 'Huawei G350!' => [ 'Huawei', 'Ascend G350' ], + 'Huawei ?G510!' => [ 'Huawei', 'Ascend G510' ], + 'Ascend G510c' => [ 'Huawei', 'Ascend G510c' ], + 'Ascend G510' => [ 'Huawei', 'Ascend G510' ], + 'Huawei G520!' => [ 'Huawei', 'Ascend G520' ], + 'HUAWEI G521!' => [ 'Huawei', 'Ascend G521' ], + 'Huawei G525!' => [ 'Huawei', 'Ascend G525' ], + 'HUAWEI Ascend G525' => [ 'Huawei', 'Ascend G525' ], + 'Ascend G600' => [ 'Huawei', 'Ascend G600' ], + 'Huawei G606!' => [ 'Huawei', 'Ascend G606' ], + 'Huawei G610!' => [ 'Huawei', 'Ascend G610' ], + 'Huawei G615!' => [ 'Huawei', 'Ascend G615' ], + 'HUAWEI G616!' => [ 'Huawei', 'Ascend G616' ], + 'Huawei G620!' => [ 'Huawei', 'Ascend G620' ], + 'Huawei G621!' => [ 'Huawei', 'Ascend G621' ], + 'Huawei G628!' => [ 'Huawei', 'Ascend G628' ], + 'Huawei G630!' => [ 'Huawei', 'Ascend G630' ], + 'HUAWEI G660!' => [ 'Huawei', 'Ascend G660' ], + 'Huawei G700!' => [ 'Huawei', 'Ascend G700' ], + 'Huawei G701!' => [ 'Huawei', 'Ascend G701' ], + 'Huawei ?G716!' => [ 'Huawei', 'Ascend G716' ], + 'Huawei G718!' => [ 'Huawei', 'Ascend G718' ], + 'Huawei G730!' => [ 'Huawei', 'Ascend G730' ], + 'Huawei G750!' => [ 'Huawei', 'Ascend G750' ], + 'Huawei G760-(L01|L071)!' => [ 'Huawei', 'Ascend G760' ], + 'Huawei G760S-(UL00)!' => [ 'Huawei', 'Ascend G760' ], + 'Huawei Y210!' => [ 'Huawei', 'Ascend Y210' ], + 'Ascend Y201PRO' => [ 'Huawei', 'Ascend Y210 Pro' ], + 'Huawei Y ?220T!' => [ 'Huawei', 'Ascend Y220' ], + 'Huawei Y-220T' => [ 'Huawei', 'Ascend Y220' ], + 'Huawei Y220-(T10)!' => [ 'Huawei', 'Ascend Y220' ], + 'HUAWEI Y221-(U03|U12|U22)!' => [ 'Huawei', 'Ascend Y221' ], + 'Huawei ?Y300!' => [ 'Huawei', 'Ascend Y300' ], + 'Ascend Y300' => [ 'Huawei', 'Ascend Y300' ], + 'Huawei Ascend Y300' => [ 'Huawei', 'Ascend Y300' ], + 'Huawei Y301!' => [ 'Huawei', 'Ascend Y301' ], + 'Huawei Y310!' => [ 'Huawei', 'Ascend Y310' ], + 'Huawei Y320!' => [ 'Huawei', 'Ascend Y320' ], + 'Huawei Y321!' => [ 'Huawei', 'Ascend Y321' ], + 'Huawei Y325!' => [ 'Huawei', 'Ascend Y325' ], + 'Huawei Y330!' => [ 'Huawei', 'Ascend Y330' ], + 'HUAWEI Y336!' => [ 'Huawei', 'Ascend Y336' ], + 'HUAWEI Y360!' => [ 'Huawei', 'Ascend Y360' ], + 'Huawei Y500!' => [ 'Huawei', 'Ascend Y500' ], + 'Huawei Y511!' => [ 'Huawei', 'Ascend Y511' ], + 'Huawei Y516!' => [ 'Huawei', 'Ascend Y516' ], + 'Huawei Y518!' => [ 'Huawei', 'Ascend Y518' ], + 'HUAWEI Y520!' => [ 'Huawei', 'Ascend Y520' ], + 'Huawei Y523!' => [ 'Huawei', 'Ascend Y523' ], + 'Huawei Y530!' => [ 'Huawei', 'Ascend Y530' ], + 'HUAWEI Y535!' => [ 'Huawei', 'Ascend Y535' ], + 'HUAWEI Y536A1' => [ 'AT&T', 'Tribute' ], + 'HUAWEI Y536!' => [ 'Huawei', 'Ascend Y536' ], + 'HUAWEI Y540-(U01)!' => [ 'Huawei', 'Ascend Y540' ], + 'HUAWEI Y541!' => [ 'Huawei', 'Ascend Y541' ], + 'HUAWEI Y550' => [ 'Huawei', 'Ascend Y550' ], + 'HUAWEI Y550-(L01|L02|L03)!' => [ 'Huawei', 'Ascend Y550' ], + 'HUAWEI Y560-(CL00|L01|L02|L03|L23|U02|U12)!' => [ 'Huawei', 'Ascend Y560' ], + 'Huawei Y600-(U00|U20|U40|U151|U351)!' => [ 'Huawei', 'Ascend Y600' ], + 'HUAWEI Y600D-C00' => [ 'Huawei', 'Ascend Y600D' ], + 'HUAWEI Y610-U00' => [ 'Huawei', 'Ascend Y610' ], + 'HUAWEI Y618-T00' => [ 'Huawei', 'Ascend Y618' ], + 'HUAWEI Y625-(U13|U21|U32|U51)!' => [ 'Huawei', 'Ascend Y625' ], + 'HUAWEI Y635!' => [ 'Huawei', 'Ascend Y635' ], + 'Huawei Ascend X' => [ 'Huawei', 'Ascend X' ], + ], + 'unknown M200-L09' => [ 'Huawei', 'Mate 8' ], - 'HUAWEI CRR-(L09|CL00|CL20|UL00|UL20)!' => [ 'Huawei', 'Mate S' ], - 'Huawei S8520' => [ 'Huawei', 'S8520' ], - 'Huawei S8600' => [ 'Huawei', 'S8600' ], - 'Huawei T8100' => [ 'Huawei', 'T8100' ], - 'Huawei T8300' => [ 'Huawei', 'T8300' ], - 'Huawei ?T8500!' => [ 'Huawei', 'T8500' ], - 'Huawei T8600' => [ 'Huawei', 'T8600' ], - 'Huawei T8620' => [ 'Huawei', 'Ascend Y200T' ], - 'Huawei T8828' => [ 'Huawei', 'Ascend G305T' ], - 'Huawei T8830' => [ 'Huawei', 'Ascend G309T' ], - 'Huawei T8830 ?Pro!' => [ 'Huawei', 'Ascend G309T Pro' ], - 'Huawei T8833' => [ 'Huawei', 'Ascend Y300' ], - 'Huawei T8950!' => [ 'Huawei', 'Honor+' ], - 'Huawei T8951!' => [ 'Huawei', 'Ascend G510' ], - 'Huawei T9200' => [ 'Huawei', 'Ascend P1' ], - 'Huawei U8160' => [ 'Huawei', 'U8160' ], - 'Huawei U8220' => [ 'Huawei', 'U8220' ], - 'U8230' => [ 'Huawei', 'U8230' ], - 'Huawei U8500' => [ 'Huawei', 'IDEOS X2' ], - 'Huawei ?U8520!' => [ 'Huawei', 'U8520 Duplex' ], - 'U8520' => [ 'Huawei', 'U8520 Duplex' ], - 'Huawei ?U8650!' => [ 'Huawei', 'Sonic' ], - 'Huawei U8652' => [ 'Huawei', 'Sonic' ], - 'Huawei U8661' => [ 'Huawei', 'Sonic+' ], - 'U8665' => [ 'Huawei', 'Fusion 2' ], - 'Huawei U8665' => [ 'Huawei', 'Fusion 2' ], - 'Huawei U8666!' => [ 'Huawei', 'Ascend Y201' ], - 'Huawei U8681' => [ 'Huawei', 'Ascend G312' ], - 'Huawei U8687' => [ 'Huawei', 'Chronos' ], - 'Huawei U8800!' => [ 'Huawei', 'IDEOS X5' ], - 'Huawei U8815!' => [ 'Huawei', 'Ascend G300' ], - 'U8815N' => [ 'Huawei', 'Ascend G300' ], - 'U8815-51' => [ 'Huawei', 'Ascend G300' ], - 'Huawei U8818' => [ 'Huawei', 'Ascend G300' ], - 'U8816' => [ 'Huawei', 'Ascend G301' ], - 'U8812' => [ 'Huawei', 'Ascend G302D' ], - 'Huawei U8825D' => [ 'Huawei', 'Ascend G330D' ], - 'Huawei U8825-1' => [ 'Huawei', 'Ascend G330' ], - 'HUAWEI G330-0100' => [ 'Huawei', 'Ascend G330' ], - 'Huawei u8833' => [ 'Huawei', 'Ascend Y300' ], - 'U8832D' => [ 'Huawei', 'Ascend G500' ], - 'Huawei u8836d' => [ 'Huawei', 'Ascend G500' ], - 'Huawei U8850' => [ 'Huawei', 'Vision' ], - 'Huawei U8860' => [ 'Huawei', 'Honor' ], - 'Huawei Honor' => [ 'Huawei', 'Honor' ], - 'Huawei U8950!' => [ 'Huawei', 'Ascend G600' ], - 'HUAWEI U8951!' => [ 'Huawei', 'Ascend G510' ], - 'Huawei ?U9000!' => [ 'Huawei', 'Ascend X' ], - 'TIT-(AL00|L01)!' => [ 'Huawei', 'Enjoy 5' ], - 'HUAWEI TIT-(AL00|CL10|TL00|U02)!' => [ 'Huawei', 'Enjoy 5' ], - 'U9508' => [ 'Huawei', 'Honor 2' ], - 'HUAWEI HONOR 2' => [ 'Huawei', 'Honor 2' ], - 'Huawei U9508' => [ 'Huawei', 'Honor 2' ], - 'Huawei ?U9508!' => [ 'Huawei', 'Honor 2 Quad-core' ], - 'Huawei HN3-(U00|U01)!' => [ 'Huawei', 'Honor 3' ], - 'HN3-(U00|U01)!' => [ 'Huawei', 'Honor 3' ], - 'Huawei H30-(C00|T00|T10|U10)!' => [ 'Huawei', 'Honor 3C' ], - 'HUAWEI H30 (T00|U10)!' => [ 'Huawei', 'Honor 3C' ], - 'HONOR H30-(L01|L02|T00)!' => [ 'Huawei', 'Honor 3C' ], - 'H30-(C00|L02|T00|T10|U10)!' => [ 'Huawei', 'Honor 3C' ], - 'H30 U10' => [ 'Huawei', 'Honor 3C' ], - 'HW-H30-C00!' => [ 'Huawei', 'Honor 3C' ], - 'Hol-(T00|U10|U19)!' => [ 'Huawei', 'Honor 3C' ], - 'Huawei HOL-(T00|U10|U19)!' => [ 'Huawei', 'Honor 3C' ], 'Honor3c2G-T' => [ 'Huawei', 'Honor 3C' ], 'HUAWEI Honor 3c w' => [ 'Huawei', 'Honor 3C' ], - 'CHM-(CL00|TL00H|TL00|U01|UL00)!' => [ 'Huawei', 'Honor Play 4C' ], - 'SCL-(L01|L04|L001|L004|AL00|CL00|TL00|TL00H)!' => [ 'Huawei', 'Honor 4A' ], - 'HUAWEI SCL-(L01|L02|L03|L04|L21|TL00|U31)!' => [ 'Huawei', 'Honor 4A' ], - 'CHE-(TL00|TL00H)!' => [ 'Huawei', 'Honor 4X' ], - 'HW-Che1-CL10' => [ 'Huawei', 'Honor 4X' ], - 'Che1-(L04|CL10|CL20)!' => [ 'Huawei', 'Honor 4X' ], - 'Che2-(L11|L12|L23|TL00|UL00)!' => [ 'Huawei', 'Honor 4X' ], - 'KIW-(AL10|CL00|L21|L22|UL00|TL00|TL00H)!' => [ 'Huawei', 'Honor 5X' ], - 'H60-(J1|L01|L02|L03|L04|L11|L12|L21)!' => [ 'Huawei', 'Honor 6' ], - 'PE-(CL00|TL00|TL10|TL20|UL00)!' => [ 'Huawei', 'Honor 6 Plus' ], - 'PLK-(L01|AL10|CL00|UL00|TL00|TL01H)!' => [ 'Huawei', 'Honor 7' ], - 'HW-PLK-CL00' => [ 'Huawei', 'Honor 7' ], - 'ATH-(AL00|CL00)!' => [ 'Huawei', 'Honor 7i' ], - 'CHC-(U01|U03)!' => [ 'Huawei', 'G Play Mini' ], - 'KII-(L03|L05|L21|L23)!' => [ 'Huawei', 'GR5' ], - 'Ascend D1' => [ 'Huawei', 'Ascend D1' ], - 'Huawei U9510!' => [ 'Huawei', 'Ascend D quad' ], - 'HUAWEI D2' => [ 'Huawei', 'Ascend D2' ], - 'Huawei D2-(0082|2010|5000|6114)!' => [ 'Huawei', 'Ascend D2' ], - 'Huawei G6-(C00|L11|L22|L33|T00|U00|U10|U251)!' => [ 'Huawei', 'Ascend G6' ], - 'G6-L11' => [ 'Huawei', 'Ascend G6' ], - 'G7-(L01|L11|TL00)!' => [ 'Huawei', 'Ascend G7' ], - 'HUAWEI G7-(L01|L03|TL00|UL20)!' => [ 'Huawei', 'Ascend G7' ], - 'HUAWEI G7' => [ 'Huawei', 'Ascend G7' ], - 'HUAWEI RIO-(L01|L02|L03|AL00|UL00|CL00|TL00)!' => [ 'Huawei', 'Ascend G8' ], - 'Huawei SC-(CL00|UL10)!' => [ 'Huawei', 'Ascend GX1' ], - 'Huawei P2-(6011|6070)!' => [ 'Huawei', 'Ascend P2' ], - 'Huawei P6-(C00|U06|T00|T00V|VIP)!' => [ 'Huawei', 'Ascend P6' ], - 'Huawei P6 ?S-U06!' => [ 'Huawei', 'Ascend P6' ], - 'P6-(C00|U00|U06|T00)!' => [ 'Huawei', 'Ascend P6' ], - 'Huawei EDGE' => [ 'Huawei', 'Ascend P6' ], - 'Huawei Ascend P6' => [ 'Huawei', 'Ascend P6' ], - 'Ascend P7' => [ 'Huawei', 'Ascend P7' ], - 'Huawei Sophia-(L07|L10)!' => [ 'Huawei', 'Ascend P7' ], - 'Huawei P7-(L00|L05|L07|L09|L10|L11|L12)!' => [ 'Huawei', 'Ascend P7' ], - 'M100-(CL00|L09|TL00|UL00)!' => [ 'Huawei', 'Ascend P8' ], - 'GRA-(CL00|CL10|TL00|UL00|UL10)!' => [ 'Huawei', 'Ascend P8' ], - 'HUAWEI GRA-(CL00|CL10|L09|TL00|UL00|UL10)!' => [ 'Huawei', 'Ascend P8' ], 'Orange HUAWEI GRA-L09' => [ 'Huawei', 'Ascend P8' ], - 'HUAWEI ALE-(L04|CL00)!' => [ 'Huawei', 'Ascend P8 Lite' ], - 'HUAWEI ALEL04' => [ 'Huawei', 'Ascend P8 Lite' ], - 'ALE-(L02|L04|L21|L23|CL00|TL00|UL00)!' => [ 'Huawei', 'Ascend P8 Lite' ], - 'Huawei IDEOS U8500' => [ 'Huawei', 'IDEOS X2' ], - 'Huawei IDEOS U8650' => [ 'Huawei', 'Sonic' ], - 'Huawei IDEOS X3' => [ 'Huawei', 'IDEOS X3' ], - 'Huawei Ideos X5!' => [ 'Huawei', 'IDEOS X5' ], - 'Huawei X6' => [ 'Huawei', 'IDEOS X6' ], - 'Huawei SONIC' => [ 'Huawei', 'Sonic' ], - 'Huawei 8100-9' => [ 'Huawei', 'U8100' ], - 'Huawei Ascend G 300' => [ 'Huawei', 'Ascend G300' ], - 'Huawei G300' => [ 'Huawei', 'Ascend G300' ], - 'Ascend G300' => [ 'Huawei', 'Ascend G300' ], - 'Ascend G301' => [ 'Huawei', 'Ascend G301' ], - 'Ascend G330' => [ 'Huawei', 'Ascend G330' ], - 'Huawei G350!' => [ 'Huawei', 'Ascend G350' ], - 'G350-U151' => [ 'Huawei', 'Ascend G350' ], - 'Huawei ?G510!' => [ 'Huawei', 'Ascend G510' ], - 'Ascend G510c' => [ 'Huawei', 'Ascend G510c' ], - 'Ascend G510' => [ 'Huawei', 'Ascend G510' ], - 'Huawei G520!' => [ 'Huawei', 'Ascend G520' ], - 'HUAWEI G521!' => [ 'Huawei', 'Ascend G521' ], - 'G521-(L076|L176)!' => [ 'Huawei', 'Ascend G521' ], - 'Huawei G525!' => [ 'Huawei', 'Ascend G525' ], - 'HUAWEI Ascend G525' => [ 'Huawei', 'Ascend G525' ], - 'G526-(L11|L22|L33)!' => [ 'Huawei', 'Ascend G526' ], - 'G535-(L11)!' => [ 'Huawei', 'Ascend G535' ], - 'Ascend G600' => [ 'Huawei', 'Ascend G600' ], - 'Huawei G606!' => [ 'Huawei', 'Ascend G606' ], - 'Huawei G610!' => [ 'Huawei', 'Ascend G610' ], - 'G610[ -](T00|T11|U00)!' => [ 'Huawei', 'Ascend G610' ], - 'Huawei G615!' => [ 'Huawei', 'Ascend G615' ], - 'HUAWEI G616!' => [ 'Huawei', 'Ascend G616' ], - 'G616-T00' => [ 'Huawei', 'Ascend G616' ], - 'G618' => [ 'Huawei', 'Ascend G618' ], - 'Huawei G620!' => [ 'Huawei', 'Ascend G620' ], - 'G620-L75' => [ 'Huawei', 'Ascend G620' ], - 'G620S-(L01|L02|L03|UL00)!' => [ 'Huawei', 'Ascend G620S' ], - 'Huawei G621!' => [ 'Huawei', 'Ascend G621' ], - 'G621-(TL00|TL00M)!' => [ 'Huawei', 'Ascend G621' ], - 'Huawei G628!' => [ 'Huawei', 'Ascend G628' ], - 'G629-(UL00)!' => [ 'Huawei', 'Ascend G629' ], - 'Huawei G630!' => [ 'Huawei', 'Ascend G630' ], - 'G630-(U00|U10|U20|U251)!' => [ 'Huawei', 'Ascend G630' ], - 'HUAWEI G660!' => [ 'Huawei', 'Ascend G660' ], - 'Huawei G700!' => [ 'Huawei', 'Ascend G700' ], - 'Huawei G701!' => [ 'Huawei', 'Ascend G701' ], - 'Huawei ?G716!' => [ 'Huawei', 'Ascend G716' ], - 'Huawei G718!' => [ 'Huawei', 'Ascend G718' ], - 'Huawei G730!' => [ 'Huawei', 'Ascend G730' ], - 'G735-(L03|L23)!' => [ 'Huawei', 'Ascend G735' ], - 'G740-L00' => [ 'Huawei', 'Ascend G740' ], - 'Huawei G750!' => [ 'Huawei', 'Ascend G750' ], - 'G750-(T00|T01)!' => [ 'Huawei', 'Ascend G750' ], - 'Huawei G760-(L01|L071)!' => [ 'Huawei', 'Ascend G760' ], - 'G760-(L01|TL00)!' => [ 'Huawei', 'Ascend G760' ], - 'Huawei G760S-(UL00)!' => [ 'Huawei', 'Ascend G760' ], - 'Huawei Y210!' => [ 'Huawei', 'Ascend Y210' ], - 'Ascend Y201PRO' => [ 'Huawei', 'Ascend Y210 Pro' ], - 'Y220-(U00|U05|U10)!' => [ 'Huawei', 'Ascend Y220' ], - 'Y220T' => [ 'Huawei', 'Ascend Y220' ], - 'Huawei Y ?220T!' => [ 'Huawei', 'Ascend Y220' ], - 'Huawei Y-220T' => [ 'Huawei', 'Ascend Y220' ], - 'Huawei Y220-(T10)!' => [ 'Huawei', 'Ascend Y220' ], - 'HUAWEI Y221-(U03|U12|U22)!' => [ 'Huawei', 'Ascend Y221' ], - 'Huawei ?Y300!' => [ 'Huawei', 'Ascend Y300' ], - 'Ascend Y300' => [ 'Huawei', 'Ascend Y300' ], - 'Huawei Ascend Y300' => [ 'Huawei', 'Ascend Y300' ], - 'Huawei Y301!' => [ 'Huawei', 'Ascend Y301' ], - 'Huawei Y310!' => [ 'Huawei', 'Ascend Y310' ], - 'Huawei Y320!' => [ 'Huawei', 'Ascend Y320' ], - 'Y320-U10' => [ 'Huawei', 'Ascend Y320' ], - 'Huawei Y321!' => [ 'Huawei', 'Ascend Y321' ], - 'Huawei Y325!' => [ 'Huawei', 'Ascend Y325' ], - 'Y325-T00' => [ 'Huawei', 'Ascend Y325' ], - 'Huawei Y330!' => [ 'Huawei', 'Ascend Y330' ], - 'Y330-U11' => [ 'Huawei', 'Ascend Y330' ], - 'HUAWEI Y336!' => [ 'Huawei', 'Ascend Y336' ], - 'Y340-U081' => [ 'Huawei', 'Ascend Y340' ], - 'HUAWEI Y360!' => [ 'Huawei', 'Ascend Y360' ], - 'Huawei Y500!' => [ 'Huawei', 'Ascend Y500' ], - 'Huawei Y511!' => [ 'Huawei', 'Ascend Y511' ], - 'Y511' => [ 'Huawei', 'Ascend Y511' ], - 'Y511-U00!' => [ 'Huawei', 'Ascend Y511' ], - 'Huawei Y516!' => [ 'Huawei', 'Ascend Y516' ], - 'Huawei Y518!' => [ 'Huawei', 'Ascend Y518' ], - 'HUAWEI Y520!' => [ 'Huawei', 'Ascend Y520' ], - 'Huawei Y523!' => [ 'Huawei', 'Ascend Y523' ], - 'Huawei Y530!' => [ 'Huawei', 'Ascend Y530' ], - 'HUAWEI Y535!' => [ 'Huawei', 'Ascend Y535' ], - 'HUAWEI Y536A1' => [ 'AT&T', 'Tribute' ], - 'HUAWEI Y536!' => [ 'Huawei', 'Ascend Y536' ], - 'Y536A1' => [ 'Huawei', 'Ascend Y536' ], - 'Y540-U01' => [ 'Huawei', 'Ascend Y540' ], - 'HUAWEI Y540-(U01)!' => [ 'Huawei', 'Ascend Y540' ], - 'HUAWEI Y541!' => [ 'Huawei', 'Ascend Y541' ], - 'Y541-U02' => [ 'Huawei', 'Ascend Y541' ], - 'HUAWEI Y550' => [ 'Huawei', 'Ascend Y550' ], - 'HUAWEI Y550-(L01|L02|L03)!' => [ 'Huawei', 'Ascend Y550' ], - 'HUAWEI Y560-(CL00|L01|L02|L03|L23|U02|U12)!' => [ 'Huawei', 'Ascend Y560' ], - 'Y560-L01' => [ 'Huawei', 'Ascend Y560' ], - 'Huawei Y600-(U00|U20|U40|U151|U351)!' => [ 'Huawei', 'Ascend Y600' ], - 'Y600-U00' => [ 'Huawei', 'Ascend Y600' ], - 'HUAWEI Y600D-C00' => [ 'Huawei', 'Ascend Y600D' ], - 'HUAWEI Y610-U00' => [ 'Huawei', 'Ascend Y610' ], - 'HUAWEI Y618-T00' => [ 'Huawei', 'Ascend Y618' ], - 'Y618-T00' => [ 'Huawei', 'Ascend Y618' ], - 'HUAWEI Y625-(U13|U21|U32|U51)!' => [ 'Huawei', 'Ascend Y625' ], - 'HUAWEI Y635!' => [ 'Huawei', 'Ascend Y635' ], - 'Y635-(L01|L21|L22)!' => [ 'Huawei', 'Ascend Y635' ], - 'Huawei Ascend X' => [ 'Huawei', 'Ascend X' ], 'FUSIONideos' => [ 'Huawei', 'IDEOS' ], 'Gnappo Ideos' => [ 'Huawei', 'IDEOS' ], - 'Ideos' => [ 'Huawei', 'IDEOS' ], - 'IDEOS X1' => [ 'Huawei', 'IDEOS X1' ], - 'IDEOS X5' => [ 'Huawei', 'IDEOS X5' ], - 'IDEOS X5 PRO' => [ 'Huawei', 'IDEOS X5 Pro' ], - 'IDEOS S7!' => [ 'Huawei', 'IDEOS S7', DeviceType::TABLET ], + + 'IDEOS!!' => [ + 'Ideos' => [ 'Huawei', 'IDEOS' ], + 'IDEOS X1' => [ 'Huawei', 'IDEOS X1' ], + 'IDEOS X5' => [ 'Huawei', 'IDEOS X5' ], + 'IDEOS X5 PRO' => [ 'Huawei', 'IDEOS X5 Pro' ], + 'IDEOS S7!' => [ 'Huawei', 'IDEOS S7', DeviceType::TABLET ], + ], + 'Huawei S7' => [ 'Huawei', 'IDEOS S7', DeviceType::TABLET ], 'SONIC' => [ 'Huawei', 'Sonic' ], 'Kyivstar Aqua' => [ 'Huawei', 'Sonic' ], 'Lucky Ultra Sonic U8650' => [ 'Huawei', 'Sonic' ], 'MTC Android' => [ 'Huawei', 'U8110' ], - 'A01HW' => [ 'Huawei', 'A01HW', DeviceType::TABLET, 'carrier' => 'EMOBILE' ], - 'S31HW' => [ 'Huawei', 'Pocket WiFi S S31HW', 'carrier' => 'EMOBILE' ], - 'S41HW' => [ 'Huawei', 'Pocket WiFi S II S41HW', 'carrier' => 'EMOBILE' ], - 'S42HW' => [ 'Huawei', 'smart bar S42HW', 'carrier' => 'EMOBILE' ], - '007HW' => [ 'Huawei', 'Vision 007HW', 'carrier' => 'Softbank' ], - '201HW' => [ 'Huawei', 'STREAM 201HW', 'carrier' => 'Softbank' ], - '204HW' => [ 'Huawei', '204HW', 'carrier' => 'Softbank' ], - '301HW' => [ 'Huawei', 'Pocket WiFi 301HW', 'carrier' => 'Softbank' ], - '302HW' => [ 'Huawei', 'STREAM S 302HW', 'carrier' => 'Y! Mobile' ], - '403HW' => [ 'Huawei', 'MediaPad M1 8.0 403HW', DeviceType::TABLET, 'carrier' => 'Y! Mobile' ], + + '[0-9AS][0-9]{2,2}HW!!' => [ + 'A01HW' => [ 'Huawei', 'A01HW', DeviceType::TABLET, 'carrier' => 'EMOBILE' ], + 'S31HW' => [ 'Huawei', 'Pocket WiFi S S31HW', 'carrier' => 'EMOBILE' ], + 'S41HW' => [ 'Huawei', 'Pocket WiFi S II S41HW', 'carrier' => 'EMOBILE' ], + 'S42HW' => [ 'Huawei', 'smart bar S42HW', 'carrier' => 'EMOBILE' ], + '007HW' => [ 'Huawei', 'Vision 007HW', 'carrier' => 'Softbank' ], + '201HW' => [ 'Huawei', 'STREAM 201HW', 'carrier' => 'Softbank' ], + '204HW' => [ 'Huawei', '204HW', 'carrier' => 'Softbank' ], + '301HW' => [ 'Huawei', 'Pocket WiFi 301HW', 'carrier' => 'Softbank' ], + '302HW' => [ 'Huawei', 'STREAM S 302HW', 'carrier' => 'Y! Mobile' ], + '402HW' => [ 'Huawei', 'MediaPad 10 Link+ 402HW', DeviceType::TABLET, 'carrier' => 'Softbank' ], + '403HW' => [ 'Huawei', 'MediaPad M1 8.0 403HW', DeviceType::TABLET, 'carrier' => 'Y! Mobile' ], + '503HW' => [ 'Huawei', 'LUMIERE 503HW', 'carrier' => 'Y! Mobile' ], + ], + + 'CM980' => [ 'Huawei', 'Evolution II' ], + 'CM990' => [ 'Huawei', 'Evolución 3' ], 'UM840' => [ 'Huawei', 'Evolution' ], + 'M310' => [ 'Huawei', 'MediaQ M310', DeviceType::TELEVISION ], 'M860' => [ 'Huawei', 'Ascend' ], 'M865' => [ 'Huawei', 'Ascend II' ], 'M886' => [ 'Huawei', 'Glory' ], - 'C8150' => [ 'Huawei', 'IDEOS' ], - 'C8500!' => [ 'Huawei', 'C8500' ], - 'C8600' => [ 'Huawei', 'C8600' ], - 'C8650!' => [ 'Huawei', 'C8650' ], - 'C8800' => [ 'Huawei', 'C8800' ], - 'C8810' => [ 'Huawei', 'Ascend G300C' ], - 'C8812!' => [ 'Huawei', 'Ascend C8812' ], - 'C8815!' => [ 'Huawei', 'Ascend C8815' ], - 'C8860!' => [ 'Huawei', 'Honor' ], - 'CM980' => [ 'Huawei', 'Evolution II' ], 'S8600' => [ 'Huawei', 'S8600' ], - 'T8620' => [ 'Huawei', 'Ascend Y200T' ], - 'T8808!' => [ 'Huawei', 'Ascend G306T' ], - 'T8830!' => [ 'Huawei', 'Ascend G309T' ], - 'T9200' => [ 'Huawei', 'Ascend P1' ], - 'T9510E' => [ 'Huawei', 'Ascend D1 Quad XL' ], - 'U8100' => [ 'Huawei', 'U8100' ], - 'U8110' => [ 'Huawei', 'U8110' ], - 'U8120' => [ 'Huawei', 'U8120' ], - 'U8180' => [ 'Huawei', 'IDEOS X1' ], - 'U8300' => [ 'Huawei', 'U8300' ], - 'U8350' => [ 'Huawei', 'Boulder' ], - 'U8150' => [ 'Huawei', 'IDEOS' ], - 'U8160' => [ 'Huawei', 'U8160' ], - 'U8180' => [ 'Huawei', 'IDEOS X1' ], - 'U8185' => [ 'Huawei', 'Ascend Y100' ], - 'U8186' => [ 'Huawei', 'Ascend Y101' ], - 'U8500' => [ 'Huawei', 'IDEOS X2' ], - 'U8500 HiQQ' => [ 'Huawei', 'U8500 HiQQ Edition' ], - 'U8510' => [ 'Huawei', 'IDEOS X3' ], - 'U8600' => [ 'Huawei', 'U8600' ], - 'U8650!' => [ 'Huawei', 'Sonic' ], - 'U8651!' => [ 'Huawei', 'Talon U8651' ], - 'U8652!' => [ 'Huawei', 'Fusion U8652' ], - 'U8655!' => [ 'Huawei', 'Ascend Y200' ], - 'U8660' => [ 'Huawei', 'Sonic' ], - 'U8666!' => [ 'Huawei', 'Ascend Y201' ], - 'U8667' => [ 'Huawei', 'U8667' ], - 'U8800 ?Pro!' => [ 'Huawei', 'IDEOS X5 Pro' ], - 'U8800!' => [ 'Huawei', 'IDEOS X5' ], - 'U8812D' => [ 'Huawei', 'Ascend G302D' ], - 'U8815' => [ 'Huawei', 'Ascend G300' ], - 'U8818' => [ 'Huawei', 'Ascend G300' ], - 'U8820' => [ 'Huawei', 'Titan' ], - 'U8836D' => [ 'Huawei', 'Ascend G500' ], - 'U8850' => [ 'Huawei', 'Vision' ], - 'U8860!' => [ 'Huawei', 'Honor' ], - 'U9000' => [ 'Huawei', 'Ascend X' ], - 'U9200!' => [ 'Huawei', 'Ascend P1' ], - 'U9202!' => [ 'Huawei', 'Ascend P1' ], - 'U9500' => [ 'Huawei', 'Ascend D1' ], - 'U9500E' => [ 'Huawei', 'Ascend D1 XL' ], - 'U9501L' => [ 'Huawei', 'Ascend D LTE' ], - 'U9510!' => [ 'Huawei', 'Ascend D quad' ], + + 'C8[0-9]{3,3}!!' => [ + 'C8150' => [ 'Huawei', 'IDEOS' ], + 'C8500!' => [ 'Huawei', 'C8500' ], + 'C8600' => [ 'Huawei', 'C8600' ], + 'C8650!' => [ 'Huawei', 'C8650' ], + 'C8800' => [ 'Huawei', 'C8800' ], + 'C8810' => [ 'Huawei', 'Ascend G300C' ], + 'C8812!' => [ 'Huawei', 'Ascend C8812' ], + 'C8815!' => [ 'Huawei', 'Ascend C8815' ], + 'C8860!' => [ 'Huawei', 'Honor' ], + ], + + 'T[89][0-9]{3,3}!!' => [ + 'T8620' => [ 'Huawei', 'Ascend Y200T' ], + 'T8808!' => [ 'Huawei', 'Ascend G306T' ], + 'T8830!' => [ 'Huawei', 'Ascend G309T' ], + 'T9200' => [ 'Huawei', 'Ascend P1' ], + 'T9510E' => [ 'Huawei', 'Ascend D1 Quad XL' ], + ], + + 'U[89][0-9]{3,3}!!' => [ + 'U8100' => [ 'Huawei', 'U8100' ], + 'U8110' => [ 'Huawei', 'U8110' ], + 'U8120' => [ 'Huawei', 'U8120' ], + 'U8180' => [ 'Huawei', 'IDEOS X1' ], + 'U8300' => [ 'Huawei', 'U8300' ], + 'U8350' => [ 'Huawei', 'Boulder' ], + 'U8150' => [ 'Huawei', 'IDEOS' ], + 'U8160' => [ 'Huawei', 'U8160' ], + 'U8180' => [ 'Huawei', 'IDEOS X1' ], + 'U8185' => [ 'Huawei', 'Ascend Y100' ], + 'U8186' => [ 'Huawei', 'Ascend Y101' ], + 'U8230' => [ 'Huawei', 'U8230' ], + 'U8500' => [ 'Huawei', 'IDEOS X2' ], + 'U8500 HiQQ' => [ 'Huawei', 'U8500 HiQQ Edition' ], + 'U8510' => [ 'Huawei', 'IDEOS X3' ], + 'U8520' => [ 'Huawei', 'U8520 Duplex' ], + 'U8600' => [ 'Huawei', 'U8600' ], + 'U8650!' => [ 'Huawei', 'Sonic' ], + 'U8651!' => [ 'Huawei', 'Talon U8651' ], + 'U8652!' => [ 'Huawei', 'Fusion U8652' ], + 'U8655!' => [ 'Huawei', 'Ascend Y200' ], + 'U8660' => [ 'Huawei', 'Sonic' ], + 'U8665' => [ 'Huawei', 'Fusion 2' ], + 'U8666!' => [ 'Huawei', 'Ascend Y201' ], + 'U8667' => [ 'Huawei', 'U8667' ], + 'U8800 ?Pro!' => [ 'Huawei', 'IDEOS X5 Pro' ], + 'U8800!' => [ 'Huawei', 'IDEOS X5' ], + 'U8812' => [ 'Huawei', 'Ascend G302D' ], + 'U8812D' => [ 'Huawei', 'Ascend G302D' ], + 'U8815N' => [ 'Huawei', 'Ascend G300' ], + 'U8815-51' => [ 'Huawei', 'Ascend G300' ], + 'U8815' => [ 'Huawei', 'Ascend G300' ], + 'U8816' => [ 'Huawei', 'Ascend G301' ], + 'U8818' => [ 'Huawei', 'Ascend G300' ], + 'U8820' => [ 'Huawei', 'Titan' ], + 'U8832D' => [ 'Huawei', 'Ascend G500' ], + 'U8836D' => [ 'Huawei', 'Ascend G500' ], + 'U8850' => [ 'Huawei', 'Vision' ], + 'U8860!' => [ 'Huawei', 'Honor' ], + 'U9000' => [ 'Huawei', 'Ascend X' ], + 'U9200!' => [ 'Huawei', 'Ascend P1' ], + 'U9202!' => [ 'Huawei', 'Ascend P1' ], + 'U9500' => [ 'Huawei', 'Ascend D1' ], + 'U9500E' => [ 'Huawei', 'Ascend D1 XL' ], + 'U9501L' => [ 'Huawei', 'Ascend D LTE' ], + 'U9508' => [ 'Huawei', 'Honor 2' ], + 'U9510!' => [ 'Huawei', 'Ascend D quad' ], + ], + 'Comet' => [ 'Huawei', 'Comet' ], 'DroniX-0.5' => [ 'Huawei', 'U8180' ], 'TSP21' => [ 'Huawei', 'U8110' ], + 'GS02' => [ 'Huawei', 'GS02', 'carrier' => 'EMOBILE' ], 'GS03' => [ 'Huawei', 'GS03', 'carrier' => 'EMOBILE' ], 'GL07S' => [ 'Huawei', 'STREAM X GL07S', 'carrier' => 'EMOBILE' ], 'HW-01E' => [ 'Huawei', 'Ascend HW-01E', 'carrier' => 'DoCoMo' ], 'HW-03E' => [ 'Huawei', 'Ascend D2 HW-03E', 'carrier' => 'DoCoMo' ], - '402HW' => [ 'Huawei', 'MediaPad 10 Link+ 402HW', DeviceType::TABLET, 'carrier' => 'Softbank' ], - '503HW' => [ 'Huawei', 'LUMIERE 503HW', 'carrier' => 'Y! Mobile' ], 'H866C' => [ 'Huawei', 'Ascend Y H866C' ], 'H882L' => [ 'Huawei', 'Ascend Y301-A' ], - 'M310' => [ 'Huawei', 'MediaQ M310', DeviceType::TELEVISION ], - 'USCCADR3305' => [ 'Huawei', 'Ascend II' ], - 'USCCADR3310' => [ 'Huawei', 'Ascend II' ], + + 'USCCADR[0-9]{4,4}!!' => [ + 'USCCADR3305' => [ 'Huawei', 'Ascend II' ], + 'USCCADR3310' => [ 'Huawei', 'Ascend II' ], + ], 'HYUNDAI!!' => [ 'HYUNDAI H6' => [ 'Hyundai', 'Storm H6' ], + 'HYUNDAI H6 B' => [ 'Hyundai', 'Storm H6' ], 'HYUNDAI H8' => [ 'Hyundai', 'H8' ], 'HYUNDAI H8Q' => [ 'Hyundai', 'H8Q' ], 'HYUNDAI H9' => [ 'Hyundai', 'H9' ], + 'HYUNDAI H10' => [ 'Hyundai', 'H10' ], 'HYUNDAI H11' => [ 'Hyundai', 'H11' ], 'Hyundai HT-10G' => [ 'Hyundai', 'HT-10G', DeviceType::TABLET ], 'HYUNDAI Q5' => [ 'Hyundai', 'Q5' ], @@ -5094,20 +5333,24 @@ 'Neon9' => [ 'i-Joy', 'Neon9', DeviceType::TABLET ], 'Planet II v2' => [ 'i-Joy', 'Planet II', DeviceType::TABLET ], 'Sygnus' => [ 'i-Joy', 'Sygnus', DeviceType::TABLET ], - 'NMP-302w' => [ 'IAdea', 'MBR-1100', DeviceType::SIGNAGE ], - 'MBR-1100' => [ 'IAdea', 'MBR-1100', DeviceType::SIGNAGE ], - 'XDK-1160' => [ 'IAdea', 'XDK-1160', DeviceType::SIGNAGE ], - 'XDK-1560' => [ 'IAdea', 'XDK-1560', DeviceType::SIGNAGE ], - 'XDS-0548' => [ 'IAdea', 'XDS-0548', DeviceType::SIGNAGE ], - 'XDS-1078' => [ 'IAdea', 'XDS-1078', DeviceType::SIGNAGE ], - 'XDS-2370' => [ 'IAdea', 'XDS-2370', DeviceType::SIGNAGE ], - 'XMP-6200' => [ 'IAdea', 'XMP-6200', DeviceType::SIGNAGE ], - 'XMP-6400' => [ 'IAdea', 'XMP-6400', DeviceType::SIGNAGE ], - 'XMP-7300' => [ 'IAdea', 'XMP-7300', DeviceType::SIGNAGE ], + + '(NMP|MBR|XDK|XDS|XMP)\-!!' => [ + 'NMP-302w' => [ 'IAdea', 'MBR-1100', DeviceType::SIGNAGE ], + 'MBR-1100' => [ 'IAdea', 'MBR-1100', DeviceType::SIGNAGE ], + 'XDK-1160' => [ 'IAdea', 'XDK-1160', DeviceType::SIGNAGE ], + 'XDK-1560' => [ 'IAdea', 'XDK-1560', DeviceType::SIGNAGE ], + 'XDS-0548' => [ 'IAdea', 'XDS-0548', DeviceType::SIGNAGE ], + 'XDS-1078' => [ 'IAdea', 'XDS-1078', DeviceType::SIGNAGE ], + 'XDS-2370' => [ 'IAdea', 'XDS-2370', DeviceType::SIGNAGE ], + 'XMP-6200' => [ 'IAdea', 'XMP-6200', DeviceType::SIGNAGE ], + 'XMP-6400' => [ 'IAdea', 'XMP-6400', DeviceType::SIGNAGE ], + 'XMP-7300' => [ 'IAdea', 'XMP-7300', DeviceType::SIGNAGE ], + ], '(iBall )?Andi!!' => [ 'Andi3n' => [ 'iBall', 'Andi 3n' ], 'iBall Andi3e' => [ 'iBall', 'Andi 3e' ], + 'iBall Andi3.5' => [ 'iBall', 'Andi 3.5' ], 'Andi 3.5i' => [ 'iBall', 'Andi 3.5i' ], 'Andi3.5r' => [ 'iBall', 'Andi 3.5r' ], 'iBall Andi3.5 Classique' => [ 'iBall', 'Andi 3.5 Classique' ], @@ -5126,6 +5369,7 @@ 'iBall Andi4P IPS GEM' => [ 'iBall', 'Andi 4P Gem' ], 'iBall Andi4P IPS Velvet' => [ 'iBall', 'Andi 4P Velvet' ], 'Andi4U Frisbee' => [ 'iBall', 'Andi 4U Frisbee' ], + 'iBall Andi4.3J' => [ 'iBall', 'Andi 4.3J' ], 'iBall Andi4.3J+' => [ 'iBall', 'Andi 4.3J' ], 'iBall Andi4.5d quadro' => [ 'iBall', 'Andi 4.5d Quadro' ], 'iBALL Andi4.5h' => [ 'iBall', 'Andi 4.5h' ], @@ -5157,9 +5401,14 @@ 'iBall Slide i6030' => [ 'iBall', 'Slide i6030', DeviceType::TABLET ], 'iBall Slide 6309i' => [ 'iBall', 'Slide i6309', DeviceType::TABLET ], 'iBall Slide 6318i' => [ 'iBall', 'Slide i6318', DeviceType::TABLET ], + 'iBall Slide i6516' => [ 'iBall', 'Slide i6516', DeviceType::TABLET ], 'iBall Slide i7011' => [ 'iBall', 'Slide i7011', DeviceType::TABLET ], + 'iBall Slide i7119' => [ 'iBall', 'Slide i7119', DeviceType::TABLET ], 'iBall Slide i9702' => [ 'iBall', 'Slide i9702', DeviceType::TABLET ], 'iBall Slide 3G7271' => [ 'iBall', 'Slide 3G 7271', DeviceType::TABLET ], + 'iBall Slide 3G 7307' => [ 'iBall', 'Slide 3G 7307', DeviceType::TABLET ], + 'IBall 3G 7316' => [ 'iBall', 'Slide 3G 7316', DeviceType::TABLET ], + 'iBall Slide 3G 7316' => [ 'iBall', 'Slide 3G 7316', DeviceType::TABLET ], 'iBall Slide 3G 7334' => [ 'iBall', 'Slide 3G 7334', DeviceType::TABLET ], 'iBall Slide 3G Q1035' => [ 'iBall', 'Slide 3G Q1035', DeviceType::TABLET ], ], @@ -5263,8 +5512,11 @@ 'IMO S67' => [ 'IMO', 'Blast S67' ], 'IMO S68' => [ 'IMO', 'Snow S68' ], 'IMO S70' => [ 'IMO', 'Miracle 2 S70' ], + 'IMO S78' => [ 'IMO', 'Glory S78' ], + 'IMO S78 NEW STYLE' => [ 'IMO', 'Glory S78' ], 'IMO S79' => [ 'IMO', 'Explorer S79' ], 'IMO S79 EXPLORER' => [ 'IMO', 'Explorer S79' ], + 'IMO S79 MIUI' => [ 'IMO', 'Explorer S79' ], 'IMO S87' => [ 'IMO', 'Raptor S87' ], 'Imo Raptor S87' => [ 'IMO', 'Raptor S87' ], 'IMO S88' => [ 'IMO', 'Discovery S88' ], @@ -5279,6 +5531,8 @@ 'IMO X5' => [ 'IMO', 'Tab X5 Mars', DeviceType::TABLET ], 'IMO TAB X9' => [ 'IMO', 'Tab X9 Claire', DeviceType::TABLET ], 'IMO Y-ONE' => [ 'IMO', 'Tab Y-One', DeviceType::TABLET ], + 'IMO Y5' => [ 'IMO', 'Tab Y3', DeviceType::TABLET ], + 'IMO Y5' => [ 'IMO', 'Tab Y5 i-Play', DeviceType::TABLET ], 'IMO Z-ONE' => [ 'IMO', 'Tab Z-One', DeviceType::TABLET ], 'IMO Z6' => [ 'IMO', 'Tab Z6 Avengers', DeviceType::TABLET ], 'IMO Z7' => [ 'IMO', 'Tab Z7 Orion', DeviceType::TABLET ], @@ -5291,17 +5545,25 @@ 'Im(Smart|PAD)!!' => [ 'ImSmart 1.40' => [ 'Impression', 'ImSMART 1.40' ], + 'ImPAD 0114' => [ 'Impression', 'ImPAD 0114', DeviceType::TABLET ], + 'ImPAD 0413' => [ 'Impression', 'ImPAD 0413', DeviceType::TABLET ], 'ImPAD1001' => [ 'Impression', 'ImPAD 1001', DeviceType::TABLET ], 'ImPAD1311' => [ 'Impression', 'ImPAD 1311', DeviceType::TABLET ], 'ImPAD 1412' => [ 'Impression', 'ImPAD 1412', DeviceType::TABLET ], 'ImPAD 1412 rev2' => [ 'Impression', 'ImPAD 1412', DeviceType::TABLET ], + 'ImPAD 2113' => [ 'Impression', 'ImPAD 2113', DeviceType::TABLET ], 'ImPAD 2413' => [ 'Impression', 'ImPAD 2413', DeviceType::TABLET ], + 'ImPAD 3113' => [ 'Impression', 'ImPAD 3113', DeviceType::TABLET ], 'ImPAD 3412' => [ 'Impression', 'ImPAD 3412', DeviceType::TABLET ], 'ImPAD 4213' => [ 'Impression', 'ImPAD 4213', DeviceType::TABLET ], + 'ImPAD 4313' => [ 'Impression', 'ImPAD 4313', DeviceType::TABLET ], 'ImPAD 6213M' => [ 'Impression', 'ImPAD 6213M', DeviceType::TABLET ], 'ImPAD6213M v2' => [ 'Impression', 'ImPAD 6213M', DeviceType::TABLET ], + 'ImPAD 6413' => [ 'Impression', 'ImPAD 6413', DeviceType::TABLET ], 'ImPAD 8213' => [ 'Impression', 'ImPAD 8213', DeviceType::TABLET ], 'ImPAD 8901' => [ 'Impression', 'ImPAD 8901', DeviceType::TABLET ], + 'ImPAD 9702' => [ 'Impression', 'ImPAD 9702', DeviceType::TABLET ], + 'ImPAD9704' => [ 'Impression', 'ImPAD 9704', DeviceType::TABLET ], 'ImPAD 9707' => [ 'Impression', 'ImPAD 9707', DeviceType::TABLET ], ], @@ -5517,7 +5779,11 @@ 'itel it1500' => [ 'iTel', 'IT1500' ], ], - 'IVIO DE38' => [ 'Ivio', 'DE38' ], + 'IVIO!!' => [ + 'IVIO-DG20' => [ 'Ivio', 'DG20' ], + 'IVIO DE38' => [ 'Ivio', 'DE38' ], + ], + 'iwoo i900' => [ 'iwoo', 'i900' ], '(JIAYU|JY-)!!' => [ @@ -5527,6 +5793,7 @@ 'JY-G1' => [ 'Jiayu', 'G1' ], 'JY-G2' => [ 'Jiayu', 'G2' ], 'JY-G2 DualCore(Standard)' => [ 'Jiayu', 'G2' ], + 'JY-G2 Plus' => [ 'Jiayu', 'G2 Plus' ], 'JY-G2 64' => [ 'Jiayu', 'G2' ], 'JY G2F' => [ 'Jiayu', 'G2F' ], 'JY-G2F' => [ 'Jiayu', 'G2F' ], @@ -5554,11 +5821,13 @@ 'Jiayu G4S' => [ 'Jiayu', 'G4S' ], 'JY-G4S' => [ 'Jiayu', 'G4S' ], 'JIAYU-G4S' => [ 'Jiayu', 'G4S' ], + 'JY-G4T' => [ 'Jiayu', 'G4T' ], 'JY-G5' => [ 'Jiayu', 'G5' ], 'Jiayu G5S' => [ 'Jiayu', 'G5S' ], 'JY-G5S' => [ 'Jiayu', 'G5S' ], 'JY-G5S+' => [ 'Jiayu', 'G5S+' ], 'JY-G6' => [ 'Jiayu', 'G6' ], + 'JY-S1' => [ 'Jiayu', 'S1' ], 'JY-S2' => [ 'Jiayu', 'S2' ], 'JY-S3' => [ 'Jiayu', 'S3' ], 'JY-S3S' => [ 'Jiayu', 'S3S' ], @@ -5576,10 +5845,13 @@ 'JXD!!' => [ 'JXD S601WIFI' => [ 'JXD', 'S601 WIFI', 'media' ], 'JXD V5200' => [ 'JXD', 'V5200', 'media' ], + 'JXD P200' => [ 'JXD', 'P200', DeviceType::TABLET ], 'JXD P300' => [ 'JXD', 'P300', DeviceType::TABLET ], - 'JXD-P1000' => [ 'JXD', 'P1000', DeviceType::TABLET ], + 'JXD-P1000!' => [ 'JXD', 'P1000', DeviceType::TABLET ], 'JXD-S80' => [ 'JXD', 'S80', DeviceType::TABLET ], + 'JXD-S6600!' => [ 'JXD', 'S6600', DeviceType::TABLET ], 'JXD S7600' => [ 'JXD', 'S7600', DeviceType::TABLET ], + 'JXD-S8000' => [ 'JXD', 'S8000', DeviceType::TABLET ], 'JXD-S9000' => [ 'JXD', 'S9000', DeviceType::TABLET ], 'JXD-S9100' => [ 'JXD', 'S9100', DeviceType::TABLET ], ], @@ -5872,6 +6144,7 @@ 'K-Touch C986t' => [ 'K-Touch', 'C986' ], 'K-Touch C986t+' => [ 'K-Touch', 'C986' ], 'K-Touch C988t' => [ 'K-Touch', 'C988' ], + 'K-Touch C990' => [ 'K-Touch', 'C990' ], 'K-Touch E7' => [ 'K-Touch', 'E7' ], 'K-Touch E79' => [ 'K-Touch', 'E79' ], 'K-Touch E70' => [ 'K-Touch', 'E70' ], @@ -5925,6 +6198,7 @@ 'K-Touch U86' => [ 'K-Touch', 'U86 Kiss' ], 'K-Touch Kiss' => [ 'K-Touch', 'U86 Kiss' ], 'K-Touch U90' => [ 'K-Touch', 'U90' ], + 'K-Touch V5' => [ 'K-Touch', 'V5' ], 'KTouch v8' => [ 'K-Touch', 'V8' ], 'K-Touch V8' => [ 'K-Touch', 'V8' ], 'KTouch v9' => [ 'K-Touch', 'V9' ], @@ -5932,6 +6206,8 @@ 'K-Touch W68' => [ 'K-Touch', 'W68' ], 'K-Touch W70' => [ 'K-Touch', 'W70' ], 'K-Touch W88' => [ 'K-Touch', 'W88' ], + 'K-Touch W610' => [ 'K-Touch', 'W610' ], + 'K-TOUCH W610D' => [ 'K-Touch', 'W610D' ], 'K-Touch W619!' => [ 'K-Touch', 'W619' ], 'K-Touch W621' => [ 'K-Touch', 'W621' ], 'K-Touch W650!' => [ 'K-Touch', 'W650' ], @@ -6022,12 +6298,14 @@ 'Iris 349+' => [ 'Lava', 'Iris 349+' ], 'Iris349i' => [ 'Lava', 'Iris 349i' ], 'Iris349s' => [ 'Lava', 'Iris 349s' ], + 'Iris 350' => [ 'Lava', 'Iris 350' ], 'iris 350m' => [ 'Lava', 'Iris 350M' ], 'iris 352Flair' => [ 'Lava', 'Iris 352 Flair' ], 'iris 352E' => [ 'Lava', 'Iris 352e' ], 'iris353' => [ 'Lava', 'Iris 353' ], 'iris354' => [ 'Lava', 'Iris 354' ], 'iris 354' => [ 'Lava', 'Iris 354' ], + 'iris354e' => [ 'Lava', 'Iris 354e' ], 'IRIS355' => [ 'Lava', 'Iris 355' ], 'iris356' => [ 'Lava', 'Iris 356' ], 'Iris 300' => [ 'Lava', 'Iris 300' ], @@ -6039,6 +6317,7 @@ 'iris402+' => [ 'Lava', 'Iris 402' ], 'iris 402e' => [ 'Lava', 'Iris 402e' ], 'iris402e' => [ 'Lava', 'Iris 402e' ], + 'iris402P' => [ 'Lava', 'Iris 402P' ], 'iris 404Flair' => [ 'Lava', 'Iris 404 Flair' ], 'iris404e' => [ 'Lava', 'Iris 404e' ], 'iris405' => [ 'Lava', 'Iris 405' ], @@ -6060,6 +6339,7 @@ 'iris503' => [ 'Lava', 'Iris 503' ], 'iris503e' => [ 'Lava', 'Iris 503e' ], 'iris504Q' => [ 'Lava', 'Iris 504Q' ], + 'iris505' => [ 'Lava', 'Iris 505' ], 'iris506Q' => [ 'Lava', 'Iris 506Q' ], 'iris700' => [ 'Lava', 'Iris 700' ], 'iris708' => [ 'Lava', 'Iris 708' ], @@ -6186,274 +6466,303 @@ 'ThinkPad( Tablet)?!' => [ 'Lenovo', 'ThinkPad Tablet', DeviceType::TABLET ], 'IdeaPad A1' => [ 'Lenovo', 'IdeaPad A1', DeviceType::TABLET ], 'Lenovo A1-32AB0' => [ 'Lenovo', 'IdeaPad A1', DeviceType::TABLET ], + 'Lenovo A1-32AJ0' => [ 'Lenovo', 'IdeaPad A1', DeviceType::TABLET ], 'IdeaPadA10' => [ 'Lenovo', 'IdeaPad A10', DeviceType::TABLET ], 'K1' => [ 'Lenovo', 'IdeaPad K1', DeviceType::TABLET ], 'Ideapad K1!' => [ 'Lenovo', 'IdeaPad K1', DeviceType::TABLET ], 'Ideapad S10-3T' => [ 'Lenovo', 'IdeaPad S10-3T', DeviceType::TABLET ], 'Lenovo IdeaPad Yoga 11S' => [ 'Lenovo', 'IdeaPad Yoga 11S', DeviceType::TABLET ], 'Lenovo IdeaPad Yoga 13' => [ 'Lenovo', 'IdeaPad Yoga 13', DeviceType::TABLET ], - 'IdeaTab ?A1000(-F|-G|-T)!' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ], - 'IdeaTab ?A1000(L-F)!' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ], - 'IdeaTab ?A1010(-T)!' => [ 'Lenovo', 'IdeaTab A1010', DeviceType::TABLET ], - 'IdeaTab ?A1020(-T)!' => [ 'Lenovo', 'IdeaTab A1020', DeviceType::TABLET ], - 'IdeaTab ?A1107!' => [ 'Lenovo', 'IdeaTab A1107', DeviceType::TABLET ], - 'Lenovo A2010-a' => [ 'Lenovo', 'IdeaTab A2010', DeviceType::TABLET ], - 'Lenovo A2105' => [ 'Lenovo', 'IdeaTab A2105', DeviceType::TABLET ], - 'IdeaTab ?A2107(A-F|A-H)!' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ], - 'A2107A-H' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ], - 'IdeaTab ?A2109(A)!' => [ 'Lenovo', 'IdeaTab A2109', DeviceType::TABLET ], - 'A2109A' => [ 'Lenovo', 'IdeaTab A2109', DeviceType::TABLET ], - 'IdeaTab ?A2207(A-H)!' => [ 'Lenovo', 'IdeaTab A2207', DeviceType::TABLET ], - 'IdeaTab ?A3000-(F|H)!' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ], - 'Lenovo A3000-H!' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ], - 'Lenovo ?A3300(-H|-HV|-GV|-T)!' => [ 'Lenovo', 'IdeaTab A3300', DeviceType::TABLET ], - 'Lenovo A3500(-F|-FL|-H|-HV)!' => [ 'Lenovo', 'IdeaTab A3500', DeviceType::TABLET ], - 'IdeaTab ?A5000-E!' => [ 'Lenovo', 'IdeaTab A5000', DeviceType::TABLET ], - 'Lenovo A5500(-F|-HV|-H|HV)?!' => [ 'Lenovo', 'IdeaTab A5500', DeviceType::TABLET ], - 'Lenovo A7600(-F|-HV|-H|H)!' => [ 'Lenovo', 'IdeaTab A7600', DeviceType::TABLET ], - 'Lenovo B6000(-F|-H)!' => [ 'Lenovo', 'B6000 Yoga Tablet 8', DeviceType::TABLET ], - 'Lenovo B8000(-F|-H)!' => [ 'Lenovo', 'B8000 Yoga Tablet 10', DeviceType::TABLET ], - 'Lenovo B8080(-F|-H|-HV)!' => [ 'Lenovo', 'B8080 Yoga Tablet 10', DeviceType::TABLET ], - 'YOGA Tablet 2-830F' => [ 'Lenovo', 'Yoga Tablet 2 830F', DeviceType::TABLET ], - 'YOGA Tablet 2-830L' => [ 'Lenovo', 'Yoga Tablet 2 830L', DeviceType::TABLET ], - 'YOGA Tablet 2-830LC' => [ 'Lenovo', 'Yoga Tablet 2 830LC', DeviceType::TABLET ], - 'YOGA Tablet 2-1050F' => [ 'Lenovo', 'Yoga Tablet 2 1050F', DeviceType::TABLET ], - 'YOGA Tablet 2-1050L' => [ 'Lenovo', 'Yoga Tablet 2 1050L', DeviceType::TABLET ], - 'YOGA Tablet 2-1050LC' => [ 'Lenovo', 'Yoga Tablet 2 1050LC', DeviceType::TABLET ], - 'YOGA Tablet 2 Pro-1380F' => [ 'Lenovo', 'Yoga Tablet 2 Pro 1380F', DeviceType::TABLET ], - 'YOGA Tablet 2 Pro-1380L' => [ 'Lenovo', 'Yoga Tablet 2 Pro 1380L', DeviceType::TABLET ], - 'Lenovo A7' => [ 'Lenovo', 'Tab A7', DeviceType::TABLET ], - 'Lenovo A7-60HC' => [ 'Lenovo', 'Tab A7', DeviceType::TABLET ], - 'Lenovo A10-70LC' => [ 'Lenovo', 'Tab A10', DeviceType::TABLET ], - 'Lenovo 2 A7-30F' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], - 'Lenovo 2 A7-30TC' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], - 'Tab2A7-(10|20)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], - 'Lenovo TAB 2 A7-30(F|GC|HC)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], - 'Lenovo TAB 2 A8-50F' => [ 'Lenovo', 'Tab 2 A8', DeviceType::TABLET ], - 'Lenovo TAB 2 A10-70(F|L)!' => [ 'Lenovo', 'Tab 2 A10', DeviceType::TABLET ], - 'Lenovo TAB S8-50(F|L|LC)!' => [ 'Lenovo', 'Tab S8', DeviceType::TABLET ], - 'Lenovo S8-50LC' => [ 'Lenovo', 'Tab S8', DeviceType::TABLET ], - 'IdeaTab ?K2110A-(F)!' => [ 'Lenovo', 'IdeaTab K2110', DeviceType::TABLET ], - 'S2005A-H' => [ 'Lenovo', 'IdeaTab S2005', DeviceType::TABLET ], - 'lenovo S2005' => [ 'Lenovo', 'IdeaTab S2005', DeviceType::TABLET ], - 'IdeaTab ?S2007A-(D|F)!' => [ 'Lenovo', 'IdeaTab S2007', DeviceType::TABLET ], - 'IdeaTab ?S2010A-(D)!' => [ 'Lenovo', 'IdeaTab S2010', DeviceType::TABLET ], - 'IdeaTab ?S2109A-(F)!' => [ 'Lenovo', 'IdeaTab S2109', DeviceType::TABLET ], - 'IdeaTab ?S2110(AF|AH)!' => [ 'Lenovo', 'IdeaTab S2110', DeviceType::TABLET ], - 'IdeaTab ?A2207A-(F)!' => [ 'Lenovo', 'IdeaTab S2207', DeviceType::TABLET ], - 'Lenovo S5000-(F|H)!' => [ 'Lenovo', 'IdeaTab S5000', DeviceType::TABLET ], - 'IdeaTab ?S6000L?-(F|H)!' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], - 'Lenovo S6000-H' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], - 'Lenovo S6000L-(F|H)!' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], - 'IdeaTab ?V2007(A|A-D-I)!' => [ 'Lenovo', 'IdeaTab V2007', DeviceType::TABLET ], - 'IdeaTab ?V2010(A)!' => [ 'Lenovo', 'IdeaTab V2010', DeviceType::TABLET ], + + '(Lenovo ?)?(IdeaTab ?)?[AB][0-9]{4,4}!!' => [ + 'IdeaTab ?A1000(-F|-G|-T)!' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ], + 'IdeaTab ?A1000(L-F)!' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ], + 'IdeaTab ?A1010(-T)!' => [ 'Lenovo', 'IdeaTab A1010', DeviceType::TABLET ], + 'IdeaTab ?A1020(-T)!' => [ 'Lenovo', 'IdeaTab A1020', DeviceType::TABLET ], + 'IdeaTab ?A1107!' => [ 'Lenovo', 'IdeaTab A1107', DeviceType::TABLET ], + 'Lenovo A2010-a' => [ 'Lenovo', 'IdeaTab A2010', DeviceType::TABLET ], + 'Lenovo A2105' => [ 'Lenovo', 'IdeaTab A2105', DeviceType::TABLET ], + 'Lenovo A2107' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ], + 'IdeaTab ?A2107(A-F|A-H)!' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ], + 'A2107A-H' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ], + 'IdeaTab ?A2109(A)!' => [ 'Lenovo', 'IdeaTab A2109', DeviceType::TABLET ], + 'A2109A' => [ 'Lenovo', 'IdeaTab A2109', DeviceType::TABLET ], + 'IdeaTab ?A2207(A-H)!' => [ 'Lenovo', 'IdeaTab A2207', DeviceType::TABLET ], + 'IdeaTab ?A3000-(F|H)!' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ], + 'Lenovo A3000-H!' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ], + 'LENOVO IdeaTab A3000-H' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ], + 'Lenovo ?A3300(-H|-HV|-GV|-T)!' => [ 'Lenovo', 'IdeaTab A3300', DeviceType::TABLET ], + 'Lenovo A3500(-F|-FL|-H|-HV)!' => [ 'Lenovo', 'IdeaTab A3500', DeviceType::TABLET ], + 'IdeaTab ?A5000-E!' => [ 'Lenovo', 'IdeaTab A5000', DeviceType::TABLET ], + 'Lenovo A5500(-F|-HV|-H|HV)?!' => [ 'Lenovo', 'IdeaTab A5500', DeviceType::TABLET ], + 'Lenovo A7600(-F|-HV|-H|H)!' => [ 'Lenovo', 'IdeaTab A7600', DeviceType::TABLET ], + 'Lenovo B6000(-F|-H)!' => [ 'Lenovo', 'B6000 Yoga Tablet 8', DeviceType::TABLET ], + 'Lenovo B8000(-F|-H)!' => [ 'Lenovo', 'B8000 Yoga Tablet 10', DeviceType::TABLET ], + 'Lenovo B8080(-F|-H|-HV)!' => [ 'Lenovo', 'B8080 Yoga Tablet 10', DeviceType::TABLET ], + ], + + 'YOGA Tablet!!' => [ + 'YOGA Tablet 2-830F' => [ 'Lenovo', 'Yoga Tablet 2 830F', DeviceType::TABLET ], + 'YOGA Tablet 2-830L' => [ 'Lenovo', 'Yoga Tablet 2 830L', DeviceType::TABLET ], + 'YOGA Tablet 2-830LC' => [ 'Lenovo', 'Yoga Tablet 2 830LC', DeviceType::TABLET ], + 'YOGA Tablet 2-1050F' => [ 'Lenovo', 'Yoga Tablet 2 1050F', DeviceType::TABLET ], + 'YOGA Tablet 2-1050L' => [ 'Lenovo', 'Yoga Tablet 2 1050L', DeviceType::TABLET ], + 'YOGA Tablet 2-1050LC' => [ 'Lenovo', 'Yoga Tablet 2 1050LC', DeviceType::TABLET ], + 'YOGA Tablet 2 Pro-1380F' => [ 'Lenovo', 'Yoga Tablet 2 Pro 1380F', DeviceType::TABLET ], + 'YOGA Tablet 2 Pro-1380L' => [ 'Lenovo', 'Yoga Tablet 2 Pro 1380L', DeviceType::TABLET ], + ], + + '(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!' => [ + 'Lenovo A7' => [ 'Lenovo', 'Tab A7', DeviceType::TABLET ], + 'Lenovo A7-60HC' => [ 'Lenovo', 'Tab A7', DeviceType::TABLET ], + 'Lenovo A10-70LC' => [ 'Lenovo', 'Tab A10', DeviceType::TABLET ], + 'Lenovo 2 A7-30F' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], + 'Lenovo 2 A7-30TC' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], + 'Tab2A7-(10|20)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], + 'Lenovo TAB 2 A7-30(F|GC|HC)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ], + 'Lenovo TAB 2 A8-50F' => [ 'Lenovo', 'Tab 2 A8', DeviceType::TABLET ], + 'Lenovo TAB 2 A10-70(F|L)!' => [ 'Lenovo', 'Tab 2 A10', DeviceType::TABLET ], + 'Lenovo TAB S8-50(F|L|LC)!' => [ 'Lenovo', 'Tab S8', DeviceType::TABLET ], + 'Lenovo S8-50LC' => [ 'Lenovo', 'Tab S8', DeviceType::TABLET ], + ], + + '(Lenovo ?)?(IdeaTab ?)?[KSV][0-9]{4,4}!!' => [ + 'IdeaTab ?K2110A-(F)!' => [ 'Lenovo', 'IdeaTab K2110', DeviceType::TABLET ], + 'S2005A-H' => [ 'Lenovo', 'IdeaTab S2005', DeviceType::TABLET ], + 'lenovo S2005' => [ 'Lenovo', 'IdeaTab S2005', DeviceType::TABLET ], + 'IdeaTab ?S2007A-(D|F)!' => [ 'Lenovo', 'IdeaTab S2007', DeviceType::TABLET ], + 'IdeaTab ?S2010A-(D)!' => [ 'Lenovo', 'IdeaTab S2010', DeviceType::TABLET ], + 'IdeaTab ?S2109A-(F)!' => [ 'Lenovo', 'IdeaTab S2109', DeviceType::TABLET ], + 'IdeaTab ?S2110(AF|AH)!' => [ 'Lenovo', 'IdeaTab S2110', DeviceType::TABLET ], + 'IdeaTab ?A2207A-(F)!' => [ 'Lenovo', 'IdeaTab S2207', DeviceType::TABLET ], + 'Lenovo S5000' => [ 'Lenovo', 'IdeaTab S5000', DeviceType::TABLET ], + 'Lenovo S5000-(F|H)!' => [ 'Lenovo', 'IdeaTab S5000', DeviceType::TABLET ], + 'IdeaTab ?S6000L?-(F|H)!' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], + 'Lenovo S6000-H' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], + 'Lenovo S6000L-(F|H)!' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], + 'LENOVO IdeaTab S6000-H' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ], + 'IdeaTab ?V2007(A|A-D-I)!' => [ 'Lenovo', 'IdeaTab V2007', DeviceType::TABLET ], + 'IdeaTab ?V2010(A)!' => [ 'Lenovo', 'IdeaTab V2010', DeviceType::TABLET ], + ], + 'A1 07' => [ 'Lenovo', 'LePad', DeviceType::TABLET ], 'lepad 001b' => [ 'Lenovo', 'LePad', DeviceType::TABLET ], 'lepad 001n' => [ 'Lenovo', 'LePad', DeviceType::TABLET ], - '(Lenovo |Lephone )?3GC101!' => [ 'Lenovo', 'LePhone 3GC101' ], - '(Lenovo |Lephone )?3GW100!' => [ 'Lenovo', 'LePhone 3GW100' ], - '(Lenovo |Lephone )?3GW101!' => [ 'Lenovo', 'LePhone 3GW101' ], - '(Lenovo )?S1[- ]37AH0!' => [ 'Lenovo', 'LePhone S1' ], - '(Lenovo )?S2[- ]38A(H0|T0)!' => [ 'Lenovo', 'LePhone S2' ], - 'Lenovo A1000' => [ 'Lenovo', 'A1000' ], - 'Lenovo A1600-d' => [ 'Lenovo', 'A1600' ], - 'Lenovo A1900' => [ 'Lenovo', 'A1900' ], - 'Lenovo A2860!' => [ 'Lenovo', 'A2860' ], - 'Lenovo A3500' => [ 'Lenovo', 'A3500' ], - 'Lenovo A5000!' => [ 'Lenovo', 'A5000' ], - 'Lenovo A6000!' => [ 'Lenovo', 'A6000' ], - 'Lenovo A7000!' => [ 'Lenovo', 'A7000' ], - 'Lenovo A116!' => [ 'Lenovo', 'A116' ], - 'Lenovo A208!' => [ 'Lenovo', 'A208' ], - 'Lenovo A218!' => [ 'Lenovo', 'A218' ], - 'Lenovo A238!' => [ 'Lenovo', 'A238' ], - 'Lenovo A269!' => [ 'Lenovo', 'A269' ], - 'Lenovo A278!' => [ 'Lenovo', 'A278' ], - 'Lenovo ?A288!' => [ 'Lenovo', 'A288' ], - 'Lenovo ?A298!' => [ 'Lenovo', 'A298' ], - 'Lenovo A300!' => [ 'Lenovo', 'A300' ], - 'Lenovo A305!' => [ 'Lenovo', 'A305' ], - 'Lenovo A308!' => [ 'Lenovo', 'A308' ], - 'Lenovo A316!' => [ 'Lenovo', 'A316' ], - 'Lenovo A318!' => [ 'Lenovo', 'A318' ], - 'Lenovo A319!' => [ 'Lenovo', 'A319' ], - 'Lenovo A320!' => [ 'Lenovo', 'A320' ], - 'Lenovo A326!' => [ 'Lenovo', 'A326' ], - 'Lenovo A328!' => [ 'Lenovo', 'A328' ], - 'Lenovo A330!' => [ 'Lenovo', 'A330' ], - 'Lenovo A338!' => [ 'Lenovo', 'A338' ], - 'Lenovo A355!' => [ 'Lenovo', 'A355' ], - 'Lenovo A356!' => [ 'Lenovo', 'A356' ], - 'Lenovo A358!' => [ 'Lenovo', 'A358' ], - 'Lenovo A360!' => [ 'Lenovo', 'A360' ], - 'Lenovo A365!' => [ 'Lenovo', 'A365' ], - 'Lenovo A366!' => [ 'Lenovo', 'A366' ], - 'Lenovo A368!' => [ 'Lenovo', 'A368' ], - 'Lenovo A369!' => [ 'Lenovo', 'A369' ], - 'Lenovo A370!' => [ 'Lenovo', 'A370' ], - 'Lenovo A370!' => [ 'Lenovo', 'A370' ], - 'Lenovo A375!' => [ 'Lenovo', 'A375' ], - 'Lenovo A376!' => [ 'Lenovo', 'A376' ], - 'Lenovo A378!' => [ 'Lenovo', 'A378' ], - 'Lenovo A380!' => [ 'Lenovo', 'A380' ], - 'Lenovo A385!' => [ 'Lenovo', 'A385' ], - 'Lenovo A388!' => [ 'Lenovo', 'A388' ], - 'Lenovo A390!' => [ 'Lenovo', 'A390' ], - 'Lenovo A395!' => [ 'Lenovo', 'A395' ], - 'Lenovo A396!' => [ 'Lenovo', 'A396' ], - 'Lenovo A398!' => [ 'Lenovo', 'A398' ], - 'Lenovo A500!' => [ 'Lenovo', 'A505' ], - 'Lenovo A505!' => [ 'Lenovo', 'A500' ], - 'Lenovo A516!' => [ 'Lenovo', 'A516' ], - 'Lenovo A520!' => [ 'Lenovo', 'A520' ], - 'Lenovo A526!' => [ 'Lenovo', 'A526' ], - 'Lenovo A529!' => [ 'Lenovo', 'A529' ], - 'Lenovo A530!' => [ 'Lenovo', 'A530' ], - 'Lenovo A536!' => [ 'Lenovo', 'A536' ], - 'Lenovo A560!' => [ 'Lenovo', 'A560' ], - 'Lenovo A580!' => [ 'Lenovo', 'A580' ], - 'Lenovo A586!' => [ 'Lenovo', 'A586' ], - 'Lenovo ?A588!' => [ 'Lenovo', 'A588' ], - 'Lenovo A590!' => [ 'Lenovo', 'A590' ], - 'Lenovo A628!' => [ 'Lenovo', 'A628' ], - 'Lenovo A630!' => [ 'Lenovo', 'A630' ], - 'Lenovo A656!' => [ 'Lenovo', 'A656' ], - 'Lenovo A658!' => [ 'Lenovo', 'A658' ], - 'Lenovo A660!' => [ 'Lenovo', 'A660' ], - 'Lenovo A668!' => [ 'Lenovo', 'A668' ], - 'Lenovo A670!' => [ 'Lenovo', 'A670' ], - 'Lenovo A678!' => [ 'Lenovo', 'A678' ], - 'Lenovo A680!' => [ 'Lenovo', 'A680' ], - 'Lenovo A690!' => [ 'Lenovo', 'A690' ], - 'Lenovo A698!' => [ 'Lenovo', 'A698' ], - 'Lenovo A700!' => [ 'Lenovo', 'A700' ], - 'Lenovo A706!' => [ 'Lenovo', 'A706' ], - 'Lenovo A708!' => [ 'Lenovo', 'A708' ], - 'Lenovo A710!' => [ 'Lenovo', 'A710' ], - 'Lenovo A718!' => [ 'Lenovo', 'A718' ], - 'Lenovo A720!' => [ 'Lenovo', 'A720' ], - 'Lenovo A750!' => [ 'Lenovo', 'A750' ], + + '(Lenovo|Lephone)!!' => [ + '(Lenovo |Lephone )?3GC101!' => [ 'Lenovo', 'LePhone 3GC101' ], + '(Lenovo |Lephone )?3GW100!' => [ 'Lenovo', 'LePhone 3GW100' ], + '(Lenovo |Lephone )?3GW101!' => [ 'Lenovo', 'LePhone 3GW101' ], + '(Lenovo )?S1[- ]37AH0!' => [ 'Lenovo', 'LePhone S1' ], + '(Lenovo )?S2[- ]38A(H0|T0)!' => [ 'Lenovo', 'LePhone S2' ], + ], + + 'Lenovo!!' => [ + 'Lenovo A1000' => [ 'Lenovo', 'A1000' ], + 'Lenovo A1600-d' => [ 'Lenovo', 'A1600' ], + 'Lenovo A1900' => [ 'Lenovo', 'A1900' ], + 'Lenovo A2860!' => [ 'Lenovo', 'A2860' ], + 'Lenovo A3500' => [ 'Lenovo', 'A3500' ], + 'Lenovo A5000!' => [ 'Lenovo', 'A5000' ], + 'Lenovo A6000!' => [ 'Lenovo', 'A6000' ], + 'Lenovo A7000!' => [ 'Lenovo', 'A7000' ], + 'Lenovo A116!' => [ 'Lenovo', 'A116' ], + 'Lenovo A208!' => [ 'Lenovo', 'A208' ], + 'Lenovo A218!' => [ 'Lenovo', 'A218' ], + 'Lenovo A238!' => [ 'Lenovo', 'A238' ], + 'Lenovo A269!' => [ 'Lenovo', 'A269' ], + 'Lenovo A278!' => [ 'Lenovo', 'A278' ], + 'Lenovo ?A288!' => [ 'Lenovo', 'A288' ], + 'Lenovo ?A298!' => [ 'Lenovo', 'A298' ], + 'Lenovo A300!' => [ 'Lenovo', 'A300' ], + 'Lenovo A305!' => [ 'Lenovo', 'A305' ], + 'Lenovo A308!' => [ 'Lenovo', 'A308' ], + 'Lenovo A316!' => [ 'Lenovo', 'A316' ], + 'Lenovo A318!' => [ 'Lenovo', 'A318' ], + 'Lenovo A319!' => [ 'Lenovo', 'A319' ], + 'Lenovo A320!' => [ 'Lenovo', 'A320' ], + 'Lenovo A326!' => [ 'Lenovo', 'A326' ], + 'Lenovo A328!' => [ 'Lenovo', 'A328' ], + 'Lenovo A330!' => [ 'Lenovo', 'A330' ], + 'Lenovo A338!' => [ 'Lenovo', 'A338' ], + 'Lenovo A355!' => [ 'Lenovo', 'A355' ], + 'Lenovo A356!' => [ 'Lenovo', 'A356' ], + 'Lenovo A358!' => [ 'Lenovo', 'A358' ], + 'Lenovo A360!' => [ 'Lenovo', 'A360' ], + 'Lenovo A365!' => [ 'Lenovo', 'A365' ], + 'Lenovo A366!' => [ 'Lenovo', 'A366' ], + 'Lenovo A368!' => [ 'Lenovo', 'A368' ], + 'Lenovo A369!' => [ 'Lenovo', 'A369' ], + 'Lenovo A370!' => [ 'Lenovo', 'A370' ], + 'Lenovo A370!' => [ 'Lenovo', 'A370' ], + 'Lenovo A375!' => [ 'Lenovo', 'A375' ], + 'Lenovo A376!' => [ 'Lenovo', 'A376' ], + 'Lenovo A378!' => [ 'Lenovo', 'A378' ], + 'Lenovo A380!' => [ 'Lenovo', 'A380' ], + 'Lenovo A385!' => [ 'Lenovo', 'A385' ], + 'Lenovo A388!' => [ 'Lenovo', 'A388' ], + 'Lenovo A390!' => [ 'Lenovo', 'A390' ], + 'Lenovo A395!' => [ 'Lenovo', 'A395' ], + 'Lenovo A396!' => [ 'Lenovo', 'A396' ], + 'Lenovo A398!' => [ 'Lenovo', 'A398' ], + 'Lenovo A500!' => [ 'Lenovo', 'A505' ], + 'Lenovo A505!' => [ 'Lenovo', 'A500' ], + 'Lenovo A516!' => [ 'Lenovo', 'A516' ], + 'Lenovo A520!' => [ 'Lenovo', 'A520' ], + 'Lenovo A526!' => [ 'Lenovo', 'A526' ], + 'Lenovo A529!' => [ 'Lenovo', 'A529' ], + 'Lenovo A530!' => [ 'Lenovo', 'A530' ], + 'Lenovo A536!' => [ 'Lenovo', 'A536' ], + 'Lenovo A560!' => [ 'Lenovo', 'A560' ], + 'Lenovo A580!' => [ 'Lenovo', 'A580' ], + 'Lenovo A586!' => [ 'Lenovo', 'A586' ], + 'Lenovo ?A588!' => [ 'Lenovo', 'A588' ], + 'Lenovo A590!' => [ 'Lenovo', 'A590' ], + 'Lenovo A628!' => [ 'Lenovo', 'A628' ], + 'Lenovo A630!' => [ 'Lenovo', 'A630' ], + 'Lenovo A656!' => [ 'Lenovo', 'A656' ], + 'Lenovo A658!' => [ 'Lenovo', 'A658' ], + 'Lenovo A660!' => [ 'Lenovo', 'A660' ], + 'Lenovo A668!' => [ 'Lenovo', 'A668' ], + 'Lenovo A670!' => [ 'Lenovo', 'A670' ], + 'Lenovo A678!' => [ 'Lenovo', 'A678' ], + 'Lenovo A680!' => [ 'Lenovo', 'A680' ], + 'Lenovo A690!' => [ 'Lenovo', 'A690' ], + 'Lenovo A698!' => [ 'Lenovo', 'A698' ], + 'Lenovo A700!' => [ 'Lenovo', 'A700' ], + 'Lenovo A706!' => [ 'Lenovo', 'A706' ], + 'Lenovo A708!' => [ 'Lenovo', 'A708' ], + 'Lenovo A710!' => [ 'Lenovo', 'A710' ], + 'Lenovo A718!' => [ 'Lenovo', 'A718' ], + 'Lenovo A720!' => [ 'Lenovo', 'A720' ], + 'Lenovo A750!' => [ 'Lenovo', 'A750' ], + 'Lenovo A760!' => [ 'Lenovo', 'A760' ], + 'Lenovo A765!' => [ 'Lenovo', 'A765' ], + 'Lenovo A766!' => [ 'Lenovo', 'A766' ], + 'Lenovo A770!' => [ 'Lenovo', 'A770' ], + 'Lenovo A780!' => [ 'Lenovo', 'A780' ], + 'Lenovo A785!' => [ 'Lenovo', 'A785' ], + 'Lenovo A788!' => [ 'Lenovo', 'A788' ], + 'Lenovo A789!' => [ 'Lenovo', 'A789' ], + 'Lenovo A790!' => [ 'Lenovo', 'A790' ], + 'Lenovo A798!' => [ 'Lenovo', 'A798' ], + 'Lenovo A800!' => [ 'Lenovo', 'A800' ], + 'Lenovo A805!' => [ 'Lenovo', 'A805' ], + 'Lenovo A806!' => [ 'Lenovo', 'A806' ], + 'Lenovo A808!' => [ 'Lenovo', 'A808' ], + 'Lenovo A816!' => [ 'Lenovo', 'A816' ], + 'Lenovo ?A820!' => [ 'Lenovo', 'A820' ], + 'lenovo-A820t' => [ 'Lenovo', 'A820' ], + 'Lenovo A828!' => [ 'Lenovo', 'A828' ], + 'Lenovo A830!' => [ 'Lenovo', 'A830' ], + 'Lenovo A850!' => [ 'Lenovo', 'A850' ], + 'Lenovo A858!' => [ 'Lenovo', 'A858' ], + 'Lenovo A859!' => [ 'Lenovo', 'A859' ], + 'Lenovo A860!' => [ 'Lenovo', 'A860' ], + 'Lenovo A880!' => [ 'Lenovo', 'A880' ], + 'Lenovo A889!' => [ 'Lenovo', 'A889' ], + 'Lenovo A890!' => [ 'Lenovo', 'A890' ], + 'Lenovo A916!' => [ 'Lenovo', 'A916' ], + 'Lenovo A936!' => [ 'Lenovo', 'A936' ], + 'Lenovo A938!' => [ 'Lenovo', 'A938' ], + 'Lenovo A998!' => [ 'Lenovo', 'A998' ], + 'Lenovo A60+?!' => [ 'Lenovo', 'A60' ], + 'Lenovo A65!' => [ 'Lenovo', 'A65' ], + 'Lenovo A66!' => [ 'Lenovo', 'A66' ], + 'Lenovo A68!' => [ 'Lenovo', 'A68' ], + 'Lenovo K800' => [ 'Lenovo', 'K800' ], + 'Lenovo K860!' => [ 'Lenovo', 'K860' ], + 'Lenovo K900!' => [ 'Lenovo', 'K900' ], + 'Lenovo K910!' => [ 'Lenovo', 'K910' ], + 'Lenovo K920!' => [ 'Lenovo', 'K920' ], + 'Lenovo K80M' => [ 'Lenovo', 'K80' ], + 'Lenovo K2' => [ 'Lenovo', 'K2' ], + 'Lenovo k30' => [ 'Lenovo', 'K3' ], + 'Lenovo K30-T' => [ 'Lenovo', 'K3' ], + 'Lenovo K30-W' => [ 'Lenovo', 'K3' ], + 'Lenovo K31-t3' => [ 'Lenovo', 'K3' ], + 'Lenovo K3' => [ 'Lenovo', 'K3' ], + 'Lenovo K50a40' => [ 'Lenovo', 'K3 Note' ], + 'Lenovo K50-T5' => [ 'Lenovo', 'K3 Note' ], + 'Lenovo K6' => [ 'Lenovo', 'K6' ], + 'Lenovo N300' => [ 'Lenovo', 'N300', DeviceType::DESKTOP ], + 'Lenovo N308' => [ 'Lenovo', 'N308', DeviceType::DESKTOP ], + 'Lenovo N908' => [ 'Lenovo', 'N908' ], + 'Lenovo O3' => [ 'Lenovo', 'O3' ], + 'Lenovo P70' => [ 'Lenovo', 'P70' ], + 'Lenovo P70-A' => [ 'Lenovo', 'P70' ], + 'Lenovo P70-t' => [ 'Lenovo', 'P70' ], + 'Lenovo P90' => [ 'Lenovo', 'P90' ], + 'Lenovo P700!' => [ 'Lenovo', 'P700' ], + 'Lenovo P770!' => [ 'Lenovo', 'P770' ], + 'Lenovo-P770' => [ 'Lenovo', 'P770' ], + 'Lenovo P780!' => [ 'Lenovo', 'P780' ], + 'Lenovo S60-a' => [ 'Lenovo', 'S60' ], + 'Lenovo S60-t' => [ 'Lenovo', 'S60' ], + 'Lenovo S60-w' => [ 'Lenovo', 'S60' ], + 'Lenovo S90-A' => [ 'Lenovo', 'S90' ], + 'Lenovo S90-e' => [ 'Lenovo', 'S90' ], + 'Lenovo S90-t' => [ 'Lenovo', 'S90' ], + 'Lenovo S560' => [ 'Lenovo', 'S560' ], + 'Lenovo S580' => [ 'Lenovo', 'S580' ], + 'Lenovo S650' => [ 'Lenovo', 'S650' ], + 'Lenovo S658t' => [ 'Lenovo', 'S658' ], + 'Lenovo S660' => [ 'Lenovo', 'S660' ], + 'Lenovo S668t' => [ 'Lenovo', 'S668' ], + 'Lenovo S680' => [ 'Lenovo', 'S680' ], + 'Lenovo S686' => [ 'Lenovo', 'S686' ], + 'Lenovo S696' => [ 'Lenovo', 'S696' ], + 'Lenovo S720!' => [ 'Lenovo', 'S720' ], + 'Lenovo S750' => [ 'Lenovo', 'S750' ], + 'Lenovo S760' => [ 'Lenovo', 'S760' ], + 'Lenovo S790' => [ 'Lenovo', 'S790' ], + 'Lenovo S810!' => [ 'Lenovo', 'S810' ], + 'Lenovo S820!' => [ 'Lenovo', 'S820' ], + 'Lenovo S850!' => [ 'Lenovo', 'S850' ], + 'Lenovo S856!' => [ 'Lenovo', 'S856' ], + 'Lenovo S858!' => [ 'Lenovo', 'S858' ], + 'Lenovo S860!' => [ 'Lenovo', 'S860' ], + 'Lenovo S868t' => [ 'Lenovo', 'S868' ], + 'Lenovo S870e' => [ 'Lenovo', 'S870' ], + 'Lenovo S880!' => [ 'Lenovo', 'S880' ], + 'Lenovo S890' => [ 'Lenovo', 'S890' ], + 'Lenovo S898!' => [ 'Lenovo', 'S898' ], + 'Lenovo ?S899!' => [ 'Lenovo', 'S899' ], + 'lenovo S900i' => [ 'Lenovo', 'S900' ], + 'Lenovo ?S920!' => [ 'Lenovo', 'S920' ], + 'Lenovo S930' => [ 'Lenovo', 'S930' ], + 'Lenovo S938!' => [ 'Lenovo', 'S938' ], + 'Lenovo S939' => [ 'Lenovo', 'S939' ], + 'Lenovo S950' => [ 'Lenovo', 'S950' ], + 'Lenovo S960' => [ 'Lenovo', 'S960' ], + 'Lenovo S968!' => [ 'Lenovo', 'S968' ], + 'Lenovo W100' => [ 'Lenovo', 'W100' ], + 'Lenovo X2-(AP|CU|EU|TO)!' => [ 'Lenovo', 'Vibe X2' ], + 'Lenovo Z90!' => [ 'Lenovo', 'Vibe Shot' ], + 'Lenovo PB1-770M' => [ 'Lenovo', 'Phab Plus' ], + 'Lenovo X910' => [ 'Lenovo', 'X910' ], + ], + 'A750' => [ 'Lenovo', 'A750' ], - 'Lenovo A760!' => [ 'Lenovo', 'A760' ], - 'Lenovo A765!' => [ 'Lenovo', 'A765' ], - 'Lenovo A766!' => [ 'Lenovo', 'A766' ], - 'Lenovo A770!' => [ 'Lenovo', 'A770' ], - 'Lenovo A780!' => [ 'Lenovo', 'A780' ], - 'Lenovo A785!' => [ 'Lenovo', 'A785' ], - 'Lenovo A788!' => [ 'Lenovo', 'A788' ], - 'Lenovo A789!' => [ 'Lenovo', 'A789' ], - 'Lenovo A790!' => [ 'Lenovo', 'A790' ], - 'Lenovo A798!' => [ 'Lenovo', 'A798' ], - 'Lenovo A800!' => [ 'Lenovo', 'A800' ], - 'Lenovo A805!' => [ 'Lenovo', 'A805' ], - 'Lenovo A806!' => [ 'Lenovo', 'A806' ], - 'Lenovo A808!' => [ 'Lenovo', 'A808' ], - 'Lenovo A816!' => [ 'Lenovo', 'A816' ], - 'Lenovo ?A820!' => [ 'Lenovo', 'A820' ], - 'lenovo-A820t' => [ 'Lenovo', 'A820' ], - 'Lenovo A828!' => [ 'Lenovo', 'A828' ], - 'Lenovo A830!' => [ 'Lenovo', 'A830' ], - 'Lenovo A850!' => [ 'Lenovo', 'A850' ], - 'Lenovo A858!' => [ 'Lenovo', 'A858' ], - 'Lenovo A859!' => [ 'Lenovo', 'A859' ], - 'Lenovo A860!' => [ 'Lenovo', 'A860' ], - 'Lenovo A880!' => [ 'Lenovo', 'A880' ], - 'Lenovo A889!' => [ 'Lenovo', 'A889' ], - 'Lenovo A890!' => [ 'Lenovo', 'A890' ], - 'Lenovo A916!' => [ 'Lenovo', 'A916' ], - 'Lenovo A936!' => [ 'Lenovo', 'A936' ], - 'Lenovo A938!' => [ 'Lenovo', 'A938' ], - 'Lenovo A998!' => [ 'Lenovo', 'A998' ], 'A30t' => [ 'Lenovo', 'A30' ], - 'Lenovo A60+?!' => [ 'Lenovo', 'A60' ], 'OPPOLenovo A60' => [ 'Lenovo', 'A60' ], - 'Lenovo A65!' => [ 'Lenovo', 'A65' ], - 'Lenovo A66!' => [ 'Lenovo', 'A66' ], - 'Lenovo A68!' => [ 'Lenovo', 'A68' ], - 'Lenovo K800' => [ 'Lenovo', 'K800' ], - 'Lenovo K860!' => [ 'Lenovo', 'K860' ], - 'Lenovo K900!' => [ 'Lenovo', 'K900' ], - 'Lenovo K910!' => [ 'Lenovo', 'K910' ], - 'Lenovo K920!' => [ 'Lenovo', 'K920' ], - 'Lenovo K80M' => [ 'Lenovo', 'K80' ], - 'Lenovo K2' => [ 'Lenovo', 'K2' ], - 'Lenovo k30' => [ 'Lenovo', 'K3' ], - 'Lenovo K30-T' => [ 'Lenovo', 'K3' ], - 'Lenovo K30-W' => [ 'Lenovo', 'K3' ], - 'Lenovo K31-t3' => [ 'Lenovo', 'K3' ], - 'Lenovo K3' => [ 'Lenovo', 'K3' ], - 'Lenovo K50a40' => [ 'Lenovo', 'K3 Note' ], - 'Lenovo K50-T5' => [ 'Lenovo', 'K3 Note' ], - 'Lenovo K6' => [ 'Lenovo', 'K6' ], - 'Lenovo N300' => [ 'Lenovo', 'N300', DeviceType::DESKTOP ], - 'Lenovo N308' => [ 'Lenovo', 'N308', DeviceType::DESKTOP ], - 'Lenovo N908' => [ 'Lenovo', 'N908' ], - 'Lenovo O3' => [ 'Lenovo', 'O3' ], - 'Lenovo P70' => [ 'Lenovo', 'P70' ], - 'Lenovo P70-A' => [ 'Lenovo', 'P70' ], - 'Lenovo P70-t' => [ 'Lenovo', 'P70' ], - 'Lenovo P90' => [ 'Lenovo', 'P90' ], - 'Lenovo P700!' => [ 'Lenovo', 'P700' ], 'P700i' => [ 'Lenovo', 'P700i' ], - 'Lenovo P770!' => [ 'Lenovo', 'P770' ], - 'Lenovo-P770' => [ 'Lenovo', 'P770' ], - 'Lenovo P780!' => [ 'Lenovo', 'P780' ], - 'Lenovo S60-a' => [ 'Lenovo', 'S60' ], - 'Lenovo S60-t' => [ 'Lenovo', 'S60' ], - 'Lenovo S60-w' => [ 'Lenovo', 'S60' ], - 'Lenovo S90-A' => [ 'Lenovo', 'S90' ], - 'Lenovo S90-e' => [ 'Lenovo', 'S90' ], - 'Lenovo S90-t' => [ 'Lenovo', 'S90' ], - 'Lenovo S560' => [ 'Lenovo', 'S560' ], - 'Lenovo S580' => [ 'Lenovo', 'S580' ], - 'Lenovo S650' => [ 'Lenovo', 'S650' ], - 'Lenovo S658t' => [ 'Lenovo', 'S658' ], 'S658t' => [ 'Lenovo', 'S658' ], - 'Lenovo S660' => [ 'Lenovo', 'S660' ], - 'Lenovo S668t' => [ 'Lenovo', 'S668' ], - 'Lenovo S680' => [ 'Lenovo', 'S680' ], - 'Lenovo S686' => [ 'Lenovo', 'S686' ], - 'Lenovo S696' => [ 'Lenovo', 'S696' ], - 'Lenovo S720!' => [ 'Lenovo', 'S720' ], 'S720i' => [ 'Lenovo', 'S720' ], - 'Lenovo S750' => [ 'Lenovo', 'S750' ], - 'Lenovo S760' => [ 'Lenovo', 'S760' ], - 'Lenovo S790' => [ 'Lenovo', 'S790' ], - 'Lenovo S810!' => [ 'Lenovo', 'S810' ], - 'Lenovo S820!' => [ 'Lenovo', 'S820' ], - 'Lenovo S850!' => [ 'Lenovo', 'S850' ], - 'Lenovo S856!' => [ 'Lenovo', 'S856' ], - 'Lenovo S858!' => [ 'Lenovo', 'S858' ], - 'Lenovo S860!' => [ 'Lenovo', 'S860' ], - 'Lenovo S868t' => [ 'Lenovo', 'S868' ], - 'Lenovo S870e' => [ 'Lenovo', 'S870' ], - 'Lenovo S880!' => [ 'Lenovo', 'S880' ], 'S880' => [ 'Lenovo', 'S880' ], - 'Lenovo S890' => [ 'Lenovo', 'S890' ], - 'Lenovo S898!' => [ 'Lenovo', 'S898' ], - 'Lenovo ?S899!' => [ 'Lenovo', 'S899' ], - 'lenovo S900i' => [ 'Lenovo', 'S900' ], - 'Lenovo ?S920!' => [ 'Lenovo', 'S920' ], - 'Lenovo S930' => [ 'Lenovo', 'S930' ], - 'Lenovo S938!' => [ 'Lenovo', 'S938' ], - 'Lenovo S939' => [ 'Lenovo', 'S939' ], - 'Lenovo S950' => [ 'Lenovo', 'S950' ], - 'Lenovo S960' => [ 'Lenovo', 'S960' ], - 'Lenovo S968!' => [ 'Lenovo', 'S968' ], - 'Lenovo W100' => [ 'Lenovo', 'W100' ], - 'Lenovo X2-(AP|CU|EU|TO)!' => [ 'Lenovo', 'Vibe X2' ], - 'Lenovo Z90!' => [ 'Lenovo', 'Vibe Shot' ], - 'Lenovo PB1-770M' => [ 'Lenovo', 'Phab Plus' ], - 'Lenovo X910' => [ 'Lenovo', 'X910' ], - 'ideatv A21' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'ideatv K82' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'IDEA TV T100' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'IDEA TV K91' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'ideatv S9' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'ideatv S31' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'ideatv S51' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'ideatv S52' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], - 'ideatv S61' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + + 'idea ?tv!!' => [ + 'ideatv A21' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'ideatv K82' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'IDEA TV T100' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'IDEA TV K91' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'ideatv S9' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'ideatv S31' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'ideatv S51' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'ideatv S52' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + 'ideatv S61' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ], + ], + 'LenovoTV 40S9' => [ 'Lenovo', 'TV 40S9', DeviceType::TELEVISION ], 'LenovoTV 50S52' => [ 'Lenovo', 'TV 50S52', DeviceType::TELEVISION ], '501LV' => [ 'Lenovo', 'Tab2 501LV', 'carrier' => 'Softbank' ], @@ -6465,6 +6774,7 @@ 'lephone 2900' => [ 'Lephone', '2900' ], 'lephone T708' => [ 'Lephone', 'T708' ], 'Lephone TD506' => [ 'Lephone', 'TD506' ], + 'Lephone TD8208' => [ 'Lephone', 'TD8208' ], ], 'TD506' => [ 'Lephone', 'TD506' ], @@ -6653,7 +6963,7 @@ ], 'LG-GT540!' => [ 'LG', 'Optimus' ], - 'LG-GW620' => [ 'LG', 'GW620 Eve' ], + 'LG-GW620!' => [ 'LG', 'GW620 Eve' ], 'LG-H[0-9]{3,3}!!' => [ 'LG-H2(20|21|22)!' => [ 'LG', 'Joy' ], @@ -6705,6 +7015,7 @@ 'LG-L34C' => [ 'LG', 'Optimus Fuel' ], 'LGL35G!' => [ 'LG', 'Optimus Logic' ], 'LG-L38C!' => [ 'LG', 'Optimus Dynamic' ], + 'LGL38C!' => [ 'LG', 'Optimus Dynamic' ], 'LGL39C!' => [ 'LG', 'Optimus Dynamic II' ], 'LG-L40G' => [ 'LG', 'Optimus Extreme' ], 'LGL41C!' => [ 'LG', 'Ultimate 2' ], @@ -6805,7 +7116,7 @@ 'LG-P506' => [ 'LG', 'Thrive' ], 'LG-P509' => [ 'LG', 'Optimus T' ], 'LG-P6(55|59)!' => [ 'LG', 'Optimus F3' ], - 'LG-P6(90|92|98|99)!' => [ 'LG', 'Optimus Net' ], + 'LG-P6(90|92|99)!' => [ 'LG', 'Optimus Net' ], 'LG-P693!' => [ 'LG', 'P693' ], 'LG-P698!' => [ 'LG', 'Optimus Net Dual' ], 'LG-P7(00|05|08)!' => [ 'LG', 'Optimus L7' ], @@ -7141,130 +7452,152 @@ 'Maxtron T1' => [ 'Maxtron', 'T1', DeviceType::TABLET ], ], - 'M-PPxG400' => [ 'Mediacom', 'PhonePad Duo G400' ], - 'M-PPAG500' => [ 'Mediacom', 'PhonePad Duo G500' ], - 'M-PPBG500' => [ 'Mediacom', 'PhonePad Duo G500' ], - 'M-PPCG500' => [ 'Mediacom', 'PhonePad Duo G500' ], - 'M-PPxG501' => [ 'Mediacom', 'PhonePad Duo G501' ], - 'M-PP2G530' => [ 'Mediacom', 'PhonePad Duo G530' ], - 'M-PPAG550' => [ 'Mediacom', 'PhonePad Duo G550' ], - 'M-PPG700' => [ 'Mediacom', 'PhonePad Duo G700' ], - 'M-PPG702' => [ 'Mediacom', 'PhonePad Duo G702' ], - 'M-PPxS470' => [ 'Mediacom', 'PhonePad Duo S470' ], - 'M-PP2S500' => [ 'Mediacom', 'PhonePad Duo S500' ], - 'M-PP2S500B' => [ 'Mediacom', 'PhonePad Duo S500' ], - 'M-PP2S500C' => [ 'Mediacom', 'PhonePad Duo S500' ], - 'M-PPxS501' => [ 'Mediacom', 'PhonePad Duo S501' ], - 'M-PPxS531' => [ 'Mediacom', 'PhonePad Duo S531' ], - 'M-PP2S550' => [ 'Mediacom', 'PhonePad Duo S550' ], - 'M-PPxS551U' => [ 'Mediacom', 'PhonePad Duo S551' ], - 'M-PP2S650' => [ 'Mediacom', 'PhonePad Duo S650' ], - 'M-PP2S650C' => [ 'Mediacom', 'PhonePad Duo S650' ], - 'M-PPAX470U' => [ 'Mediacom', 'PhonePad Duo X470' ], - 'M PPAX510U' => [ 'Mediacom', 'PhonePad Duo X510' ], - 'M-PPxX520U' => [ 'Mediacom', 'PhonePad Duo X520' ], - 'M-MP5303G' => [ 'Mediacom', 'SmartPad Mini Mobile', DeviceType::TABLET ], - 'MP705C' => [ 'Mediacom', 'SmartPad 705c', DeviceType::TABLET ], - 'M-MP705I' => [ 'Mediacom', 'SmartPad 705i', DeviceType::TABLET ], - 'M-MP706I' => [ 'Mediacom', 'SmartPad 706i', DeviceType::TABLET ], - 'M-MP707i' => [ 'Mediacom', 'SmartPad 707i', DeviceType::TABLET ], - 'M-MP711i' => [ 'Mediacom', 'SmartPad 711i', DeviceType::TABLET ], - 'STM712HCZ' => [ 'Mediacom', 'SmartPad 712c', DeviceType::TABLET ], - 'M-MP715I' => [ 'Mediacom', 'SmartPad 715i', DeviceType::TABLET ], - 'M-MP720I' => [ 'Mediacom', 'SmartPad 720i', DeviceType::TABLET ], - 'STM722HC' => [ 'Mediacom', 'SmartPad 722c', DeviceType::TABLET ], - 'STM722HCZ' => [ 'Mediacom', 'SmartPad 722c', DeviceType::TABLET ], - 'M-MP722I' => [ 'Mediacom', 'SmartPad 722i', DeviceType::TABLET ], - 'SmartPad7503G' => [ 'Mediacom', 'SmartPad 750', DeviceType::TABLET ], - 'STM803HC' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], + 'M\-PP!!' => [ + 'M-PPxG400' => [ 'Mediacom', 'PhonePad Duo G400' ], + 'M-PPAG500' => [ 'Mediacom', 'PhonePad Duo G500' ], + 'M-PPBG500' => [ 'Mediacom', 'PhonePad Duo G500' ], + 'M-PPCG500' => [ 'Mediacom', 'PhonePad Duo G500' ], + 'M-PPxG501' => [ 'Mediacom', 'PhonePad Duo G501' ], + 'M-PP2G530' => [ 'Mediacom', 'PhonePad Duo G530' ], + 'M-PPAG550' => [ 'Mediacom', 'PhonePad Duo G550' ], + 'M-PPG700' => [ 'Mediacom', 'PhonePad Duo G700' ], + 'M-PPG702' => [ 'Mediacom', 'PhonePad Duo G702' ], + 'M-PPxS470' => [ 'Mediacom', 'PhonePad Duo S470' ], + 'M-PP2S500' => [ 'Mediacom', 'PhonePad Duo S500' ], + 'M-PP2S500B' => [ 'Mediacom', 'PhonePad Duo S500' ], + 'M-PP2S500C' => [ 'Mediacom', 'PhonePad Duo S500' ], + 'M-PPxS501' => [ 'Mediacom', 'PhonePad Duo S501' ], + 'M-PPxS531' => [ 'Mediacom', 'PhonePad Duo S531' ], + 'M-PP2S550' => [ 'Mediacom', 'PhonePad Duo S550' ], + 'M-PPxS551U' => [ 'Mediacom', 'PhonePad Duo S551' ], + 'M-PP2S650' => [ 'Mediacom', 'PhonePad Duo S650' ], + 'M-PP2S650C' => [ 'Mediacom', 'PhonePad Duo S650' ], + 'M-PPAX470U' => [ 'Mediacom', 'PhonePad Duo X470' ], + 'M PPAX510U' => [ 'Mediacom', 'PhonePad Duo X510' ], + 'M-PPxX520U' => [ 'Mediacom', 'PhonePad Duo X520' ], + ], + + 'M\-MP!!' => [ + 'M-MP5303G' => [ 'Mediacom', 'SmartPad Mini Mobile', DeviceType::TABLET ], + 'M-MP705I' => [ 'Mediacom', 'SmartPad 705i', DeviceType::TABLET ], + 'M-MP706I' => [ 'Mediacom', 'SmartPad 706i', DeviceType::TABLET ], + 'M-MP707i' => [ 'Mediacom', 'SmartPad 707i', DeviceType::TABLET ], + 'M-MP711i' => [ 'Mediacom', 'SmartPad 711i', DeviceType::TABLET ], + 'M-MP715I' => [ 'Mediacom', 'SmartPad 715i', DeviceType::TABLET ], + 'M-MP720I' => [ 'Mediacom', 'SmartPad 720i', DeviceType::TABLET ], + 'M-MP722I' => [ 'Mediacom', 'SmartPad 722i', DeviceType::TABLET ], + 'M-MP815I' => [ 'Mediacom', 'SmartPad 815i', DeviceType::TABLET ], + 'M-MP855i' => [ 'Mediacom', 'SmartPad 855i', DeviceType::TABLET ], + 'M-MP860S2' => [ 'Mediacom', 'SmartPad 860 S2', DeviceType::TABLET ], + 'M-MP85S23G' => [ 'Mediacom', 'SmartPad 875 S2', DeviceType::TABLET ], + 'M-MP875S2' => [ 'Mediacom', 'SmartPad 875 S2', DeviceType::TABLET ], + 'M-MP917I' => [ 'Mediacom', 'SmartPad 917i', DeviceType::TABLET ], + 'M-MP927I' => [ 'Mediacom', 'SmartPad 927i', DeviceType::TABLET ], + 'M-MP940M' => [ 'Mediacom', 'SmartPad 940', DeviceType::TABLET ], + 'M-MP1010i' => [ 'Mediacom', 'SmartPad 1010i', DeviceType::TABLET ], + 'M-MP102S2B' => [ 'Mediacom', 'SmartPad 102 S2', DeviceType::TABLET ], + 'M-MP102S2W' => [ 'Mediacom', 'SmartPad 102 S2', DeviceType::TABLET ], + 'M-MP1040S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], + 'M-MP10S4' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], + 'M-MP12S4' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], + 'M-MP1040M' => [ 'Mediacom', 'SmartPad 10.1 HD S4', DeviceType::TABLET ], + 'M-MP1040MC' => [ 'Mediacom', 'SmartPad 10.1 HD S4', DeviceType::TABLET ], + 'M-MP710GO' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], + 'M-MP720GO' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], + 'M-MP726GOx' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], + 'M-MP740GOx' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], + 'M-MP720M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ], + 'M-MP721M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ], + 'M-MP722M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ], + 'M-MP75S23G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], + 'M-MP7S2A3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], + 'M-MP7S2B3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], + 'M-MP7S2D3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], + 'M-MP7S2K3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], + 'M-MP7S4A3G' => [ 'Mediacom', 'SmartPad 7.0 S4', DeviceType::TABLET ], + 'M-MP840M' => [ 'Mediacom', 'SmartPad 8.0 Mobile', DeviceType::TABLET ], + 'M-MP842M' => [ 'Mediacom', 'SmartPad 8.0 Mobile', DeviceType::TABLET ], + 'M-MP876S2' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], + 'M-MP8S23G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], + 'M-MP8S2A3G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], + 'M-MP8S2B3G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], + 'M-MP82S4' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], + 'M-MP84S4' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], + 'M-MP8S4A3G' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], + 'M-MP8S4B3G' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], + 'M-MP8PA3G' => [ 'Mediacom', 'SmartPad 8.0 HD Pro', DeviceType::TABLET ], + 'M-MP9S4A3G' => [ 'Mediacom', 'SmartPad 9.7 S4', DeviceType::TABLET ], + 'M-MP980S4' => [ 'Mediacom', 'SmartPad 9.7 HD S4', DeviceType::TABLET ], + 'M-MP99S4' => [ 'Mediacom', 'SmartPad 9.7 HD S4', DeviceType::TABLET ], + 'M-MP101S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], + 'M-MP1041S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], + 'M-MP1051S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], + 'M-MP1S2A3G' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], + 'M-MP1S4A3G' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], + 'M-MP1S4B3G' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], + 'M-MP10PA' => [ 'Mediacom', 'SmartPad 10.1 HD Pro', DeviceType::TABLET ], + 'M-MP10PA3G' => [ 'Mediacom', 'SmartPad 10.1 HD Pro', DeviceType::TABLET ], + 'M-MPI7A3G' => [ 'Mediacom', 'SmartPad i7', DeviceType::TABLET ], + ], + + 'M\-IPRO!!' => [ + 'M-IPRO110B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro110', DeviceType::TABLET ], + 'M-IPRO800B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro800', DeviceType::TABLET ], + 'M-IPRO810B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro810', DeviceType::TABLET ], + 'M-IPRO810W' => [ 'Mediacom', 'SmartPad 8.0 HD iPro810', DeviceType::TABLET ], + ], + + 'MP[0-9]{3,3}C!!' => [ + 'MP705C' => [ 'Mediacom', 'SmartPad 705c', DeviceType::TABLET ], + 'MP810C' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], + 'MP907C' => [ 'Mediacom', 'SmartPad 907c', DeviceType::TABLET ], + ], + + 'STM[0-9]{3,3}H!!' => [ + 'STM712HCZ' => [ 'Mediacom', 'SmartPad 712c', DeviceType::TABLET ], + 'STM722HC' => [ 'Mediacom', 'SmartPad 722c', DeviceType::TABLET ], + 'STM722HCZ' => [ 'Mediacom', 'SmartPad 722c', DeviceType::TABLET ], + 'STM803HC' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], + ], + + 'SmartPad!!' => [ + 'SmartPad7503G' => [ 'Mediacom', 'SmartPad 750', DeviceType::TABLET ], + 'SmartPad810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], + 'SmartPad 852i' => [ 'Mediacom', 'SmartPad 825i', DeviceType::TABLET ], + 'SmartPad870' => [ 'Mediacom', 'SmartPad 870 S2', DeviceType::TABLET ], + 'Smartpad 910i aka Teclast A10T' => [ 'Mediacom', 'SmartPad 910i', DeviceType::TABLET ], + 'SmartPad 95s23G' => [ 'Mediacom', 'SmartPad 950 S2', DeviceType::TABLET ], + 'SmartPad970s2' => [ 'Mediacom', 'SmartPad 970 S2', DeviceType::TABLET ], + 'SmartPad970s23G' => [ 'Mediacom', 'SmartPad 970 S2', DeviceType::TABLET ], + 'SmartPad1010i' => [ 'Mediacom', 'SmartPad 1010i', DeviceType::TABLET ], + 'SmartPad 85S23G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], + ], + 'Mediacom 810C' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], 'Xteam Smartpad 810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], 'Xteam 4.8 Smartpad 810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], - 'SmartPad810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], - 'MP810C' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ], - 'M-MP815I' => [ 'Mediacom', 'SmartPad 815i', DeviceType::TABLET ], - 'SmartPad 852i' => [ 'Mediacom', 'SmartPad 825i', DeviceType::TABLET ], - 'M-MP855i' => [ 'Mediacom', 'SmartPad 855i', DeviceType::TABLET ], - 'M-MP860S2' => [ 'Mediacom', 'SmartPad 860 S2', DeviceType::TABLET ], - 'SmartPad870' => [ 'Mediacom', 'SmartPad 870 S2', DeviceType::TABLET ], - 'M-MP85S23G' => [ 'Mediacom', 'SmartPad 875 S2', DeviceType::TABLET ], - 'M-MP875S2' => [ 'Mediacom', 'SmartPad 875 S2', DeviceType::TABLET ], - 'MP907C' => [ 'Mediacom', 'SmartPad 907c', DeviceType::TABLET ], - 'Smartpad 910i aka Teclast A10T' => [ 'Mediacom', 'SmartPad 910i', DeviceType::TABLET ], - 'M-MP917I' => [ 'Mediacom', 'SmartPad 917i', DeviceType::TABLET ], - 'M-MP927I' => [ 'Mediacom', 'SmartPad 927i', DeviceType::TABLET ], '932i' => [ 'Mediacom', 'SmartPad 932i', DeviceType::TABLET ], - 'M-MP940M' => [ 'Mediacom', 'SmartPad 940', DeviceType::TABLET ], - 'SmartPad 95s23G' => [ 'Mediacom', 'SmartPad 950 S2', DeviceType::TABLET ], - 'SmartPad970s2' => [ 'Mediacom', 'SmartPad 970 S2', DeviceType::TABLET ], - 'SmartPad970s23G' => [ 'Mediacom', 'SmartPad 970 S2', DeviceType::TABLET ], - 'SmartPad1010i' => [ 'Mediacom', 'SmartPad 1010i', DeviceType::TABLET ], - 'M-MP1010i' => [ 'Mediacom', 'SmartPad 1010i', DeviceType::TABLET ], - 'M-MP102S2B' => [ 'Mediacom', 'SmartPad 102 S2', DeviceType::TABLET ], - 'M-MP102S2W' => [ 'Mediacom', 'SmartPad 102 S2', DeviceType::TABLET ], - 'M-MP1040S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], - 'M-MP10S4' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], - 'M-MP12S4' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], - 'M-MP1040M' => [ 'Mediacom', 'SmartPad 10.1 HD S4', DeviceType::TABLET ], - 'M-MP1040MC' => [ 'Mediacom', 'SmartPad 10.1 HD S4', DeviceType::TABLET ], - 'M-MP710GO' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], - 'M-MP720GO' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], - 'M-MP726GOx' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], - 'M-MP740GOx' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ], - 'M-MP720M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ], - 'M-MP721M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ], - 'M-MP722M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ], - 'M-MP75S23G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], - 'M-MP7S2A3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], - 'M-MP7S2B3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], - 'M-MP7S2D3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], - 'M-MP7S2K3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ], - 'M-MP7S4A3G' => [ 'Mediacom', 'SmartPad 7.0 S4', DeviceType::TABLET ], - 'M-MP840M' => [ 'Mediacom', 'SmartPad 8.0 Mobile', DeviceType::TABLET ], - 'M-MP842M' => [ 'Mediacom', 'SmartPad 8.0 Mobile', DeviceType::TABLET ], - 'SmartPad 85S23G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], - 'M-MP876S2' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], - 'M-MP8S23G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], - 'M-MP8S2A3G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], - 'M-MP8S2B3G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ], - 'M-MP82S4' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], - 'M-MP84S4' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], - 'M-MP8S4A3G' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], - 'M-MP8S4B3G' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ], - 'M-MP8PA3G' => [ 'Mediacom', 'SmartPad 8.0 HD Pro', DeviceType::TABLET ], - 'M-IPRO110B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro110', DeviceType::TABLET ], - 'M-IPRO800B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro800', DeviceType::TABLET ], - 'M-IPRO810B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro810', DeviceType::TABLET ], - 'M-IPRO810W' => [ 'Mediacom', 'SmartPad 8.0 HD iPro810', DeviceType::TABLET ], - 'M-MP9S4A3G' => [ 'Mediacom', 'SmartPad 9.7 S4', DeviceType::TABLET ], - 'M-MP980S4' => [ 'Mediacom', 'SmartPad 9.7 HD S4', DeviceType::TABLET ], - 'M-MP99S4' => [ 'Mediacom', 'SmartPad 9.7 HD S4', DeviceType::TABLET ], - 'M-MP101S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], - 'M-MP1041S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], - 'M-MP1051S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], - 'M-MP1S2A3G' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ], - 'M-MP1S4A3G' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], - 'M-MP1S4B3G' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ], - 'M-MP10PA' => [ 'Mediacom', 'SmartPad 10.1 HD Pro', DeviceType::TABLET ], - 'M-MP10PA3G' => [ 'Mediacom', 'SmartPad 10.1 HD Pro', DeviceType::TABLET ], - 'M-MPI7A3G' => [ 'Mediacom', 'SmartPad i7', DeviceType::TABLET ], - 'MT7000' => [ 'Mediadroid', 'MASTER-MID GPS', DeviceType::TABLET ], - 'MT7001' => [ 'Mediadroid', 'ENGAGE HQ PRO', DeviceType::TELEVISION ], - 'MT7002' => [ 'Mediadroid', 'ENGAGE HQ', DeviceType::TELEVISION ], - 'MT7003' => [ 'Mediadroid', 'IMPERIUS' ], - 'MT7004' => [ 'Mediadroid', 'CASSIUS', DeviceType::TABLET ], - 'MT7005' => [ 'Mediadroid', 'IMPERIUS AERO' ], - 'MT7005' => [ 'Mediadroid', 'IMPERIUS 4.3 HQ' ], - 'MT7007' => [ 'Mediadroid', 'IMPERIUS II' ], - 'MT7008' => [ 'Mediadroid', 'IMPERIUS N3XT' ], - 'MT7009' => [ 'Mediadroid', 'IMPERIUS SEVEN 3G', DeviceType::TABLET ], - 'MT7010' => [ 'Mediadroid', 'IMPERIUS TAB 10 LT', DeviceType::TABLET ], - 'MT7011' => [ 'Mediadroid', 'IMPERIUS TAB 10', DeviceType::TABLET ], - 'MT7012' => [ 'Mediadroid', 'IMPERIUS TAB 10 3G', DeviceType::TABLET ], - 'MT7013' => [ 'Mediadroid', 'IMPERIUS EN3RGY' ], - 'MT7014' => [ 'Mediadroid', 'IMPERIUS AERO SLIM' ], - 'MT7015' => [ 'Mediadroid', 'IMPERIUS MINI' ], - 'MT7017' => [ 'Mediadroid', 'IMPERIUS ALPHA' ], + + 'MT70[0-9]{2,2}!!' => [ + 'MT7000' => [ 'Mediadroid', 'MASTER-MID GPS', DeviceType::TABLET ], + 'MT7001' => [ 'Mediadroid', 'ENGAGE HQ PRO', DeviceType::TELEVISION ], + 'MT7002' => [ 'Mediadroid', 'ENGAGE HQ', DeviceType::TELEVISION ], + 'MT7003' => [ 'Mediadroid', 'IMPERIUS' ], + 'MT7004' => [ 'Mediadroid', 'CASSIUS', DeviceType::TABLET ], + 'MT7005' => [ 'Mediadroid', 'IMPERIUS AERO' ], + 'MT7005' => [ 'Mediadroid', 'IMPERIUS 4.3 HQ' ], + 'MT7007' => [ 'Mediadroid', 'IMPERIUS II' ], + 'MT7008' => [ 'Mediadroid', 'IMPERIUS N3XT' ], + 'MT7009' => [ 'Mediadroid', 'IMPERIUS SEVEN 3G', DeviceType::TABLET ], + 'MT7010' => [ 'Mediadroid', 'IMPERIUS TAB 10 LT', DeviceType::TABLET ], + 'MT7011' => [ 'Mediadroid', 'IMPERIUS TAB 10', DeviceType::TABLET ], + 'MT7012' => [ 'Mediadroid', 'IMPERIUS TAB 10 3G', DeviceType::TABLET ], + 'MT7013' => [ 'Mediadroid', 'IMPERIUS EN3RGY' ], + 'MT7014' => [ 'Mediadroid', 'IMPERIUS AERO SLIM' ], + 'MT7015' => [ 'Mediadroid', 'IMPERIUS MINI' ], + 'MT7017' => [ 'Mediadroid', 'IMPERIUS ALPHA' ], + ], + 'MTK6516' => [ 'Mediatek', 'MTK6516' ], '(MEDION|(MD )?LIFETAB)!!' => [ @@ -7376,255 +7709,295 @@ ], 'Mi-A402' => [ 'Mi-fone', 'FAB 4.0' ], + + 'Micromax!!' => [ + 'Micromax A24' => [ 'Micromax', 'A24 Bolt' ], + 'Micromax A25' => [ 'Micromax', 'A25 Smarty' ], + 'Micromax A26' => [ 'Micromax', 'A26 Bolt' ], + 'Micromax A27' => [ 'Micromax', 'A27 Bolt' ], + 'Micromax A28' => [ 'Micromax', 'A28 Bolt' ], + 'Micromax A30' => [ 'Micromax', 'A30 Smarty' ], + 'Micromax A34' => [ 'Micromax', 'A34' ], + 'Micromax A35' => [ 'Micromax', 'A35 Bolt' ], + 'Micromax A36' => [ 'Micromax', 'A36 Bolt' ], + 'Micromax A37' => [ 'Micromax', 'A37 Bolt' ], + 'Micromax A37B' => [ 'Micromax', 'A37B Bolt' ], + 'Micromax A40' => [ 'Micromax', 'A40 Bolt' ], + 'Micromax A44' => [ 'Micromax', 'A44 Punk' ], + 'Micromax A46' => [ 'Micromax', 'A46 Bolt' ], + 'Micromax A47' => [ 'Micromax', 'A47 Bolt' ], + 'Micromax A50' => [ 'Micromax', 'A50 Ninja' ], + 'Micromax A51' => [ 'Micromax', 'A51 Bolt' ], + 'Micromax A52' => [ 'Micromax', 'A52 Aisha' ], + 'Micromax-Xzoom A52' => [ 'Micromax', 'A52 Aisha' ], + 'Micromax A54' => [ 'Micromax', 'A54 Ninja' ], + 'Micromax A56' => [ 'Micromax', 'A56 Ninja 2' ], + 'Micromax A57' => [ 'Micromax', 'A57 Ninja 3' ], + 'Micromax A58' => [ 'Micromax', 'A58 Bolt' ], + 'Micromax A59' => [ 'Micromax', 'A59 Bolt' ], + 'Micromax A60' => [ 'Micromax', 'A60 Andro' ], + 'Micromax A61' => [ 'Micromax', 'A61 Bolt' ], + 'Micromax A62' => [ 'Micromax', 'A62 Bolt' ], + 'Micromax A63' => [ 'Micromax', 'A63 Canvas Fun' ], + 'Micromax A65' => [ 'Micromax', 'A65 Smarty' ], + 'Micromax A66' => [ 'Micromax', 'A66 Bolt' ], + 'Micromax A67' => [ 'Micromax', 'A67 Bolt' ], + 'Micromax A68' => [ 'Micromax', 'A68 Smarty' ], + 'Micromax A69' => [ 'Micromax', 'A69 Bolt' ], + 'Micromax A70' => [ 'Micromax', 'A70 Andro' ], + 'Micromax A71' => [ 'Micromax', 'A71 Bolt' ], + 'Micromax A72' => [ 'Micromax', 'A72 Canvas Viva' ], + 'Micromax A73' => [ 'Micromax', 'A73 Buzz' ], + 'Micromax A74' => [ 'Micromax', 'A74 Canvas Fun' ], + 'Micromax A75' => [ 'Micromax', 'A75 Lite' ], + 'Micromax A76' => [ 'Micromax', 'A76 Canvas Fun' ], + 'Micromax A77' => [ 'Micromax', 'A77 Canvas Juice' ], + 'Micromax A78' => [ 'Micromax', 'A78 Gossip' ], + 'Micromax A79' => [ 'Micromax', 'A79 Bolt' ], + 'Micromax A80' => [ 'Micromax', 'A80 Infinity' ], + 'Micromax A84' => [ 'Micromax', 'A84' ], + 'Micromax A85' => [ 'Micromax', 'A85' ], + 'Micromax A86' => [ 'Micromax', 'A86 Bling 3' ], + 'Micromax A87!' => [ 'Micromax', 'A87 Ninja 4' ], + 'Micromax A88' => [ 'Micromax', 'A88 Canvas Music' ], + 'Micromax A89' => [ 'Micromax', 'A89 Ninja' ], + 'Micromax A90!' => [ 'Micromax', 'A90 Pixel' ], + 'Micromax A91' => [ 'Micromax', 'A91 Ninja' ], + 'Micromax A92' => [ 'Micromax', 'A92 Canvas Lite' ], + 'Micromax A93' => [ 'Micromax', 'A93 Canvas Elanza' ], + 'Micromax A94' => [ 'Micromax', 'A94 Canvas Mad' ], + 'Micromax A96' => [ 'Micromax', 'A96 Canvas Power' ], + 'Micromax A99' => [ 'Micromax', 'A99 Canvas Xpress' ], + 'Micromax A064' => [ 'Micromax', 'A064 Bolt' ], + 'Micromax A065' => [ 'Micromax', 'A065 Bolt' ], + 'Micromax A067' => [ 'Micromax', 'A067 Bolt' ], + 'Micromax A068' => [ 'Micromax', 'A068 Bolt' ], + 'Micromax A069' => [ 'Micromax', 'A069 Bolt' ], + 'Micromax A075' => [ 'Micromax', 'A075 Bolt' ], + 'Micromax A082' => [ 'Micromax', 'A082 Bolt' ], + 'Micromax A089' => [ 'Micromax', 'A089 Bolt' ], + 'Micromax A091' => [ 'Micromax', 'A091 Canvas Engage' ], + 'Micromax A092' => [ 'Micromax', 'A092 Canvas Lite' ], + 'Micromax A093' => [ 'Micromax', 'A093 Canvas Fire' ], + 'Micromax A096' => [ 'Micromax', 'A096 Canvas Fire 3' ], + 'Micromax A100' => [ 'Micromax', 'A100 Canvas' ], + 'Micromax A101' => [ 'Micromax', 'A101' ], + 'Micromax A102' => [ 'Micromax', 'A102 Canvas Doodle 3' ], + 'Micromax A104' => [ 'Micromax', 'A104 Canvas Fire' ], + 'Micromax A105' => [ 'Micromax', 'A105 Canvas Entice' ], + 'Micromax A106' => [ 'Micromax', 'A106 Unite 2' ], + 'Micromax A107' => [ 'Micromax', 'A107 Canvas Fire 4' ], + 'Micromax A108' => [ 'Micromax', 'A108 Canvas L' ], + 'Micromax A109' => [ 'Micromax', 'A109 Canvas XL2' ], + 'Micromax A110!' => [ 'Micromax', 'A110 Canvas 2' ], + 'Micromax Canvas 2' => [ 'Micromax', 'A110 Canvas 2' ], + 'Micromax A110 (Canvas 2)' => [ 'Micromax', 'A110 Canvas 2' ], + 'Micromax A111!' => [ 'Micromax', 'A111 Canvas Doodle' ], + 'Micromax A114' => [ 'Micromax', 'A114 Canvas 2.2' ], + 'Micromax A114R' => [ 'Micromax', 'A114R Canvas Beat' ], + 'Micromax A115' => [ 'Micromax', 'A115 Canvas 3D' ], + 'Micromax A116' => [ 'Micromax', 'A116 Canvas HD' ], + 'Micromax A116i' => [ 'Micromax', 'A116i Canvas HD' ], + 'Micromax A117' => [ 'Micromax', 'A117 Canvas Magnus' ], + 'Micromax A118R' => [ 'Micromax', 'A118 Canvas Tube' ], + 'Micromax A119' => [ 'Micromax', 'A119 Canvas XL' ], + 'Micromax A120' => [ 'Micromax', 'A120 Canvas 2 Colors' ], + 'Micromax A121' => [ 'Micromax', 'A120 Canvas Elanza 2' ], + 'Micromax A177' => [ 'Micromax', 'A177 Canvas Juice' ], + 'Micromax A190' => [ 'Micromax', 'A190 Canvas HD Plus' ], + 'Micromax A200' => [ 'Micromax', 'A200 Canvas Turbo Mini' ], + 'Micromax A210' => [ 'Micromax', 'A210 Canvas 4' ], + 'Micromax A240' => [ 'Micromax', 'A240 Canvas Doodle 2' ], + 'Micromax A250' => [ 'Micromax', 'A250 Canvas Turbo' ], + 'Micromax A255' => [ 'Micromax', 'A255 Canvas Selfie' ], + 'Micromax A290' => [ 'Micromax', 'A290 Canvas Knight Cameo' ], + 'Micromax A300' => [ 'Micromax', 'A300 Canvas Gold' ], + 'Micromax A310' => [ 'Micromax', 'A310 Canvas Nitro' ], + 'Micromax A311' => [ 'Micromax', 'A311 Canvas Nitro' ], + 'Micromax A315' => [ 'Micromax', 'A315 Canvas 4 Plus' ], + 'Micromax A350' => [ 'Micromax', 'A350 Canvas Knight' ], + 'Micromax AD3520' => [ 'Micromax', 'AD3520 Bolt' ], + 'Micromax AD4500' => [ 'Micromax', 'AQ4500 Bolt' ], + 'Micromax AQ4501' => [ 'Micromax', 'AQ4501 Canvas A1' ], + 'Micromax AQ4502' => [ 'Micromax', 'AQ4502 Canvas A1' ], + 'Micromax AQ5000' => [ 'Micromax', 'AQ5000 Canvas Hue' ], + 'Micromax AQ5001' => [ 'Micromax', 'AQ5001 Canvas Juice 2' ], + 'Micromax D200' => [ 'Micromax', 'D200 Bolt' ], + 'Micromax E313' => [ 'Micromax', 'E313 Canvas Express 2' ], + 'Micromax F666' => [ 'Micromax', 'F666' ], + 'Micromax P250(Funbook)' => [ 'Micromax', 'Funbook Alpha P250', DeviceType::TABLET ], + 'Micromax P255' => [ 'Micromax', 'Funbook P255', DeviceType::TABLET ], + 'Micromax P275' => [ 'Micromax', 'Funbook Infinity P275', DeviceType::TABLET ], + 'Micromax P280' => [ 'Micromax', 'Funbook P280', DeviceType::TABLET ], + 'Micromax P350' => [ 'Micromax', 'Funbook P350', DeviceType::TABLET ], + 'Micromax P360' => [ 'Micromax', 'Funbook Talk P360', DeviceType::TABLET ], + 'Micromax P362' => [ 'Micromax', 'Funbook Talk P362', DeviceType::TABLET ], + 'Micromax P365' => [ 'Micromax', 'Funbook P365', DeviceType::TABLET ], + 'Micromax P410' => [ 'Micromax', 'Funbook Mini P410', DeviceType::TABLET ], + 'Micromax P410i' => [ 'Micromax', 'Funbook Mini P410i', DeviceType::TABLET ], + 'Micromax P470' => [ 'Micromax', 'Canvas Tab P470', DeviceType::TABLET ], + 'MicromaxP480' => [ 'Micromax', 'Canvas Tab P480', DeviceType::TABLET ], + 'Micromax P500(Funbook)' => [ 'Micromax', 'Funbook Pro P500', DeviceType::TABLET ], + 'Micromax P560' => [ 'Micromax', 'Funbook 3G P560', DeviceType::TABLET ], + 'Micromax P580' => [ 'Micromax', 'Funbook Ultra HD P580', DeviceType::TABLET ], + 'Micromax P600' => [ 'Micromax', 'Funbook 3G P600', DeviceType::TABLET ], + 'Micromax P650' => [ 'Micromax', 'Canvas Tab P650', DeviceType::TABLET ], + 'Micromax P666' => [ 'Micromax', 'Canvas Tab P666', DeviceType::TABLET ], + 'Micromax P690' => [ 'Micromax', 'Canvas Tab P690', DeviceType::TABLET ], + 'Micromax Q334' => [ 'Micromax', 'Q334 Canvas Spark 2' ], + 'Micromax Q338' => [ 'Micromax', 'Q338 Bolt' ], + 'Micromax Q355' => [ 'Micromax', 'Q355 Canvas Play' ], + 'Micromax Q372' => [ 'Micromax', 'Q372 Unite 3' ], + 'Micromax Q380' => [ 'Micromax', 'Q380 Canvas Spark' ], + 'Micromax Q391' => [ 'Micromax', 'Q391 Canvas Doodle 4' ], + 'Micromax Q400' => [ 'Micromax', 'Q400' ], + 'Micromax S300' => [ 'Micromax', 'S300 Bolt' ], + ], + 'A13' => [ 'Micromax', 'A13' ], - 'Micromax A24' => [ 'Micromax', 'A24 Bolt' ], - 'Micromax A25' => [ 'Micromax', 'A25 Smarty' ], - 'Micromax A26' => [ 'Micromax', 'A26 Bolt' ], - 'Micromax A27' => [ 'Micromax', 'A27 Bolt' ], - 'Micromax A28' => [ 'Micromax', 'A28 Bolt' ], - 'Micromax A30' => [ 'Micromax', 'A30 Smarty' ], - 'Micromax A34' => [ 'Micromax', 'A34' ], - 'Micromax A35' => [ 'Micromax', 'A35 Bolt' ], - 'Micromax A36' => [ 'Micromax', 'A36 Bolt' ], - 'Micromax A37' => [ 'Micromax', 'A37 Bolt' ], - 'Micromax A37B' => [ 'Micromax', 'A37B Bolt' ], - 'Micromax A40' => [ 'Micromax', 'A40 Bolt' ], - 'Micromax A44' => [ 'Micromax', 'A44 Punk' ], 'A45' => [ 'Micromax', 'A45 Punk' ], - 'Micromax A46' => [ 'Micromax', 'A46 Bolt' ], - 'Micromax A47' => [ 'Micromax', 'A47 Bolt' ], - 'Micromax A50' => [ 'Micromax', 'A50 Ninja' ], - 'Micromax A51' => [ 'Micromax', 'A51 Bolt' ], - 'Micromax A52' => [ 'Micromax', 'A52 Aisha' ], 'A52' => [ 'Micromax', 'A52 Aisha' ], - 'Micromax-Xzoom A52' => [ 'Micromax', 'A52 Aisha' ], - 'Micromax A54' => [ 'Micromax', 'A54 Ninja' ], - 'Micromax A56' => [ 'Micromax', 'A56 Ninja 2' ], - 'Micromax A57' => [ 'Micromax', 'A57 Ninja 3' ], - 'Micromax A58' => [ 'Micromax', 'A58 Bolt' ], - 'Micromax A59' => [ 'Micromax', 'A59 Bolt' ], - 'Micromax A60' => [ 'Micromax', 'A60 Andro' ], - 'Micromax A61' => [ 'Micromax', 'A61 Bolt' ], - 'Micromax A62' => [ 'Micromax', 'A62 Bolt' ], - 'Micromax A63' => [ 'Micromax', 'A63 Canvas Fun' ], - 'Micromax A65' => [ 'Micromax', 'A65 Smarty' ], - 'Micromax A66' => [ 'Micromax', 'A66 Bolt' ], - 'Micromax A67' => [ 'Micromax', 'A67 Bolt' ], - 'Micromax A68' => [ 'Micromax', 'A68 Smarty' ], - 'Micromax A69' => [ 'Micromax', 'A69 Bolt' ], - 'Micromax A70' => [ 'Micromax', 'A70 Andro' ], - 'Micromax A71' => [ 'Micromax', 'A71 Bolt' ], - 'Micromax A72' => [ 'Micromax', 'A72 Canvas Viva' ], - 'Micromax A73' => [ 'Micromax', 'A73 Buzz' ], - 'Micromax A74' => [ 'Micromax', 'A74 Canvas Fun' ], - 'Micromax A75' => [ 'Micromax', 'A75 Lite' ], - 'Micromax A76' => [ 'Micromax', 'A76 Canvas Fun' ], - 'Micromax A77' => [ 'Micromax', 'A77 Canvas Juice' ], - 'Micromax A78' => [ 'Micromax', 'A78 Gossip' ], - 'Micromax A79' => [ 'Micromax', 'A79 Bolt' ], - 'Micromax A80' => [ 'Micromax', 'A80 Infinity' ], - 'Micromax A84' => [ 'Micromax', 'A84' ], - 'Micromax A85' => [ 'Micromax', 'A85' ], - 'Micromax A86' => [ 'Micromax', 'A86 Bling 3' ], - 'Micromax A87!' => [ 'Micromax', 'A87 Ninja 4' ], - 'Micromax A88' => [ 'Micromax', 'A88 Canvas Music' ], - 'Micromax A89' => [ 'Micromax', 'A89 Ninja' ], - 'Micromax A90!' => [ 'Micromax', 'A90 Pixel' ], 'A90S' => [ 'Micromax', 'A90S Pixel' ], - 'Micromax A91' => [ 'Micromax', 'A91 Ninja' ], - 'Micromax A92' => [ 'Micromax', 'A92 Canvas Lite' ], - 'Micromax A93' => [ 'Micromax', 'A93 Canvas Elanza' ], - 'Micromax A94' => [ 'Micromax', 'A94 Canvas Mad' ], - 'Micromax A96' => [ 'Micromax', 'A96 Canvas Power' ], - 'Micromax A99' => [ 'Micromax', 'A99 Canvas Xpress' ], - 'Micromax A064' => [ 'Micromax', 'A064 Bolt' ], - 'Micromax A065' => [ 'Micromax', 'A065 Bolt' ], - 'Micromax A067' => [ 'Micromax', 'A067 Bolt' ], - 'Micromax A068' => [ 'Micromax', 'A068 Bolt' ], - 'Micromax A069' => [ 'Micromax', 'A069 Bolt' ], - 'Micromax A075' => [ 'Micromax', 'A075 Bolt' ], - 'Micromax A082' => [ 'Micromax', 'A082 Bolt' ], - 'Micromax A089' => [ 'Micromax', 'A089 Bolt' ], - 'Micromax A091' => [ 'Micromax', 'A091 Canvas Engage' ], - 'Micromax A092' => [ 'Micromax', 'A092 Canvas Lite' ], - 'Micromax A093' => [ 'Micromax', 'A093 Canvas Fire' ], - 'Micromax A096' => [ 'Micromax', 'A096 Canvas Fire 3' ], - 'Micromax A100' => [ 'Micromax', 'A100 Canvas' ], - 'Micromax A101' => [ 'Micromax', 'A101' ], - 'Micromax A102' => [ 'Micromax', 'A102 Canvas Doodle 3' ], - 'Micromax A104' => [ 'Micromax', 'A104 Canvas Fire' ], - 'Micromax A105' => [ 'Micromax', 'A105 Canvas Entice' ], - 'Micromax A106' => [ 'Micromax', 'A106 Unite 2' ], - 'Micromax A107' => [ 'Micromax', 'A107 Canvas Fire 4' ], - 'Micromax A108' => [ 'Micromax', 'A108 Canvas L' ], - 'Micromax A109' => [ 'Micromax', 'A109 Canvas XL2' ], - 'Micromax A110!' => [ 'Micromax', 'A110 Canvas 2' ], - 'Micromax Canvas 2' => [ 'Micromax', 'A110 Canvas 2' ], - 'Micromax A110 (Canvas 2)' => [ 'Micromax', 'A110 Canvas 2' ], 'A110Q' => [ 'Micromax', 'A110Q Canvas 2 Plus' ], 'A110Q Canvas 2 Plus' => [ 'Micromax', 'A110Q Canvas 2 Plus' ], 'A110Q Canvas 2+' => [ 'Micromax', 'A110Q Canvas 2 Plus' ], - 'Micromax A111!' => [ 'Micromax', 'A111 Canvas Doodle' ], - 'Micromax A114' => [ 'Micromax', 'A114 Canvas 2.2' ], - 'Micromax A114R' => [ 'Micromax', 'A114R Canvas Beat' ], - 'Micromax A115' => [ 'Micromax', 'A115 Canvas 3D' ], - 'Micromax A116' => [ 'Micromax', 'A116 Canvas HD' ], - 'Micromax A116i' => [ 'Micromax', 'A116i Canvas HD' ], - 'Micromax A117' => [ 'Micromax', 'A117 Canvas Magnus' ], - 'Micromax A118R' => [ 'Micromax', 'A118 Canvas Tube' ], - 'Micromax A119' => [ 'Micromax', 'A119 Canvas XL' ], - 'Micromax A120' => [ 'Micromax', 'A120 Canvas 2 Colors' ], - 'Micromax A121' => [ 'Micromax', 'A120 Canvas Elanza 2' ], - 'Micromax A177' => [ 'Micromax', 'A177 Canvas Juice' ], - 'Micromax A190' => [ 'Micromax', 'A190 Canvas HD Plus' ], - 'Micromax A200' => [ 'Micromax', 'A200 Canvas Turbo Mini' ], - 'Micromax A210' => [ 'Micromax', 'A210 Canvas 4' ], - 'Micromax A240' => [ 'Micromax', 'A240 Canvas Doodle 2' ], - 'Micromax A250' => [ 'Micromax', 'A250 Canvas Turbo' ], - 'Micromax A255' => [ 'Micromax', 'A255 Canvas Selfie' ], - 'Micromax A290' => [ 'Micromax', 'A290 Canvas Knight Cameo' ], - 'Micromax A300' => [ 'Micromax', 'A300 Canvas Gold' ], - 'Micromax A310' => [ 'Micromax', 'A310 Canvas Nitro' ], - 'Micromax A311' => [ 'Micromax', 'A311 Canvas Nitro' ], - 'Micromax A315' => [ 'Micromax', 'A315 Canvas 4 Plus' ], - 'Micromax A350' => [ 'Micromax', 'A350 Canvas Knight' ], - 'Micromax AD3520' => [ 'Micromax', 'AD3520 Bolt' ], - 'Micromax AD4500' => [ 'Micromax', 'AQ4500 Bolt' ], - 'Micromax AQ4501' => [ 'Micromax', 'AQ4501 Canvas A1' ], - 'Micromax AQ4502' => [ 'Micromax', 'AQ4502 Canvas A1' ], - 'Micromax AQ5000' => [ 'Micromax', 'AQ5000 Canvas Hue' ], - 'Micromax AQ5001' => [ 'Micromax', 'AQ5001 Canvas Juice 2' ], - 'Micromax D200' => [ 'Micromax', 'D200 Bolt' ], - 'Micromax E313' => [ 'Micromax', 'E313 Canvas Express 2' ], - 'Micromax F666' => [ 'Micromax', 'F666' ], - 'Micromax P250(Funbook)' => [ 'Micromax', 'Funbook Alpha P250', DeviceType::TABLET ], - 'Micromax P255' => [ 'Micromax', 'Funbook P255', DeviceType::TABLET ], - 'Micromax P275' => [ 'Micromax', 'Funbook Infinity P275', DeviceType::TABLET ], - 'Micromax P280' => [ 'Micromax', 'Funbook P280', DeviceType::TABLET ], 'P300(Funbook)' => [ 'Micromax', 'Funbook P300', DeviceType::TABLET ], - 'Micromax P350' => [ 'Micromax', 'Funbook P350', DeviceType::TABLET ], - 'Micromax P360' => [ 'Micromax', 'Funbook Talk P360', DeviceType::TABLET ], - 'Micromax P362' => [ 'Micromax', 'Funbook Talk P362', DeviceType::TABLET ], - 'Micromax P365' => [ 'Micromax', 'Funbook P365', DeviceType::TABLET ], - 'Micromax P410' => [ 'Micromax', 'Funbook Mini P410', DeviceType::TABLET ], - 'Micromax P410i' => [ 'Micromax', 'Funbook Mini P410i', DeviceType::TABLET ], - 'Micromax P470' => [ 'Micromax', 'Canvas Tab P470', DeviceType::TABLET ], - 'MicromaxP480' => [ 'Micromax', 'Canvas Tab P480', DeviceType::TABLET ], - 'Micromax P500(Funbook)' => [ 'Micromax', 'Funbook Pro P500', DeviceType::TABLET ], - 'Micromax P560' => [ 'Micromax', 'Funbook 3G P560', DeviceType::TABLET ], - 'Micromax P580' => [ 'Micromax', 'Funbook Ultra HD P580', DeviceType::TABLET ], - 'Micromax P600' => [ 'Micromax', 'Funbook 3G P600', DeviceType::TABLET ], - 'Micromax P650' => [ 'Micromax', 'Canvas Tab P650', DeviceType::TABLET ], - 'Micromax P666' => [ 'Micromax', 'Canvas Tab P666', DeviceType::TABLET ], - 'Micromax P690' => [ 'Micromax', 'Canvas Tab P690', DeviceType::TABLET ], - 'Micromax Q334' => [ 'Micromax', 'Q334 Canvas Spark 2' ], - 'Micromax Q338' => [ 'Micromax', 'Q338 Bolt' ], - 'Micromax Q355' => [ 'Micromax', 'Q355 Canvas Play' ], - 'Micromax Q372' => [ 'Micromax', 'Q372 Unite 3' ], - 'Micromax Q380' => [ 'Micromax', 'Q380 Canvas Spark' ], - 'Micromax Q391' => [ 'Micromax', 'Q391 Canvas Doodle 4' ], - 'Micromax Q400' => [ 'Micromax', 'Q400' ], - 'Micromax S300' => [ 'Micromax', 'S300 Bolt' ], - 'MLLED M1B' => [ 'MLLED', 'M1B' ], - 'MLLED M2+' => [ 'MLLED', 'M2+' ], - 'MLLED M3 MINI' => [ 'MLLED', 'M3 MINI' ], - 'MLLED M7S' => [ 'MLLED', 'M7S' ], - 'MLLED M8' => [ 'MLLED', 'M8' ], - 'MLLED M8S' => [ 'MLLED', 'M8S' ], - 'MLLED X3S' => [ 'MLLED', 'X3S' ], - 'MioCARE A105' => [ 'Mitac', 'MioCARE A105' ], - 'MioCare 6119' => [ 'Mitac', 'MioCARE 6119' ], - 'MioPad 6' => [ 'Mitac', 'MioPad 6', DeviceType::TABLET ], + + 'MLLED!!' => [ + 'MLLED M1B' => [ 'MLLED', 'M1B' ], + 'MLLED M2+' => [ 'MLLED', 'M2+' ], + 'MLLED M3 MINI' => [ 'MLLED', 'M3 MINI' ], + 'MLLED M7S' => [ 'MLLED', 'M7S' ], + 'MLLED M8' => [ 'MLLED', 'M8' ], + 'MLLED M8S' => [ 'MLLED', 'M8S' ], + 'MLLED X3S' => [ 'MLLED', 'X3S' ], + ], + + 'Mio!!' => [ + 'MioCARE A105' => [ 'Mitac', 'MioCARE A105' ], + 'MioCare 6119' => [ 'Mitac', 'MioCARE 6119' ], + 'MioPad 6' => [ 'Mitac', 'MioPad 6', DeviceType::TABLET ], + ], + 'MIZ Z2' => [ 'Miz', 'Z2' ], - 'iQTalk Crystal' => [ 'MLS', 'iQTalk Crystal' ], - 'iQTalk Crystal Max' => [ 'MLS', 'iQTalk Crystal Max' ], - 'iQTalk King' => [ 'MLS', 'iQTalk King' ], - 'iQTab' => [ 'MLS', 'iQTab', DeviceType::TABLET ], - 'iQTab 3G' => [ 'MLS', 'iQTab 3G', DeviceType::TABLET ], - 'iQTab Astro 3G' => [ 'MLS', 'iQTab Astro 3G', DeviceType::TABLET ], - 'Nova A' => [ 'Mobell', 'Nova A' ], - 'Nova E' => [ 'Mobell', 'Nova E' ], - 'Nova F' => [ 'Mobell', 'Nova F' ], - 'mobiistar PRIME 558' => [ 'Mobiistar', 'Prime 558' ], - 'Mobiistar S01' => [ 'Mobiistar', 'Touch S01' ], - 'Mobiistar Touch S01' => [ 'Mobiistar', 'Touch S01' ], - 'Mobiistar Touch S02i' => [ 'Mobiistar', 'Touch S02i' ], - 'Mobiistar Touch S03' => [ 'Mobiistar', 'Touch S03' ], - 'Mobiistar Touch S05' => [ 'Mobiistar', 'Touch S05' ], - 'Mobiistar Touch S06' => [ 'Mobiistar', 'Touch S06' ], - 'Mobiistar Touch S07' => [ 'Mobiistar', 'Touch S07' ], - 'Mobiistar Touch S08' => [ 'Mobiistar', 'Touch S08' ], - 'Mobiistar Touch S30' => [ 'Mobiistar', 'Touch S30' ], - 'mobiistar touch S31' => [ 'Mobiistar', 'Touch S31' ], - 'mobiistar touch BEAN 402' => [ 'Mobiistar', 'Touch Bean 402' ], - 'mobiistar touch BEAN 402c' => [ 'Mobiistar', 'Touch Bean 402C' ], - 'mobiistar touch Bean 402s' => [ 'Mobiistar', 'Touch Bean 402S' ], - 'mobiistar touch BEAN 402m' => [ 'Mobiistar', 'Touch Bean 402M' ], - 'Mobiistar Touch Bean 452' => [ 'Mobiistar', 'Touch Bean 452' ], - 'Mobiistar Touch JellyBean 452' => [ 'Mobiistar', 'Touch Bean 452' ], - 'Mobiistar Touch Jelly Bean 452' => [ 'Mobiistar', 'Touch Bean 452' ], - 'mobiistar touch BEAN 452T' => [ 'Mobiistar', 'Touch Bean 452T' ], - 'Mobiistar Bean 452T' => [ 'Mobiistar', 'Touch Bean 452T' ], - 'mobiistar touch BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ], + + 'iQ(Talk|Tab)!!' => [ + 'iQTalk Crystal' => [ 'MLS', 'iQTalk Crystal' ], + 'iQTalk Crystal Max' => [ 'MLS', 'iQTalk Crystal Max' ], + 'iQTalk King' => [ 'MLS', 'iQTalk King' ], + 'iQTab' => [ 'MLS', 'iQTab', DeviceType::TABLET ], + 'iQTab 3G' => [ 'MLS', 'iQTab 3G', DeviceType::TABLET ], + 'iQTab Astro 3G' => [ 'MLS', 'iQTab Astro 3G', DeviceType::TABLET ], + ], + + 'Nova!!' => [ + 'Nova A' => [ 'Mobell', 'Nova A' ], + 'Nova E' => [ 'Mobell', 'Nova E' ], + 'Nova F' => [ 'Mobell', 'Nova F' ], + ], + + 'Mobiistar!!' => [ + 'mobiistar PRIME 558' => [ 'Mobiistar', 'Prime 558' ], + 'Mobiistar S01' => [ 'Mobiistar', 'Touch S01' ], + 'Mobiistar Touch S01' => [ 'Mobiistar', 'Touch S01' ], + 'Mobiistar Touch S02i' => [ 'Mobiistar', 'Touch S02i' ], + 'Mobiistar Touch S03' => [ 'Mobiistar', 'Touch S03' ], + 'Mobiistar Touch S05' => [ 'Mobiistar', 'Touch S05' ], + 'Mobiistar Touch S06' => [ 'Mobiistar', 'Touch S06' ], + 'Mobiistar Touch S07' => [ 'Mobiistar', 'Touch S07' ], + 'Mobiistar Touch S08' => [ 'Mobiistar', 'Touch S08' ], + 'Mobiistar Touch S30' => [ 'Mobiistar', 'Touch S30' ], + 'mobiistar touch S31' => [ 'Mobiistar', 'Touch S31' ], + 'mobiistar touch BEAN 402' => [ 'Mobiistar', 'Touch Bean 402' ], + 'mobiistar touch BEAN 402c' => [ 'Mobiistar', 'Touch Bean 402C' ], + 'mobiistar touch Bean 402s' => [ 'Mobiistar', 'Touch Bean 402S' ], + 'mobiistar touch BEAN 402m' => [ 'Mobiistar', 'Touch Bean 402M' ], + 'Mobiistar Touch Bean 452' => [ 'Mobiistar', 'Touch Bean 452' ], + 'Mobiistar Touch JellyBean 452' => [ 'Mobiistar', 'Touch Bean 452' ], + 'Mobiistar Touch Jelly Bean 452' => [ 'Mobiistar', 'Touch Bean 452' ], + 'mobiistar touch BEAN 452T' => [ 'Mobiistar', 'Touch Bean 452T' ], + 'Mobiistar Bean 452T' => [ 'Mobiistar', 'Touch Bean 452T' ], + 'mobiistar touch BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ], + 'Mobiistar Touch Kem 350' => [ 'Mobiistar', 'Touch Kem 350' ], + 'Mobiistar Touch Kem 351' => [ 'Mobiistar', 'Touch Kem 351' ], + 'Mobiistar Touch Kem 402' => [ 'Mobiistar', 'Touch Kem 402' ], + 'Mobiistar Touch Kem 432' => [ 'Mobiistar', 'Touch Kem 432' ], + 'Mobiistar Touch Kem 452' => [ 'Mobiistar', 'Touch Kem 452' ], + 'Mobiistar Touch KEM 452 HDMI' => [ 'Mobiistar', 'Touch Kem 452' ], + 'Mobiistar touch KEM 462' => [ 'Mobiistar', 'Touch Kem 462' ], + 'Mobiistar Touch Lai 502' => [ 'Mobiistar', 'Touch Lai 502' ], + 'mobiistar touch LAI 504' => [ 'Mobiistar', 'Touch Lai 504' ], + 'mobiistar LAI 504m' => [ 'Mobiistar', 'Touch Lai 504M' ], + 'mobiistar touch LAI 504Q' => [ 'Mobiistar', 'Touch Lai 504Q' ], + 'mobiistar touch LAI 512' => [ 'Mobiistar', 'Touch Lai 512' ], + ], + 'BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ], 'MBS BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ], - 'Mobiistar Touch Kem 350' => [ 'Mobiistar', 'Touch Kem 350' ], - 'Mobiistar Touch Kem 351' => [ 'Mobiistar', 'Touch Kem 351' ], - 'Mobiistar Touch Kem 402' => [ 'Mobiistar', 'Touch Kem 402' ], - 'Mobiistar Touch Kem 432' => [ 'Mobiistar', 'Touch Kem 432' ], - 'Mobiistar Touch Kem 452' => [ 'Mobiistar', 'Touch Kem 452' ], - 'Mobiistar Touch KEM 452 HDMI' => [ 'Mobiistar', 'Touch Kem 452' ], - 'Mobiistar touch KEM 462' => [ 'Mobiistar', 'Touch Kem 462' ], - 'Mobiistar Touch Lai 502' => [ 'Mobiistar', 'Touch Lai 502' ], - 'mobiistar touch LAI 504' => [ 'Mobiistar', 'Touch Lai 504' ], - 'mobiistar LAI 504m' => [ 'Mobiistar', 'Touch Lai 504M' ], - 'mobiistar touch LAI 504Q' => [ 'Mobiistar', 'Touch Lai 504Q' ], - 'mobiistar touch LAI 512' => [ 'Mobiistar', 'Touch Lai 512' ], 'edenTAB ET-701' => [ 'Mobile In Style', 'Eden TAB ET-701', DeviceType::TABLET ], - 'Cynus E1' => [ 'Mobistel', 'Cynus E1' ], - 'Cynus F3' => [ 'Mobistel', 'Cynus F3' ], - 'Cynus F4' => [ 'Mobistel', 'Cynus F4' ], - 'Cynus F5' => [ 'Mobistel', 'Cynus F5' ], - 'Cynus F6' => [ 'Mobistel', 'Cynus F6' ], - 'Cynus F8' => [ 'Mobistel', 'Cynus F8' ], - 'Cynus T1' => [ 'Mobistel', 'Cynus T1' ], - 'Cynus T2' => [ 'Mobistel', 'Cynus T2' ], - 'Cynus T5' => [ 'Mobistel', 'Cynus T5' ], - 'Cynus T6' => [ 'Mobistel', 'Cynus T6' ], - 'Cynus T7' => [ 'Mobistel', 'Cynus T7' ], - 'Cynus T8' => [ 'Mobistel', 'Cynus T8' ], + + 'Cynus!!' => [ + 'Cynus E1' => [ 'Mobistel', 'Cynus E1' ], + 'Cynus F3' => [ 'Mobistel', 'Cynus F3' ], + 'Cynus F4' => [ 'Mobistel', 'Cynus F4' ], + 'Cynus F5' => [ 'Mobistel', 'Cynus F5' ], + 'Cynus F6' => [ 'Mobistel', 'Cynus F6' ], + 'Cynus F8' => [ 'Mobistel', 'Cynus F8' ], + 'Cynus T1' => [ 'Mobistel', 'Cynus T1' ], + 'Cynus T2' => [ 'Mobistel', 'Cynus T2' ], + 'Cynus T5' => [ 'Mobistel', 'Cynus T5' ], + 'Cynus T6' => [ 'Mobistel', 'Cynus T6' ], + 'Cynus T7' => [ 'Mobistel', 'Cynus T7' ], + 'Cynus T8' => [ 'Mobistel', 'Cynus T8' ], + ], + 'MOCHE SMART A16' => [ 'Moche', 'Smart A16' ], - 'FreeTAB 10.1 Silver' => [ 'Modecom', 'FreeTAB 10.1 Silver', DeviceType::TABLET ], - 'FreeTAB 1001' => [ 'Modecom', 'FreeTAB 1001', DeviceType::TABLET ], - 'MODECOM FreeTab 1002 IPS X2' => [ 'Modecom', 'FreeTAB 1002 IPS X2', DeviceType::TABLET ], - 'FreeTAB 1003' => [ 'Modecom', 'FreeTAB 1003', DeviceType::TABLET ], - 'FreeTAB1003' => [ 'Modecom', 'FreeTAB 1003', DeviceType::TABLET ], - 'FreeTAB 1014 IPS X4 3G+' => [ 'Modecom', 'FreeTAB 1014 IPS X4', DeviceType::TABLET ], - 'MODECOM FreeTAB 2096+ X2 4GB' => [ 'Modecom', 'FreeTAB 2096 X2', DeviceType::TABLET ], - 'FreeTAB 7001 HD IC' => [ 'Modecom', 'FreeTAB 7001 HD IC', DeviceType::TABLET ], - 'FreeTAB 7800 IPS IC' => [ 'Modecom', 'FreeTAB 7800 IPS IC', DeviceType::TABLET ], - 'FreeTAB 8001 IPS X2 3G+' => [ 'Modecom', 'FreeTAB 8001 IPS X2', DeviceType::TABLET ], - 'MODECOM FreeTAB 8001 IPS X23G' => [ 'Modecom', 'FreeTAB 8001 IPS X2', DeviceType::TABLET ], - 'FreeTAB 8014 IPS X4' => [ 'Modecom', 'FreeTAB 8014 IPS X4', DeviceType::TABLET ], - 'FreeTAB 9000 IPS IC' => [ 'Modecom', 'FreeTAB 9000 IPS IC', DeviceType::TABLET ], - 'FreeTAB 9000 IPS ICG' => [ 'Modecom', 'FreeTAB 9000 IPS ICG', DeviceType::TABLET ], - 'FreeTAB 9000 IPS ICG 3G' => [ 'Modecom', 'FreeTAB 9000 IPS ICG', DeviceType::TABLET ], - 'FreeTAB 9701' => [ 'Modecom', 'FreeTAB 9701', DeviceType::TABLET ], - 'FreeTAB 9701 HD X1' => [ 'Modecom', 'FreeTAB 9701 HD X1', DeviceType::TABLET ], - 'FreeTAB 9701 IPS' => [ 'Modecom', 'FreeTAB 9701 IPS', DeviceType::TABLET ], - 'MODECOM FreeTAB 9702 IPS X2' => [ 'Modecom', 'FreeTAB 9702 IPS X2', DeviceType::TABLET ], - 'FreeTAB 9704 IPS2 X4' => [ 'Modecom', 'FreeTAB 9704 IPS2 X4', DeviceType::TABLET ], - 'MOGU-M0' => [ 'Mogu', 'M0' ], - 'MOGU M2' => [ 'Mogu', 'M2' ], - 'MOGU M2 ROM' => [ 'Mogu', 'M2' ], - 'MOGU-M2' => [ 'Mogu', 'M2' ], - 'moii-E502' => [ 'moii', 'E502' ], - 'moii E505' => [ 'moii', 'E505' ], - 'moii E598' => [ 'moii', 'E598' ], - 'Moii E801' => [ 'moii', 'E801' ], - 'moii E893' => [ 'moii', 'E893' ], - 'Moii E990' => [ 'moii', 'E990' ], - 'moii E996' => [ 'moii', 'E996' ], + + '(MODECOM )?FreeTAB!!' => [ + 'FreeTAB 7.5 IPS X4 3G+' => [ 'Modecom', 'FreeTAB 7.5 IPS X4', DeviceType::TABLET ], + 'FreeTAB 10.1 Silver' => [ 'Modecom', 'FreeTAB 10.1 Silver', DeviceType::TABLET ], + 'FreeTAB 1001' => [ 'Modecom', 'FreeTAB 1001', DeviceType::TABLET ], + 'MODECOM FreeTab 1002 IPS X2' => [ 'Modecom', 'FreeTAB 1002 IPS X2', DeviceType::TABLET ], + 'FreeTAB 1003' => [ 'Modecom', 'FreeTAB 1003', DeviceType::TABLET ], + 'FreeTAB1003' => [ 'Modecom', 'FreeTAB 1003', DeviceType::TABLET ], + 'FreeTAB 1014 IPS X4+' => [ 'Modecom', 'FreeTAB 1014 IPS X4', DeviceType::TABLET ], + 'FreeTAB 1014 IPS X4 3G+' => [ 'Modecom', 'FreeTAB 1014 IPS X4', DeviceType::TABLET ], + 'MODECOM FreeTAB 2096+ X2 4GB' => [ 'Modecom', 'FreeTAB 2096 X2', DeviceType::TABLET ], + 'FreeTAB 7001 HD IC' => [ 'Modecom', 'FreeTAB 7001 HD IC', DeviceType::TABLET ], + 'FreeTAB 7003 HD+ X2 3G+' => [ 'Modecom', 'FreeTAB 7003 HD+ X2', DeviceType::TABLET ], + 'FreeTAB 7800 IPS IC' => [ 'Modecom', 'FreeTAB 7800 IPS IC', DeviceType::TABLET ], + 'FreeTAB 8001 IPS X2 3G+' => [ 'Modecom', 'FreeTAB 8001 IPS X2', DeviceType::TABLET ], + 'MODECOM FreeTAB 8001 IPS X23G' => [ 'Modecom', 'FreeTAB 8001 IPS X2', DeviceType::TABLET ], + 'FreeTAB 8014 IPS X4' => [ 'Modecom', 'FreeTAB 8014 IPS X4', DeviceType::TABLET ], + 'FreeTAB 9000 IPS IC' => [ 'Modecom', 'FreeTAB 9000 IPS IC', DeviceType::TABLET ], + 'FreeTAB 9000 IPS ICG' => [ 'Modecom', 'FreeTAB 9000 IPS ICG', DeviceType::TABLET ], + 'FreeTAB 9000 IPS ICG 3G' => [ 'Modecom', 'FreeTAB 9000 IPS ICG', DeviceType::TABLET ], + 'FreeTAB 9701' => [ 'Modecom', 'FreeTAB 9701', DeviceType::TABLET ], + 'FreeTAB 9701 HD X1' => [ 'Modecom', 'FreeTAB 9701 HD X1', DeviceType::TABLET ], + 'FreeTAB 9701 IPS' => [ 'Modecom', 'FreeTAB 9701 IPS', DeviceType::TABLET ], + 'FreeTAB 9702 HD X2' => [ 'Modecom', 'FreeTAB 9702 HD X2', DeviceType::TABLET ], + 'FreeTAB 9702 HD X4' => [ 'Modecom', 'FreeTAB 9702 HD X4', DeviceType::TABLET ], + 'MODECOM FreeTAB 9702 IPS X2' => [ 'Modecom', 'FreeTAB 9702 IPS X2', DeviceType::TABLET ], + 'FreeTAB 9704 IPS2 X4' => [ 'Modecom', 'FreeTAB 9704 IPS2 X4', DeviceType::TABLET ], + ], + + 'MOGU!!' => [ + 'MOGU-M0' => [ 'Mogu', 'M0' ], + 'MOGU M2' => [ 'Mogu', 'M2' ], + 'MOGU M2 ROM' => [ 'Mogu', 'M2' ], + 'MOGU-M2' => [ 'Mogu', 'M2' ], + ], + + 'moii!!' => [ + 'moii-E502' => [ 'moii', 'E502' ], + 'moii E505' => [ 'moii', 'E505' ], + 'moii E598' => [ 'moii', 'E598' ], + 'Moii E801' => [ 'moii', 'E801' ], + 'moii E893' => [ 'moii', 'E893' ], + 'Moii E990' => [ 'moii', 'E990' ], + 'moii E996' => [ 'moii', 'E996' ], + ], + 'AT735' => [ 'Moinstone', 'AT735', DeviceType::TABLET ], 'MORAL N01' => [ 'Moral', 'N01' ], 'i1' => [ 'Motorola', 'i1' ], @@ -7632,150 +8005,167 @@ 'A953' => [ 'Motorola', 'Milestone 2' ], 'A1680' => [ 'Motorola', 'MOTO A1680' ], 'F100' => [ 'Motorola', 'MOTOACTV', DeviceType::WATCH ], - 'MB200' => [ 'Motorola', 'CLIQ' ], - 'MB300' => [ 'Motorola', 'BACKFLIP' ], - 'MB501' => [ 'Motorola', 'CLIQ XT' ], - 'MB502' => [ 'Motorola', 'CHARM' ], - 'MB508' => [ 'Motorola', 'FLIPSIDE' ], - 'MB511' => [ 'Motorola', 'FLIPOUT' ], - 'MB520' => [ 'Motorola', 'BRAVO' ], - 'MB525!' => [ 'Motorola', 'DEFY' ], - 'MB526!' => [ 'Motorola', 'DEFY+' ], - 'MB611' => [ 'Motorola', 'CLIQ 2' ], - 'MB612' => [ 'Motorola', 'XPRT' ], - 'MB626' => [ 'Motorola', 'MB632' ], - 'MB632' => [ 'Motorola', 'PRO+' ], - 'MB810' => [ 'Motorola', 'Droid X' ], - 'MB853' => [ 'Motorola', 'Electrify' ], - 'MB855' => [ 'Motorola', 'PHOTON 4G' ], - 'MB8(60|61)!' => [ 'Motorola', 'ATRIX' ], - 'MB865' => [ 'Motorola', 'ATRIX 2' ], - 'MB870' => [ 'Motorola', 'Droid X2' ], - 'MB886' => [ 'Motorola', 'DINARA' ], - 'ME501' => [ 'Motorola', 'CLIQ XT' ], - 'ME502' => [ 'Motorola', 'CHARM' ], - 'ME511' => [ 'Motorola', 'FLIPOUT' ], - 'ME525!' => [ 'Motorola', 'MOTO ME525' ], - 'ME526!' => [ 'Motorola', 'DEFY+' ], - 'ME600' => [ 'Motorola', 'BACKFLIP' ], - 'Motorola Backflip Me600' => [ 'Motorola', 'BACKFLIP' ], - 'ME611' => [ 'Motorola', 'CLIQ 2' ], - 'ME632' => [ 'Motorola', 'PRO+' ], - 'ME722' => [ 'Motorola', 'Milestone 2' ], - 'ME811' => [ 'Motorola', 'Droid X' ], - 'ME860' => [ 'Motorola', 'ATRIX' ], - 'Moto ME860' => [ 'Motorola', 'ATRIX' ], - 'ME863' => [ 'Motorola', 'Milestone 3' ], - 'ME865' => [ 'Motorola', 'ATRIX 2' ], - 'MT620!' => [ 'Motorola', 'MOTO MT620' ], - 'MT680' => [ 'Motorola', 'MOTOLUXE MT680' ], - 'MT716' => [ 'Motorola', 'MOTO MT716' ], - 'MT788' => [ 'Motorola', 'RAZR i' ], - 'MT810' => [ 'Motorola', 'MOTO MT810' ], - 'MT870' => [ 'Motorola', 'MOTO MT870' ], - 'MT887' => [ 'Motorola', 'RAZR V' ], - 'MT917' => [ 'Motorola', 'MT917' ], - 'MZ505' => [ 'Motorola', 'XOOM Family Edition', DeviceType::TABLET ], - 'MZ600' => [ 'Motorola', 'XOOM 4G LTE', DeviceType::TABLET ], - 'MZ601' => [ 'Motorola', 'XOOM 3G', DeviceType::TABLET ], - 'MZ602' => [ 'Motorola', 'XOOM 4G LTE', DeviceType::TABLET ], - 'MZ603' => [ 'Motorola', 'XOOM 3G', DeviceType::TABLET ], - 'MZ604' => [ 'Motorola', 'XOOM WiFi', DeviceType::TABLET ], - 'MZ605' => [ 'Motorola', 'XOOM 3G', DeviceType::TABLET ], - 'MZ606' => [ 'Motorola', 'XOOM WiFi', DeviceType::TABLET ], - 'MZ607' => [ 'Motorola', 'XOOM 2 WiFi Media Edition', DeviceType::TABLET ], - 'MZ608' => [ 'Motorola', 'XOOM 2 3G Media Edition', DeviceType::TABLET ], - 'MZ609!' => [ 'Motorola', 'Droid XYBOARD 8.2', DeviceType::TABLET ], - 'MZ615' => [ 'Motorola', 'XOOM 2 WiFi', DeviceType::TABLET ], - 'MZ616' => [ 'Motorola', 'XOOM 2 3G', DeviceType::TABLET ], - 'MZ617!' => [ 'Motorola', 'Droid XYBOARD 10.1', DeviceType::TABLET ], - 'WX435' => [ 'Motorola', 'TRIUMPH WX435' ], - 'WX445' => [ 'Motorola', 'CITRUS WX445' ], - 'XT300' => [ 'Motorola', 'SPICE' ], - 'XT301' => [ 'Motorola', 'MOTO XT301' ], - 'XT303' => [ 'Motorola', 'MOTOSMART XT303' ], - 'XT305' => [ 'Motorola', 'MOTOSMART XT305' ], - 'XT311' => [ 'Motorola', 'FIRE' ], - 'XT316' => [ 'Motorola', 'MOTO XT316' ], - 'XT317' => [ 'Motorola', 'SPICE Key' ], - 'XT319' => [ 'Motorola', 'MOTO XT319' ], - 'XT3(20|21)!' => [ 'Motorola', 'DEFY Mini' ], - 'XT389' => [ 'Motorola', 'MOTOSMART XT389' ], - 'XT390' => [ 'Motorola', 'MOTOSMART XT390' ], - 'XT500' => [ 'Motorola', 'MOTO XT500' ], - 'xt-500' => [ 'Motorola', 'MOTO XT500' ], - 'XT502' => [ 'Motorola', 'QUENCH XT5' ], - 'XT5(30|31)!' => [ 'Motorola', 'FIRE XT' ], - 'XT532' => [ 'Motorola', 'MOTO XT532' ], - 'XT535' => [ 'Motorola', 'DEFY' ], - 'XT536' => [ 'Motorola', 'DEFY Diana' ], - 'XT5(50|53)!' => [ 'Motorola', 'MOTOSMART MIX' ], - 'XT5(55|56|57)!' => [ 'Motorola', 'DEFY XT' ], - 'XT560' => [ 'Motorola', 'DEFY Pro' ], - 'XT603' => [ 'Motorola', 'ADMIRAL' ], - 'XT605' => [ 'Motorola', 'Master XT605' ], - 'XT610' => [ 'Motorola', 'Droid Pro' ], - 'Pro XT610' => [ 'Motorola', 'Droid Pro' ], - 'XT611' => [ 'Motorola', 'MOTOSMART Flip' ], - 'XT615' => [ 'Motorola', 'MOTO XT615' ], - 'XT621' => [ 'Motorola', 'Primus XT621' ], - 'XT623' => [ 'Motorola', 'Kairos XT623' ], - 'XT626' => [ 'Motorola', 'MOTO XT626' ], - 'XT627' => [ 'Motorola', 'Kairos XT627' ], - 'XT681' => [ 'Motorola', 'MOTO XT681' ], - 'XT682' => [ 'Motorola', 'ATRIX TV' ], - 'XT685' => [ 'Motorola', 'MOTO XT685' ], - 'XT687' => [ 'Motorola', 'ATRIX TV' ], - 'XT701' => [ 'Motorola', 'XT701' ], - 'XT702!' => [ 'Motorola', 'MOTO XT702' ], - 'XT711' => [ 'Motorola', 'MOTO XT711' ], - 'XT720' => [ 'Motorola', 'Milestone' ], - 'XT760' => [ 'Motorola', 'MOTO XT760' ], - 'XT788' => [ 'Motorola', 'XT788' ], - 'XT875' => [ 'Motorola', 'Droid Bionic' ], - 'XT800W' => [ 'Motorola', 'MOTO Glam' ], - 'XT800!' => [ 'Motorola', 'MOTO XT800' ], - 'XT806' => [ 'Motorola', 'MOTO XT806' ], - 'XT8(60|83)!' => [ 'Motorola', 'Milestone 3' ], - 'XT862' => [ 'Motorola', 'Droid 3' ], - 'XT865' => [ 'Motorola', 'Droid Bionic' ], - 'XT881' => [ 'Motorola', 'Electrify 2' ], - 'XT882' => [ 'Motorola', 'MOTO XT882' ], - 'XT8(85|86|89)!' => [ 'Motorola', 'RAZR V' ], - 'XT890' => [ 'Motorola', 'RAZR i' ], - 'XT894!' => [ 'Motorola', 'Droid 4' ], - 'XT897!' => [ 'Motorola', 'Photon Q' ], - 'XT901' => [ 'Motorola', 'Electrify M' ], - 'XT905' => [ 'Motorola', 'RAZR M' ], - 'XT907' => [ 'Motorola', 'Droid RAZR M' ], - 'XT910!' => [ 'Motorola', 'RAZR' ], - 'XT912!' => [ 'Motorola', 'Droid RAZR' ], - 'XT9(14|15|16|18)!' => [ 'Motorola', 'Droid RAZR D1' ], - 'XT9(19|20)!' => [ 'Motorola', 'Droid RAZR D3' ], - 'XT9(23|25|26)!' => [ 'Motorola', 'Droid RAZR HD' ], - 'XT928' => [ 'Motorola', 'XT928' ], - 'XT939G' => [ 'Motorola', 'Moto G' ], - 'XT10(19|21|22|23|25)!' => [ 'Motorola', 'Moto E' ], - 'XT1030!' => [ 'Motorola', 'Droid Mini' ], - 'XT10(08|28|31|32|33|34|35|39|40|42|45)!' => [ 'Motorola', 'Moto G' ], - 'XT10(02|03)!' => [ 'Motorola', 'Moto G Ferrari' ], - 'XT10(49|50|52|53|55|56|58|60)!' => [ 'Motorola', 'Moto X' ], - 'XT10(63|64|68|69|72|77|78|79)!' => [ 'Motorola', 'Moto G (2014)' ], - 'XT1080!' => [ 'Motorola', 'Droid Ultra' ], - 'XT10(85|92|93|94|95|96|97|98)!' => [ 'Motorola', 'Moto X (2014)' ], - 'XT11(00|03)!' => [ 'Motorola', 'Nexus 6' ], - 'XT1115!' => [ 'Motorola', 'Moto X Pro' ], - 'XT1225' => [ 'Motorola', 'Moto Maxx' ], - 'XT12(50|54)!' => [ 'Motorola', 'Droid Turbo' ], - 'XT15(21|23|24|26|27|28)!' => [ 'Motorola', 'Moto E (2015)' ], - 'XT15(40|41|42|43|44|48|50)!' => [ 'Motorola', 'Moto G (2015)' ], - 'XT15(62|63)!' => [ 'Motorola', 'Moto X Play' ], - 'XT1565' => [ 'Motorola', 'Droid MAXX 2' ], - 'XT15(70|72)!' => [ 'Motorola', 'Moto X Style' ], - 'XT1575' => [ 'Motorola', 'Moto X Pure Edition' ], -// 'XT1578' => [ 'Motorola', '"Clark"' ], - 'XT1580' => [ 'Motorola', 'Moto X Force' ], - 'XT1585' => [ 'Motorola', 'Droid Turbo 2' ], + + 'MB[0-9]{3,3}!!' => [ + 'MB200' => [ 'Motorola', 'CLIQ' ], + 'MB300' => [ 'Motorola', 'BACKFLIP' ], + 'MB501' => [ 'Motorola', 'CLIQ XT' ], + 'MB502' => [ 'Motorola', 'CHARM' ], + 'MB508' => [ 'Motorola', 'FLIPSIDE' ], + 'MB511' => [ 'Motorola', 'FLIPOUT' ], + 'MB520' => [ 'Motorola', 'BRAVO' ], + 'MB525!' => [ 'Motorola', 'DEFY' ], + 'MB526!' => [ 'Motorola', 'DEFY+' ], + 'MB611' => [ 'Motorola', 'CLIQ 2' ], + 'MB612' => [ 'Motorola', 'XPRT' ], + 'MB626' => [ 'Motorola', 'MB632' ], + 'MB632' => [ 'Motorola', 'PRO+' ], + 'MB810' => [ 'Motorola', 'Droid X' ], + 'MB853' => [ 'Motorola', 'Electrify' ], + 'MB855' => [ 'Motorola', 'PHOTON 4G' ], + 'MB8(60|61)!' => [ 'Motorola', 'ATRIX' ], + 'MB865' => [ 'Motorola', 'ATRIX 2' ], + 'MB870' => [ 'Motorola', 'Droid X2' ], + 'MB886' => [ 'Motorola', 'DINARA' ], + ], + + 'ME[0-9]{3,3}!!' => [ + 'ME501' => [ 'Motorola', 'CLIQ XT' ], + 'ME502' => [ 'Motorola', 'CHARM' ], + 'ME511' => [ 'Motorola', 'FLIPOUT' ], + 'ME525!' => [ 'Motorola', 'MOTO ME525' ], + 'ME526!' => [ 'Motorola', 'DEFY+' ], + 'ME600' => [ 'Motorola', 'BACKFLIP' ], + 'ME611' => [ 'Motorola', 'CLIQ 2' ], + 'ME632' => [ 'Motorola', 'PRO+' ], + 'ME722' => [ 'Motorola', 'Milestone 2' ], + 'ME811' => [ 'Motorola', 'Droid X' ], + 'ME860' => [ 'Motorola', 'ATRIX' ], + 'ME863' => [ 'Motorola', 'Milestone 3' ], + 'ME865' => [ 'Motorola', 'ATRIX 2' ], + ], + + 'MT[0-9]{3,3}!!' => [ + 'MT620!' => [ 'Motorola', 'MOTO MT620' ], + 'MT680' => [ 'Motorola', 'MOTOLUXE MT680' ], + 'MT716' => [ 'Motorola', 'MOTO MT716' ], + 'MT788' => [ 'Motorola', 'RAZR i' ], + 'MT810' => [ 'Motorola', 'MOTO MT810' ], + 'MT870' => [ 'Motorola', 'MOTO MT870' ], + 'MT887' => [ 'Motorola', 'RAZR V' ], + 'MT917' => [ 'Motorola', 'MT917' ], + ], + + 'MZ[0-9]{3,3}!!' => [ + 'MZ505' => [ 'Motorola', 'XOOM Family Edition', DeviceType::TABLET ], + 'MZ600' => [ 'Motorola', 'XOOM 4G LTE', DeviceType::TABLET ], + 'MZ601' => [ 'Motorola', 'XOOM 3G', DeviceType::TABLET ], + 'MZ602' => [ 'Motorola', 'XOOM 4G LTE', DeviceType::TABLET ], + 'MZ603' => [ 'Motorola', 'XOOM 3G', DeviceType::TABLET ], + 'MZ604' => [ 'Motorola', 'XOOM WiFi', DeviceType::TABLET ], + 'MZ605' => [ 'Motorola', 'XOOM 3G', DeviceType::TABLET ], + 'MZ606' => [ 'Motorola', 'XOOM WiFi', DeviceType::TABLET ], + 'MZ607' => [ 'Motorola', 'XOOM 2 WiFi Media Edition', DeviceType::TABLET ], + 'MZ608' => [ 'Motorola', 'XOOM 2 3G Media Edition', DeviceType::TABLET ], + 'MZ609!' => [ 'Motorola', 'Droid XYBOARD 8.2', DeviceType::TABLET ], + 'MZ615' => [ 'Motorola', 'XOOM 2 WiFi', DeviceType::TABLET ], + 'MZ616' => [ 'Motorola', 'XOOM 2 3G', DeviceType::TABLET ], + 'MZ617!' => [ 'Motorola', 'Droid XYBOARD 10.1', DeviceType::TABLET ], + ], + + 'WX[0-9]{3,3}!!' => [ + 'WX435' => [ 'Motorola', 'TRIUMPH WX435' ], + 'WX445' => [ 'Motorola', 'CITRUS WX445' ], + ], + + 'XT[0-9]{3,4}!!' => [ + 'XT300' => [ 'Motorola', 'SPICE' ], + 'XT301' => [ 'Motorola', 'MOTO XT301' ], + 'XT303' => [ 'Motorola', 'MOTOSMART XT303' ], + 'XT305' => [ 'Motorola', 'MOTOSMART XT305' ], + 'XT311' => [ 'Motorola', 'FIRE' ], + 'XT316' => [ 'Motorola', 'MOTO XT316' ], + 'XT317' => [ 'Motorola', 'SPICE Key' ], + 'XT319' => [ 'Motorola', 'MOTO XT319' ], + 'XT3(20|21)!' => [ 'Motorola', 'DEFY Mini' ], + 'XT389' => [ 'Motorola', 'MOTOSMART XT389' ], + 'XT390' => [ 'Motorola', 'MOTOSMART XT390' ], + 'XT500' => [ 'Motorola', 'MOTO XT500' ], + 'xt-500' => [ 'Motorola', 'MOTO XT500' ], + 'XT502' => [ 'Motorola', 'QUENCH XT5' ], + 'XT5(30|31)!' => [ 'Motorola', 'FIRE XT' ], + 'XT532' => [ 'Motorola', 'MOTO XT532' ], + 'XT535' => [ 'Motorola', 'DEFY' ], + 'XT536' => [ 'Motorola', 'DEFY Diana' ], + 'XT5(50|53)!' => [ 'Motorola', 'MOTOSMART MIX' ], + 'XT5(55|56|57)!' => [ 'Motorola', 'DEFY XT' ], + 'XT560' => [ 'Motorola', 'DEFY Pro' ], + 'XT603' => [ 'Motorola', 'ADMIRAL' ], + 'XT605' => [ 'Motorola', 'Master XT605' ], + 'XT610' => [ 'Motorola', 'Droid Pro' ], + 'Pro XT610' => [ 'Motorola', 'Droid Pro' ], + 'XT611' => [ 'Motorola', 'MOTOSMART Flip' ], + 'XT615' => [ 'Motorola', 'MOTO XT615' ], + 'XT621' => [ 'Motorola', 'Primus XT621' ], + 'XT623' => [ 'Motorola', 'Kairos XT623' ], + 'XT626' => [ 'Motorola', 'MOTO XT626' ], + 'XT627' => [ 'Motorola', 'Kairos XT627' ], + 'XT681' => [ 'Motorola', 'MOTO XT681' ], + 'XT682' => [ 'Motorola', 'ATRIX TV' ], + 'XT685' => [ 'Motorola', 'MOTO XT685' ], + 'XT687' => [ 'Motorola', 'ATRIX TV' ], + 'XT701' => [ 'Motorola', 'XT701' ], + 'XT702!' => [ 'Motorola', 'MOTO XT702' ], + 'XT711' => [ 'Motorola', 'MOTO XT711' ], + 'XT720' => [ 'Motorola', 'Milestone' ], + 'XT760' => [ 'Motorola', 'MOTO XT760' ], + 'XT788' => [ 'Motorola', 'XT788' ], + 'XT875' => [ 'Motorola', 'Droid Bionic' ], + 'XT800W' => [ 'Motorola', 'MOTO Glam' ], + 'XT800!' => [ 'Motorola', 'MOTO XT800' ], + 'XT806' => [ 'Motorola', 'MOTO XT806' ], + 'XT8(60|83)!' => [ 'Motorola', 'Milestone 3' ], + 'XT862' => [ 'Motorola', 'Droid 3' ], + 'XT865' => [ 'Motorola', 'Droid Bionic' ], + 'XT881' => [ 'Motorola', 'Electrify 2' ], + 'XT882' => [ 'Motorola', 'MOTO XT882' ], + 'XT8(85|86|89)!' => [ 'Motorola', 'RAZR V' ], + 'XT890' => [ 'Motorola', 'RAZR i' ], + 'XT894!' => [ 'Motorola', 'Droid 4' ], + 'XT897!' => [ 'Motorola', 'Photon Q' ], + 'XT901' => [ 'Motorola', 'Electrify M' ], + 'XT905' => [ 'Motorola', 'RAZR M' ], + 'XT907' => [ 'Motorola', 'Droid RAZR M' ], + 'XT910!' => [ 'Motorola', 'RAZR' ], + 'XT912!' => [ 'Motorola', 'Droid RAZR' ], + 'XT9(14|15|16|18)!' => [ 'Motorola', 'Droid RAZR D1' ], + 'XT9(19|20)!' => [ 'Motorola', 'Droid RAZR D3' ], + 'XT9(23|25|26)!' => [ 'Motorola', 'Droid RAZR HD' ], + 'XT928' => [ 'Motorola', 'XT928' ], + 'XT939G' => [ 'Motorola', 'Moto G' ], + 'XT10(19|21|22|23|25)!' => [ 'Motorola', 'Moto E' ], + 'XT1030!' => [ 'Motorola', 'Droid Mini' ], + 'XT10(08|28|31|32|33|34|35|39|40|42|45)!' => [ 'Motorola', 'Moto G' ], + 'XT10(02|03)!' => [ 'Motorola', 'Moto G Ferrari' ], + 'XT10(49|50|52|53|55|56|58|60)!' => [ 'Motorola', 'Moto X' ], + 'XT10(63|64|68|69|72|77|78|79)!' => [ 'Motorola', 'Moto G (2014)' ], + 'XT1080!' => [ 'Motorola', 'Droid Ultra' ], + 'XT10(85|92|93|94|95|96|97|98)!' => [ 'Motorola', 'Moto X (2014)' ], + 'XT11(00|03)!' => [ 'Motorola', 'Nexus 6' ], + 'XT1115!' => [ 'Motorola', 'Moto X Pro' ], + 'XT1225' => [ 'Motorola', 'Moto Maxx' ], + 'XT12(50|54)!' => [ 'Motorola', 'Droid Turbo' ], + 'XT15(21|23|24|26|27|28)!' => [ 'Motorola', 'Moto E (2015)' ], + 'XT15(40|41|42|43|44|48|50)!' => [ 'Motorola', 'Moto G (2015)' ], + 'XT15(62|63)!' => [ 'Motorola', 'Moto X Play' ], + 'XT1565' => [ 'Motorola', 'Droid MAXX 2' ], + 'XT15(70|72)!' => [ 'Motorola', 'Moto X Style' ], + 'XT1575' => [ 'Motorola', 'Moto X Pure Edition' ], +// 'XT1578' => [ 'Motorola', '"Clark"' ], + 'XT1580' => [ 'Motorola', 'Moto X Force' ], + 'XT1585' => [ 'Motorola', 'Droid Turbo 2' ], + ], + 'Atrix 2' => [ 'Motorola', 'ATRIX 2' ], 'Atrix 2 WeifanZ' => [ 'Motorola', 'ATRIX 2' ], 'Atrix 4G' => [ 'Motorola', 'ATRIX 4G' ], @@ -7815,6 +8205,8 @@ 'Milestone X2' => [ 'Motorola', 'Milestone X2' ], 'Motorola Milestone MAXX' => [ 'Motorola', 'Milestone MAXX' ], 'MILESTONE3' => [ 'Motorola', 'Milestone 3' ], + 'Motorola Backflip Me600' => [ 'Motorola', 'BACKFLIP' ], + 'Moto ME860' => [ 'Motorola', 'ATRIX' ], '(Moto)?E2$!' => [ 'Motorola', 'Moto E (2015)' ], '(Moto)?E2\(4G-LTE\)$!' => [ 'Motorola', 'Moto E (2015)' ], '(Moto)?G3$!' => [ 'Motorola', 'Moto G (2015)' ], @@ -8341,6 +8733,7 @@ 'OPPOR807' => [ 'Oppo', 'Real R807' ], 'R809T' => [ 'Oppo', 'R809T' ], 'R811' => [ 'Oppo', 'R811' ], + 'OPPO R811' => [ 'Oppo', 'R811' ], 'R813T' => [ 'Oppo', 'R813T' ], 'OPPO R815' => [ 'Oppo', 'Find Clover R815' ], 'R815' => [ 'Oppo', 'Find Clover R815' ], @@ -10475,8 +10868,8 @@ 'LT22i!' => [ 'Sony', 'Xperia P' ], // Nypon 'LT25i!' => [ 'Sony', 'Xperia V' ], // Tsubasa '(SNM\-)?LT25c!' => [ 'Sony', 'Xperia VC' ], // Tsubasa - 'LT26(i|i-o)!' => [ 'Sony', 'Xperia S' ], // Nozomi 'LT26ii!' => [ 'Sony', 'Xperia SL' ], // Nozomi2 + 'LT26(i|i-o)!' => [ 'Sony', 'Xperia S' ], // Nozomi 'LT26w!' => [ 'Sony', 'Xperia Acro S' ], // Hikari 'LT28(at|h|i)!' => [ 'Sony', 'Xperia Ion' ], // Aoba 'LT29i!' => [ 'Sony', 'Xperia TX' ], // Hayabusa @@ -12068,56 +12461,63 @@ 'N101 DUAL CORE!' => [ 'Window', 'N101 Dual Core', DeviceType::TABLET ], 'N612' => [ 'Wishway', 'N612' ], 'A81E' => [ 'Witstech', 'A81E', DeviceType::TABLET ], - 'miTab BALTIMORE' => [ 'Wolder', 'miTab BALTIMORE', DeviceType::TABLET ], - 'miTab BERLIN' => [ 'Wolder', 'miTab BERLIN', DeviceType::TABLET ], - 'miTab Boston' => [ 'Wolder', 'miTab BOSTON', DeviceType::TABLET ], - 'miTab BROOKLYN' => [ 'Wolder', 'miTab BROOKLYN', DeviceType::TABLET ], - 'miTabCALIFORNIA' => [ 'Wolder', 'miTab CALIFORNIA', DeviceType::TABLET ], - 'miTab CHICAGO' => [ 'Wolder', 'miTab CHICAGO', DeviceType::TABLET ], - 'miTab EPSILON' => [ 'Wolder', 'miTab EPSILON', DeviceType::TABLET ], - 'miTab-EPSILON' => [ 'Wolder', 'miTab EPSILON', DeviceType::TABLET ], - 'miTab FEEL' => [ 'Wolder', 'miTab FEEL', DeviceType::TABLET ], - 'miTab FUNK' => [ 'Wolder', 'miTab FUNK', DeviceType::TABLET ], - 'miTab-GENIUS' => [ 'Wolder', 'miTab GENIUS', DeviceType::TABLET ], - 'miTab GENIUS' => [ 'Wolder', 'miTab GENIUS', DeviceType::TABLET ], - 'miTab HERO' => [ 'Wolder', 'miTab HERO', DeviceType::TABLET ], - 'miTab HOP!' => [ 'Wolder', 'miTab HOP!', DeviceType::TABLET ], - 'miTab IOWA' => [ 'Wolder', 'miTab IOWA', DeviceType::TABLET ], - 'miTab IRON' => [ 'Wolder', 'miTab IRON', DeviceType::TABLET ], - 'miTab JUMP' => [ 'Wolder', 'miTab JUMP', DeviceType::TABLET ], - 'miTab LION' => [ 'Wolder', 'miTab LION', DeviceType::TABLET ], - 'miTab LIVE' => [ 'Wolder', 'miTab LIVE', DeviceType::TABLET ], - 'miTab NEO' => [ 'Wolder', 'miTab NEO', DeviceType::TABLET ], - 'miTab THINK' => [ 'Wolder', 'miTab THINK', DeviceType::TABLET ], - 'miTab Seattle' => [ 'Wolder', 'miTab SEATTLE', DeviceType::TABLET ], - 'miTab URBAN' => [ 'Wolder', 'miTab URBAN', DeviceType::TABLET ], - 'AT-AQ28D' => [ 'Wolfgang', 'AT-AQ28D' ], - 'AT-AS35D' => [ 'Wolfgang', 'AT-AS35D' ], - 'AT-AS40D' => [ 'Wolfgang', 'AT-AS40D' ], - 'AT-AS40D2' => [ 'Wolfgang', 'AT-AS40D2' ], - 'AT-AS40D3' => [ 'Wolfgang', 'AT-AS40D3' ], - 'AT-AS40SE' => [ 'Wolfgang', 'AT-AS40SE' ], - 'AT-AS40W' => [ 'Wolfgang', 'AT-AS40W' ], - 'AT-AS43D' => [ 'Wolfgang', 'AT-AS43D' ], - 'AT-AS43D2' => [ 'Wolfgang', 'AT-AS43D2' ], - 'AT-AS43D3' => [ 'Wolfgang', 'AT-AS43D3' ], - 'AT-AS43D4' => [ 'Wolfgang', 'AT-AS43D4' ], - 'AT-AS45D1' => [ 'Wolfgang', 'AT-AS45D1' ], - 'AT-AS45FW' => [ 'Wolfgang', 'AT-AS45FW' ], - 'AT-AS45SE' => [ 'Wolfgang', 'AT-AS45SE' ], - 'AT-AS45IPS' => [ 'Wolfgang', 'AT-AS45IPS' ], - 'AT-AS45Q' => [ 'Wolfgang', 'AT-AS45Q' ], - 'AT-AS45Q1' => [ 'Wolfgang', 'AT-AS45Q1' ], - 'AT-AS45qHD' => [ 'Wolfgang', 'AT-AS45QHD' ], - 'AT-AS45q2' => [ 'Wolfgang', 'AT-AS45Q2' ], - 'AT-AS45WP' => [ 'Wolfgang', 'AT-AS45WP' ], - 'AT-AS45LTE' => [ 'Wolfgang', 'AT-AS45LTE' ], - 'AT-AS50HD' => [ 'Wolfgang', 'AT-AS50HD' ], - 'AT-AS50SE' => [ 'Wolfgang', 'AT-AS50SE' ], - 'AT-AS50Q' => [ 'Wolfgang', 'AT-AS50Q' ], - 'AT-AS53N' => [ 'Wolfgang', 'AT-AS53N' ], - 'AT-AS55HD' => [ 'Wolfgang', 'AT-AS55HD' ], - 'AT-AS55HD1' => [ 'Wolfgang', 'AT-AS55HD1' ], + + 'miTab!!' => [ + 'miTab BALTIMORE' => [ 'Wolder', 'miTab BALTIMORE', DeviceType::TABLET ], + 'miTab BERLIN' => [ 'Wolder', 'miTab BERLIN', DeviceType::TABLET ], + 'miTab Boston' => [ 'Wolder', 'miTab BOSTON', DeviceType::TABLET ], + 'miTab BROOKLYN' => [ 'Wolder', 'miTab BROOKLYN', DeviceType::TABLET ], + 'miTabCALIFORNIA' => [ 'Wolder', 'miTab CALIFORNIA', DeviceType::TABLET ], + 'miTab CHICAGO' => [ 'Wolder', 'miTab CHICAGO', DeviceType::TABLET ], + 'miTab EPSILON' => [ 'Wolder', 'miTab EPSILON', DeviceType::TABLET ], + 'miTab-EPSILON' => [ 'Wolder', 'miTab EPSILON', DeviceType::TABLET ], + 'miTab FEEL' => [ 'Wolder', 'miTab FEEL', DeviceType::TABLET ], + 'miTab FUNK' => [ 'Wolder', 'miTab FUNK', DeviceType::TABLET ], + 'miTab-GENIUS' => [ 'Wolder', 'miTab GENIUS', DeviceType::TABLET ], + 'miTab GENIUS' => [ 'Wolder', 'miTab GENIUS', DeviceType::TABLET ], + 'miTab HERO' => [ 'Wolder', 'miTab HERO', DeviceType::TABLET ], + 'miTab HOP!' => [ 'Wolder', 'miTab HOP!', DeviceType::TABLET ], + 'miTab IOWA' => [ 'Wolder', 'miTab IOWA', DeviceType::TABLET ], + 'miTab IRON' => [ 'Wolder', 'miTab IRON', DeviceType::TABLET ], + 'miTab JUMP' => [ 'Wolder', 'miTab JUMP', DeviceType::TABLET ], + 'miTab LION' => [ 'Wolder', 'miTab LION', DeviceType::TABLET ], + 'miTab LIVE' => [ 'Wolder', 'miTab LIVE', DeviceType::TABLET ], + 'miTab NEO' => [ 'Wolder', 'miTab NEO', DeviceType::TABLET ], + 'miTab THINK' => [ 'Wolder', 'miTab THINK', DeviceType::TABLET ], + 'miTab Seattle' => [ 'Wolder', 'miTab SEATTLE', DeviceType::TABLET ], + 'miTab URBAN' => [ 'Wolder', 'miTab URBAN', DeviceType::TABLET ], + ], + + 'AT-A[QS][0-9]{2,2}!!' => [ + 'AT-AQ28D' => [ 'Wolfgang', 'AT-AQ28D' ], + 'AT-AS35D' => [ 'Wolfgang', 'AT-AS35D' ], + 'AT-AS40D' => [ 'Wolfgang', 'AT-AS40D' ], + 'AT-AS40D2' => [ 'Wolfgang', 'AT-AS40D2' ], + 'AT-AS40D3' => [ 'Wolfgang', 'AT-AS40D3' ], + 'AT-AS40SE' => [ 'Wolfgang', 'AT-AS40SE' ], + 'AT-AS40W' => [ 'Wolfgang', 'AT-AS40W' ], + 'AT-AS43D' => [ 'Wolfgang', 'AT-AS43D' ], + 'AT-AS43D2' => [ 'Wolfgang', 'AT-AS43D2' ], + 'AT-AS43D3' => [ 'Wolfgang', 'AT-AS43D3' ], + 'AT-AS43D4' => [ 'Wolfgang', 'AT-AS43D4' ], + 'AT-AS45D1' => [ 'Wolfgang', 'AT-AS45D1' ], + 'AT-AS45FW' => [ 'Wolfgang', 'AT-AS45FW' ], + 'AT-AS45SE' => [ 'Wolfgang', 'AT-AS45SE' ], + 'AT-AS45IPS' => [ 'Wolfgang', 'AT-AS45IPS' ], + 'AT-AS45Q' => [ 'Wolfgang', 'AT-AS45Q' ], + 'AT-AS45Q1' => [ 'Wolfgang', 'AT-AS45Q1' ], + 'AT-AS45qHD' => [ 'Wolfgang', 'AT-AS45QHD' ], + 'AT-AS45q2' => [ 'Wolfgang', 'AT-AS45Q2' ], + 'AT-AS45WP' => [ 'Wolfgang', 'AT-AS45WP' ], + 'AT-AS45LTE' => [ 'Wolfgang', 'AT-AS45LTE' ], + 'AT-AS50HD' => [ 'Wolfgang', 'AT-AS50HD' ], + 'AT-AS50SE' => [ 'Wolfgang', 'AT-AS50SE' ], + 'AT-AS50Q' => [ 'Wolfgang', 'AT-AS50Q' ], + 'AT-AS53N' => [ 'Wolfgang', 'AT-AS53N' ], + 'AT-AS55HD' => [ 'Wolfgang', 'AT-AS55HD' ], + 'AT-AS55HD1' => [ 'Wolfgang', 'AT-AS55HD1' ], + ], + 'M12' => [ 'Wopad', 'M12', DeviceType::TABLET ], 'WM8650' => [ 'WonderMedia', 'WM8650', DeviceType::TABLET ], 'WM8650-mid' => [ 'WonderMedia', 'WM8650', DeviceType::TABLET ], @@ -12238,7 +12638,7 @@ 'Redmi Note 2' => [ 'Xiaomi', 'Redmi Note 2' ], 'Xiaomi Note2' => [ 'Xiaomi', 'Redmi Note 2' ], 'Redmi Note 3' => [ 'Xiaomi', 'Redmi Note 3' ], - '20130(22|23)!' => [ 'Xiaomi', 'Redmi Red Rice' ], + '(Xiaomi )?20130(22|23)!' => [ 'Xiaomi', 'Redmi Red Rice' ], '20140(11)!' => [ 'Xiaomi', 'Redmi Red Rice' ], '20145(01)!' => [ 'Xiaomi', 'Redmi Red Rice' ], 'RedRice' => [ 'Xiaomi', 'Redmi Red Rice' ], @@ -12958,16 +13358,25 @@ 'Etisalat Smartphone' => [ 'Etisalat', 'Smartphone' ], + 'i-mobile i651' => [ 'i-Mobile', 'i651' ], + 'i-mobile 697' => [ 'i-Mobile', 'i679' ], 'i-mobile i691' => [ 'i-Mobile', 'i691' ], + 'i-mobile i692' => [ 'i-Mobile', 'i692' ], + 'i-mobile i693' => [ 'i-Mobile', 'i693' ], 'i-mobile i695' => [ 'i-Mobile', 'i695' ], + 'i-mobile i698' => [ 'i-Mobile', 'i698' ], + 'i-mobile i810' => [ 'i-Mobile', 'i810' ], 'i-mobile i858' => [ 'i-Mobile', 'i858' ], + 'i-mobile i858 Plus' => [ 'i-Mobile', 'i858 Plus' ], 'i-mobile 3G 8500' => [ 'i-Mobile', '3G 8500' ], 'i-mobile IQ 1' => [ 'i-Mobile', 'iQ 1' ], - 'i-mobile IQ1-1' => [ 'i-Mobile', 'iQ 1' ], + 'i-mobile IQ1-1' => [ 'i-Mobile', 'iQ 1.1' ], + 'I-mobile IQ1-1A' => [ 'i-Mobile', 'iQ 1.1A' ], 'i-mobile IQ 2' => [ 'i-Mobile', 'iQ 2' ], 'i-mobile IQ II' => [ 'i-Mobile', 'iQ 2' ], 'i-mobile IQ 2A' => [ 'i-Mobile', 'iQ 2A' ], 'i-mobile IQ 3' => [ 'i-Mobile', 'iQ 3' ], + 'I-mobile IQ 4' => [ 'i-Mobile', 'iQ 4' ], 'i-mobile IQ 5' => [ 'i-Mobile', 'iQ 5' ], 'i-mobile IQ 5A' => [ 'i-Mobile', 'iQ 5A' ], 'i-mobile IQ 5.1' => [ 'i-Mobile', 'iQ 5.1' ], @@ -12989,6 +13398,7 @@ 'i-mobile IQ6.6' => [ 'i-Mobile', 'iQ 6.6' ], 'i-mobile IQ 6.9 DTV' => [ 'i-Mobile', 'iQ 6.9 DTV' ], 'i-mobile IQ 9' => [ 'i-Mobile', 'iQ 9' ], + 'i-mobile IQ 9A' => [ 'i-Mobile', 'iQ 9A' ], 'IQ9.1' => [ 'i-Mobile', 'iQ 9.1' ], 'i-mobile IQ 9.2' => [ 'i-Mobile', 'iQ 9.2' ], 'i-mobile IQ 9.2A' => [ 'i-Mobile', 'iQ 9.2A' ], @@ -12997,11 +13407,16 @@ 'i-mobile IQ XA' => [ 'i-Mobile', 'iQ XA' ], 'i-mobile IQ X2' => [ 'i-Mobile', 'iQ X2' ], 'i-mobile IQ X3' => [ 'i-Mobile', 'iQ X3' ], + 'i-mobile IQ X3A' => [ 'i-Mobile', 'iQ X3A' ], 'i-mobile IQ BIG' => [ 'i-Mobile', 'iQ Big' ], 'i-mobile IQX BLIZ!' => [ 'i-Mobile', 'iQ X Bliz' ], 'i-mobile IQ 1068' => [ 'i-Mobile', 'iQ 1068' ], 'i-STYLE 1' => [ 'i-Mobile', 'i-Style 1' ], + 'i-mobile i-STYLE 1' => [ 'i-Mobile', 'i-Style 1' ], + 'I-STYLE 1 I' => [ 'i-Mobile', 'i-Style 1i' ], + 'i-mobile i-STYLE 1 i' => [ 'i-Mobile', 'i-Style 1i' ], 'i-mobile i-STYLE 2' => [ 'i-Mobile', 'i-Style 2' ], + 'i-mobile i-STYLE 2i' => [ 'i-Mobile', 'i-Style 2i' ], 'i-STYLE2.1' => [ 'i-Mobile', 'i-Style 2.1' ], 'i-STYLE2.1A' => [ 'i-Mobile', 'i-Style 2.1A' ], 'i-mobile i-STYLE 2.2' => [ 'i-Mobile', 'i-Style 2.2' ], @@ -13013,19 +13428,29 @@ 'i-mobile i-style 2.6A' => [ 'i-Mobile', 'i-Style 2.6A' ], 'i-mobile i-STYLE 2.9' => [ 'i-Mobile', 'i-Style 2.9' ], 'i-mobile i-style 3' => [ 'i-Mobile', 'i-Style 3' ], + 'i-mobile i-style 3i' => [ 'i-Mobile', 'i-Style 3i' ], 'i-mobile i-STYLE 4' => [ 'i-Mobile', 'i-Style 4' ], + 'i-style 4' => [ 'i-Mobile', 'i-Style 4' ], + 'i-mobile i-STYLE 4i' => [ 'i-Mobile', 'i-Style 4i' ], 'i-MOBILE i-STYLE 5' => [ 'i-Mobile', 'i-Style 5' ], + 'i-MOBILE i-STYLE 5i' => [ 'i-Mobile', 'i-Style 5i' ], + 'i-mobile i-STYLE 6' => [ 'i-Mobile', 'i-Style 6' ], + 'i-mobile i-STYLE 6A' => [ 'i-Mobile', 'i-Style 6A' ], 'i-mobile i-STYLE 7' => [ 'i-Mobile', 'i-Style 7' ], + 'i-mobile i-STYLE 7A' => [ 'i-Mobile', 'i-Style 7A' ], 'i-mobile i-style 7.1' => [ 'i-Mobile', 'i-Style 7.1' ], 'i-mobile i-STYLE 7.2' => [ 'i-Mobile', 'i-Style 7.2' ], 'i-mobile i-STYLE 7.3' => [ 'i-Mobile', 'i-Style 7.3' ], 'i-mobile i-STYLE 7.3A' => [ 'i-Mobile', 'i-Style 7.3A' ], 'i-mobile i-STYLE 7.5' => [ 'i-Mobile', 'i-Style 7.5' ], + 'i-mobile i-STYLE 7.5A' => [ 'i-Mobile', 'i-Style 7.5A' ], 'i-STYLE 7.6' => [ 'i-Mobile', 'i-Style 7.6' ], 'i-mobile i-STYLE 7.7 DTV' => [ 'i-Mobile', 'i-Style 7.7 DTV' ], 'i-mobile i-STYLE 7.8 DTV' => [ 'i-Mobile', 'i-Style 7.8 DTV' ], 'i-mobile i-style 8' => [ 'i-Mobile', 'i-Style 8' ], + 'i-mobile i-STYLE 8.1' => [ 'i-Mobile', 'i-Style 8.1' ], 'i-mobile i-STYLE 8.2' => [ 'i-Mobile', 'i-Style 8.2' ], + 'i-mobile i-STYLE 8.2A' => [ 'i-Mobile', 'i-Style 8.2A' ], 'i-mobile i-STYLE 8.3 DTV' => [ 'i-Mobile', 'i-Style 8.3 DTV' ], 'i-mobile i-STYLE 8.6 DTV' => [ 'i-Mobile', 'i-Style 8.6 DTV' ], 'i-mobile i-STYLE 210' => [ 'i-Mobile', 'i-Style 210' ], @@ -13033,17 +13458,24 @@ 'i-mobile I-STYLE 217' => [ 'i-Mobile', 'i-Style 217' ], 'i-mobile i-STYLE 218' => [ 'i-Mobile', 'i-Style 218' ], 'i-mobile i-style Q1' => [ 'i-Mobile', 'i-Style Q1' ], + 'I-mobile I-style Q1i' => [ 'i-Mobile', 'i-Style Q1i' ], 'i-mobile i-STYLE Q2' => [ 'i-Mobile', 'i-Style Q2' ], 'i-mobile i-STYLE Q2 DUO' => [ 'i-Mobile', 'i-Style Q2 Duo' ], 'i-STYLE Q2 DUO!' => [ 'i-Mobile', 'i-Style Q2 Duo' ], 'i-mobile i-style Q3' => [ 'i-Mobile', 'i-Style Q3' ], 'i-mobile i-style Q3i' => [ 'i-Mobile', 'i-Style Q3i' ], 'i-STYLE Q4' => [ 'i-Mobile', 'i-Style Q4' ], + 'i-STYLE Q4A' => [ 'i-Mobile', 'i-Style Q4A' ], 'i-mobile i-STYLE Q 5' => [ 'i-Mobile', 'i-Style Q5' ], 'i-mobile i-STYLE Q 5A' => [ 'i-Mobile', 'i-Style Q5A' ], 'i-mobile i-STYLE Q6' => [ 'i-Mobile', 'i-Style Q6' ], + 'i-mobile i-STYLE Q6A' => [ 'i-Mobile', 'i-Style Q6A' ], 'i-mobile I-Note' => [ 'i-Mobile', 'i-Note', DeviceType::TABLET ], + 'I-note WiFi 1.1' => [ 'i-Mobile', 'i-Note', DeviceType::TABLET ], + 'i-mobile i-note WiFi' => [ 'i-Mobile', 'i-Note', DeviceType::TABLET ], + 'I-mobile I-note S' => [ 'i-Mobile', 'i-Note S', DeviceType::TABLET ], 'i-mobile i-note 2' => [ 'i-Mobile', 'i-Note 2', DeviceType::TABLET ], + 'i-mobile i-NOTE WIFI 2' => [ 'i-Mobile', 'i-Note 2', DeviceType::TABLET ], 'i-mobile i-note 3' => [ 'i-Mobile', 'i-Note 3', DeviceType::TABLET ], 'i-mobile i-note WIFI3' => [ 'i-Mobile', 'i-Note 3', DeviceType::TABLET ], 'i-mobile i-note WiFi 7' => [ 'i-Mobile', 'i-Note 7', DeviceType::TABLET ], diff --git a/data/models-wm.php b/data/models-wm.php index b04a0bb..9e429b2 100644 --- a/data/models-wm.php +++ b/data/models-wm.php @@ -40,7 +40,7 @@ 'GIGABYTE-MS800' => [ 'Gigabyte', 'GSmart MS800' ], 'HP iPAQ 510' => [ 'HP', 'iPAQ 510' ], 'HPiPAQ510!' => [ 'HP', 'iPAQ 510' ], - 'iPAQ610' => [ 'HP', 'iPAQ 610' ], + 'HPiPAQ610' => [ 'HP', 'iPAQ 610' ], 'HPiPAQ910!' => [ 'HP', 'iPAQ 910' ], 'HP iPAQ h6300' => [ 'HP', 'iPAQ h6300' ], 'HP iPAQ hw6500!' => [ 'HP', 'iPAQ hw6500' ], @@ -51,6 +51,7 @@ 'HPiPAQVoiceMessenger!' => [ 'HP', 'iPAQ Voice Messenger' ], 'HPiPAQGlisten' => [ 'HP', 'iPAQ Glisten' ], 'HP KB1' => [ 'HP', 'iPAQ Glisten' ], + 'HTC8500' => [ 'HTC', '8500' ], 'HTC P3300' => [ 'HTC', 'P3300' ], 'HTC love' => [ 'HTC', 'P3350' ], 'HTC P3350' => [ 'HTC', 'P3350' ], @@ -105,6 +106,7 @@ '(HTC Touch Viva |.*T2223)!' => [ 'HTC', 'Touch Viva' ], 'P3600!' => [ 'HTC', 'Trinity' ], 'HTC Trinity' => [ 'HTC', 'Trinity' ], + 'HTC P3600' => [ 'HTC', 'Trinity' ], 'HTC TyTN II' => [ 'HTC', 'TyTN II' ], 'P4550' => [ 'HTC', 'TyTN II' ], 'HTC Kaiser' => [ 'HTC', 'TyTN II' ], @@ -127,23 +129,25 @@ 'i-mate 9502!' => [ 'i-mate', 'Ultimate 9502' ], 'W366' => [ 'K-Touch', 'W366' ], 'K-Touch W366!' => [ 'K-Touch', 'W366' ], + 'Kyocera-E4000' => [ 'Kyocera', 'Solo E4000' ], 'Lenovo ET860' => [ 'Lenovo', 'ET860' ], 'LENOVO-ET980' => [ 'Lenovo', 'ET980' ], 'LG-GM730!' => [ 'LG', 'Eigen GM730' ], 'GM730' => [ 'LG', 'Eigen GM730' ], 'LG-GM750!' => [ 'LG', 'Layla GM750' ], 'GM750Q' => [ 'LG', 'Layla GM750' ], + 'LG-GW550!' => [ 'LG', 'GW550' ], 'GW550' => [ 'LG', 'GW550' ], 'GW825' => [ 'LG', 'IQ GW825' ], 'LG-KS20' => [ 'LG', 'KS20' ], 'LG-MS25' => [ 'LG', 'MS25' ], - 'VS750' => [ 'LG', 'Fathom VS750' ], + 'LGE VS750' => [ 'LG', 'Fathom VS750' ], 'A3100' => [ 'Motorola', 'A3100' ], 'A3300c' => [ 'Motorola', 'A3300c' ], 'A4500!' => [ 'Motorola', 'A4500' ], - 'ES405B' => [ 'Motorola', 'ES405 Enterprise Smartphone' ], - 'MC45' => [ 'Motorola', 'MC45 Mobile Computer' ], - 'MC659B' => [ 'Motorola', 'MC65 Wireless Rugged Mobile Computer' ], + 'ES405B!' => [ 'Motorola', 'ES405 Enterprise Smartphone' ], + 'MC45!' => [ 'Motorola', 'MC45 Mobile Computer' ], + 'MC659B!' => [ 'Motorola', 'MC65 Wireless Rugged Mobile Computer' ], 'Q-UMTS' => [ 'Motorola', 'Q' ], 'Q8' => [ 'Motorola', 'MOTO Q8' ], 'Q9' => [ 'Motorola', 'MOTO Q9' ], @@ -154,6 +158,7 @@ 'H-21' => [ 'Opticom', 'H-21' ], '\/Palm500!' => [ 'Palm', 'Treo 500v' ], 'Palm750' => [ 'Palm', 'Treo 750' ], + 'Treo800w' => [ 'Palm', 'Treo 800w' ], 'Palm Treo850e' => [ 'Palm', 'Treo Pro' ], 'Sprint Treo850e' => [ 'Palm', 'Treo Pro' ], 'PANTECH-C810' => [ 'Pantech', 'Duo C810' ], @@ -200,7 +205,7 @@ 'X2' => [ 'Sony Ericsson', 'Xperia X2' ], 'X2[ia]!' => [ 'Sony Ericsson', 'Xperia X2' ], 'Spice D1100' => [ 'Spice', 'D1100' ], - 'TG01' => [ 'Toshiba', 'TG01' ], + '(Toshiba[- ])?TG01!' => [ 'Toshiba', 'TG01' ], 'Velocity' => [ 'Velocity', '111' ], 'ZTE E N72' => [ 'ZTE', 'E N72' ], 'ZTE E X70' => [ 'ZTE', 'E X70' ], @@ -226,10 +231,12 @@ 'SPV M3100' => [ 'Orange', 'SPV M3100' ], 'Sprint S511' => [ 'Sprint', 'Snap' ], + 'Sprint:SPH-ip830w' => [ 'Sprint', 'SPH-ip830w' ], 'Sprint:PPC6600-1' => [ 'Sprint', 'PPC6600' ], 'Sprint:PPC-6700' => [ 'Sprint', 'PPC6700' ], 'Sprint:PPC6800' => [ 'Sprint', 'PPC6800' ], 'Sprint PPC6850SP' => [ 'Sprint', 'PPC6850' ], + 'HTCPPC6850!' => [ 'Sprint', 'PPC6850' ], 'PPC6850!' => [ 'Sprint', 'PPC6850' ], 'Sprint MP6850SP' => [ 'Sprint', 'MP6850' ], 'Sprint MP6900SP' => [ 'Sprint', 'MP6900' ], @@ -247,19 +254,20 @@ 'MDA Touch!' => [ 'T-Mobile', 'MDA Touch' ], 'MDA Vario!' => [ 'T-Mobile', 'MDA Vario' ], - 'XV6175' => [ 'Verizon', 'Ozone XV6175' ], - 'XV6175.1' => [ 'Verizon', 'Ozone XV6175' ], - 'XV6875.1' => [ 'Verizon', 'Touch Pro2 XV6875' ], + 'XV6175!' => [ 'Verizon', 'Ozone XV6175' ], + 'XV6875!' => [ 'Verizon', 'Touch Pro2 XV6875' ], 'XV6900' => [ 'Verizon', 'Touch XV6900' ], 'XV6975' => [ 'Verizon', 'Imagio XV6975' ], 'SFR v3650!' => [ 'Vodafone', 'Polaris' ], + 'v1415' => [ 'Vodafone', 'Vox' ], 'v1240' => [ 'Vodafone', 'VDA II' ], '1210' => [ 'Vodafone', 'VDA IV' ], 'v1210' => [ 'Vodafone', 'VDA IV' ], 'HTC VDA V' => [ 'Vodafone', 'VDA V' ], 'v1640' => [ 'Vodafone', 'VPA IV' ], 'VPA Touch' => [ 'Vodafone', 'VPA Touch' ], + 'HTC v1510' => [ 'Vodafone', 'VPA Compact GPS' ], 'HTC VPACompactIV' => [ 'Vodafone', 'VPA Compact IV' ], diff --git a/src/Analyser/Header/Useragent/Application.php b/src/Analyser/Header/Useragent/Application.php index 6c34dda..ce24dda 100644 --- a/src/Analyser/Header/Useragent/Application.php +++ b/src/Analyser/Header/Useragent/Application.php @@ -23,6 +23,52 @@ private function &detectApplication($ua) private function detectSpecificApplications($ua) { + /* "Android Application" */ + + if (preg_match('/^(.+) Android Application \([0-9]+, .+ v([0-9\.]+)\) - [a-z]+ (.*) [a-z]+ - [0-9A-F]{8,8}-[0-9A-F]{4,4}-[0-9A-F]{4,4}-[0-9A-F]{4,4}-[0-9A-F]{12,12}$/iu', $ua, $match)) { + $this->data->browser->name = $match[1]; + $this->data->browser->version = null; + $this->data->browser->type = Constants\BrowserType::APP; + + $this->data->os->reset([ + 'name' => 'Android', + 'version' => new Version([ 'value' => $match[2] ]) + ]); + + $this->data->device->model = $match[3]; + $this->data->device->identified |= Constants\Id::PATTERN; + $this->data->device->type = Constants\DeviceType::MOBILE; + + $device = Data\DeviceModels::identify('android', $match[3]); + if ($device->identified) { + $device->identified |= $this->data->device->identified; + $this->data->device = $device; + } + } + + /* Instagram */ + + if (preg_match('/^Instagram ([0-9\.]+) Android \([0-9]+\/([0-9\.]+); [0-9]+dpi; [0-9]+x[0-9]+; [^;]+; ([^;]*);/iu', $ua, $match)) { + $this->data->browser->name = 'Instagram'; + $this->data->browser->version = new Version([ 'value' => $match[1] ]); + $this->data->browser->type = Constants\BrowserType::APP_SOCIAL; + + $this->data->os->reset([ + 'name' => 'Android', + 'version' => new Version([ 'value' => $match[2] ]) + ]); + + $this->data->device->model = $match[3]; + $this->data->device->identified |= Constants\Id::PATTERN; + $this->data->device->type = Constants\DeviceType::MOBILE; + + $device = Data\DeviceModels::identify('android', $match[3]); + if ($device->identified) { + $device->identified |= $this->data->device->identified; + $this->data->device = $device; + } + } + /* Dr. Web Anti-Virus */ if (preg_match('/Dr\.Web anti\-virus Light Version: ([0-9\.]+) Device model: (.*) Firmware version: ([0-9\.]+)/u', $ua, $match)) { @@ -141,10 +187,21 @@ private function detectSpecificApplications($ua) /* Yahoo */ - if (preg_match('/YahooMobile(?:Messenger|Mail)\/1.0 \(Android (Messenger|Mail); ([0-9\.]+)\) \([^;]+; ?[^;]+; ?([^;]+); ?([0-9\.]+)\/[^\;\)\/]+\)/u', $ua, $match)) { + if (preg_match('/YahooMobile(?:Messenger|Mail|Weather)\/1.0 \(Android (Messenger|Mail|Weather); ([0-9\.]+)\) \([^;]+; ?[^;]+; ?([^;]+); ?([0-9\.]+)\/[^\;\)\/]+\)/u', $ua, $match)) { $this->data->browser->name = 'Yahoo ' . $match[1]; $this->data->browser->version = new Version([ 'value' => $match[2], 'details' => 3 ]); - $this->data->browser->type = $match[1] == 'Messenger' ? Constants\BrowserType::APP_CHAT : Constants\BrowserType::APP_EMAIL; + + switch ($match[1]) { + case 'Messenger': + $this->data->browser->type = Constants\BrowserType::APP_CHAT; + break; + case 'Mail': + $this->data->browser->type = Constants\BrowserType::APP_EMAIL; + break; + case 'Weather': + $this->data->browser->type = Constants\BrowserType::APP_NEWS; + break; + } $this->data->os->reset([ 'name' => 'Android', @@ -159,6 +216,28 @@ private function detectSpecificApplications($ua) $this->data->device = $device; } } + + /* Yahoo Mobile App */ + + if (preg_match('/YahooJMobileApp\/[0-9\.]+ \(Android [a-z]+; ([0-9\.]+)\) \([^;]+; ?[^;]+; ?[^;]+; ?([^;]+); ?([0-9\.]+)\/[^\;\)\/]+\)/u', $ua, $match)) { + $this->data->browser->name = 'Yahoo Mobile'; + $this->data->browser->version = new Version([ 'value' => $match[1], 'details' => 3 ]); + $this->data->browser->type = Constants\BrowserType::APP_SEARCH; + + $this->data->os->reset([ + 'name' => 'Android', + 'version' => new Version([ 'value' => $match[3] ]) + ]); + + $this->data->device->type = Constants\DeviceType::MOBILE; + + $device = Data\DeviceModels::identify('android', $match[2]); + if ($device->identified) { + $device->identified |= $this->data->device->identified; + $this->data->device = $device; + } + } + } private function detectRemainingApplications($ua) diff --git a/src/Analyser/Header/Useragent/Device/Mobile.php b/src/Analyser/Header/Useragent/Device/Mobile.php index 5bea67a..0d1d28c 100644 --- a/src/Analyser/Header/Useragent/Device/Mobile.php +++ b/src/Analyser/Header/Useragent/Device/Mobile.php @@ -147,7 +147,7 @@ private function detectSamsung($ua) return; } - if (preg_match('/(?:SAMSUNG; )?SAMSUNG[-\/ ]?([^\/\)_]+)/ui', $ua, $match)) { + if (preg_match('/(?:SAMSUNG; )?SAMSUNG[-\/ ]?([^;\/\)_]+)/ui', $ua, $match)) { $this->data->device->manufacturer = 'Samsung'; $this->data->device->model = Data\DeviceModels::cleanup($match[1]); $this->data->device->identifier = $match[0]; @@ -241,6 +241,10 @@ private function detectSamsung($ua) private function detectGenericMobileModels($ua) { + if ($this->data->device->identified & Constants\Id::PATTERN) { + return; + } + if (isset($this->data->device->manufacturer)) { return; } @@ -993,7 +997,7 @@ private function detectGenericMobileLocations($ua) array_push($candidates, $match[1]); } - if (preg_match('/[; ]([^\s\)\/;]+)[^\s;]*$/u', $ua, $match)) { + if (preg_match('/[; ]\(?([^\s\)\/;]+)[^\s;]*$/u', $ua, $match)) { array_push($candidates, $match[1]); } @@ -1019,7 +1023,26 @@ private function detectGenericMobileLocations($ua) 'Sleipnir', 'MobileSafari', 'MQQBrowser', 'BREW', '?', 'Maxthon', '360%20Browser', 'OPR', 'CFNetwork', 'JUC', 'Skyfire', 'UP.Browser', 'DolphinHDCN', 'NintendoBrowser', 'NCSA', - 'NCSA Mosaic', 'NCSA_Mosaic', 'U' + 'NCSA Mosaic', 'NCSA_Mosaic', 'U', 'NetFrontNX', 'QtWebKit', + 'HtmlRenderer', 'HbbTV', 'WebAppManager', 'SmartTV', 'UPLUSTVBROWSER', + 'LG Browser', 'LG', 'LGSmartTV', 'OBIGO-T10', 'Linux', 'DLNADOC', + 'Aplix_SANYO_browser', 'Japanese', 'WebBrowser', 'Freetime', + 'OreganMediaBrowser', 'NETRANGEMMH', 'http:', 'bxapi', 'Kodi', + 'XBMC', 'KreaTVWebKit', 'MachBlue', 'Espial', 'TouchPad', + 'sharp', 'sharp wd browser', 'sharp pda browser', 'browser', + 'Palmscape', 'CorePlayer', 'Xiino', 'SONY', 'WorldTALK', 'TOPS', + 'Windows', 'Microsoft Pocket Internet Explorer', 'Explorer', + 'CE', 'Desktop', 'Maemo Browser', 'Maemo', 'baidubrowser', + 'Mercury', 'BREW-Applet', 'ucweb-squid', 'iSurf', '3gpp-gba', + 'InfoPath.2', 'UC', 'J2ME', 'IUC', 'AveFront', 'MMP', 'BaiduHD', + '360%20Lite', '360', 'AppleWebKit', 'Instagram', 'FBOP', + 'Nuanti', 'NuantiMeta', 'Silk', 'VTE', 'DreamKey', 'DreamPassport', + 'Aplix_SEGASATURN_browser', 'NWF', 'Bunjalloo', 'libwww', + 'Inferno', 'NEXT', 'I', 'Microsoft Internet Explorer', 'MAM3', + 'MAM2', '360SE', 'Ziepod', 'Vista', 'XP', 'Links', 'Syllable', + 'sun4m', 'sun4c', 'sun4u', 'i86pc', 'X11', 'NaenaraBrowser', + 'QuickTime', 'IBM', 'QQBrowser', 'x86_64', 'i686', 'i386', 'Chrome', + 'TenFourFox', 'Swing', 'NetFrontBrowserNX', 'Mac_PowerPC', ]); $candidates = array_unique($candidates); diff --git a/src/Analyser/Header/Useragent/Os.php b/src/Analyser/Header/Useragent/Os.php index 362944a..aae2030 100644 --- a/src/Analyser/Header/Useragent/Os.php +++ b/src/Analyser/Header/Useragent/Os.php @@ -158,7 +158,7 @@ private function detectAndroid($ua) { /* Android */ - if (preg_match('/Android/u', $ua)) { + if (preg_match('/Android/ui', $ua)) { $falsepositive = false; /* Prevent the Mobile IE 11 Franken-UA from matching Android */ @@ -181,7 +181,7 @@ private function detectAndroid($ua) $this->data->os->name = 'Android'; $this->data->os->version = new Version(); - if (preg_match('/Android(?: )?(?:AllPhone_|CyanogenMod_|OUYA )?(?:\/)?v?([0-9.]+)/u', str_replace('-update', ',', $ua), $match)) { + if (preg_match('/Android(?: )?(?:AllPhone_|CyanogenMod_|OUYA )?(?:\/)?v?([0-9.]+)/ui', str_replace('-update', ',', $ua), $match)) { $this->data->os->version = new Version([ 'value' => $match[1], 'details' => 3 ]); } @@ -215,6 +215,8 @@ private function detectAndroid($ua) if (preg_match('/Eclair; (?:[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?) Build\/([^\/]*)\//u', $ua, $match)) { $this->data->device->model = $match[1]; + } elseif (preg_match('/android\/[0-9.]+ \([^;]+; [^;]+; ([^\)]+)\)$/u', $ua, $match)) { + $this->data->device->model = $match[1]; } elseif (preg_match('/; ?([^;]*[^;\s])\s+[Bb]uild/u', $ua, $match)) { $this->data->device->model = $match[1]; } elseif (preg_match('/^(?U)([^\/]+)(?U)(?:(?:_CMCC_TD|_CMCC|_TD|_TDLTE|_LTE)?\/[^\/]*)? Linux\/[0-9.+]+ Android\/[0-9.]+/u', $this->removeKnownPrefixes($ua), $match)) { @@ -615,25 +617,29 @@ private function detectWindows($ua) $model = null; - if (empty($model) && preg_match('/IEMobile [0-9.]+\) ?(?:PPC; |Smartphone; )?(?:[0-9]+[Xx][0-9]+;? )?(?:VZW; )?([^;]+)/u', $ua, $match)) { - if (!preg_match('/Profile\/MIDP/u', $match[1])) { + if (empty($model) && preg_match('/IEMobile [0-9.]+\) ?(?:PPC; |SP; |Smartphone; )?(?:[0-9]+[Xx][0-9]+;? )?(?:VZW; )?([^;]+)/u', $ua, $match)) { + if (!preg_match('/(Profile\/MIDP|UNTRUSTED)/u', $match[1])) { $model = $match[1]; } } - if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|Smartphone); [0-9]+x[0-9]+; ([^;\)]+)\)$/u', $ua, $match)) { + if (empty($model) && preg_match('/IEMobile [0-9.]+\) (?:PPC|SP|Smartphone); (?:[0-9]+[Xx][0-9]+;? )([^;]+) Profile\/MIDP/u', $ua, $match)) { + $model = $match[1]; + } + + if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|SP|Smartphone); [0-9]+x[0-9]+; ([^;\)]+)\)$/u', $ua, $match)) { $model = $match[1]; } - if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|Smartphone); [0-9]+x[0-9]+; ([^;]+); (?:PPC|OpVer)/u', $ua, $match)) { + if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|SP|Smartphone); [0-9]+x[0-9]+; ([^;]+); (?:PPC|OpVer)/u', $ua, $match)) { $model = $match[1]; } - if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|Smartphone); ([^;]+) Profile\/MIDP/u', $ua, $match)) { + if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|SP|Smartphone); ([^;]+) Profile\/MIDP/u', $ua, $match)) { $model = $match[1]; } - if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|Smartphone) ([^;]+)[;\/] [0-9]+x[0-9]+/u', $ua, $match)) { + if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; (?:PPC|SP|Smartphone) ([^;]+)[;\/] [0-9]+x[0-9]+/u', $ua, $match)) { $model = $match[1]; } @@ -643,11 +649,13 @@ private function detectWindows($ua) } } - if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; ([^;]+);? ?(?:PPC|Smartphone); ?[0-9]+x[0-9]+/u', $ua, $match)) { - $model = $match[1]; + if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; ([^;]+);? ?(?:PPC|SP|Smartphone); ?[0-9]+x[0-9]+/u', $ua, $match)) { + if (!preg_match('/^(MIDP-2.0)/u', $match[1])) { + $model = $match[1]; + } } - if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; ([^;\)]+)(?:; (?:PPC|Smartphone); [0-9]+x[0-9]+)?\)( \[[a-zA-Z\-]+\])?$/u', $ua, $match)) { + if (empty($model) && preg_match('/MSIE [0-9.]+; Windows CE; ([^;\)]+)(?:; (?:PPC|SP|Smartphone); [0-9]+x[0-9]+)?\)( \[[a-zA-Z\-]+\])?$/u', $ua, $match)) { if (!preg_match('/^(IEMobile|MIDP-2.0|Smartphone|PPC$)/u', $match[1])) { $model = $match[1]; } @@ -711,7 +719,7 @@ private function detectWindows($ua) $this->data->os->name = 'Windows Phone'; $this->data->device->type = Constants\DeviceType::MOBILE; - if (preg_match('/Windows Phone (?:OS )?([0-9.]*)/u', $ua, $match)) { + if (preg_match('/Windows Phone(?: OS)?[ \/]([0-9.]*)/u', $ua, $match)) { $this->data->os->version = new Version([ 'value' => $match[1], 'details' => 2 ]); if (intval($match[1]) < 7) { @@ -783,6 +791,18 @@ private function detectWindows($ua) } } + if (preg_match('/\(Windows Phone OS\/[0-9\.]+; ([^:]+):([^;]+); [a-z]+(?:\-[a-z]+)?\)/iu', $ua, $match)) { + $this->data->device->manufacturer = $match[1]; + $this->data->device->model = $match[2]; + $this->data->device->identified |= Constants\Id::PATTERN; + + $device = Data\DeviceModels::identify('wp', $match[2]); + if ($device->identified) { + $device->identified |= $this->data->device->identified; + $this->data->device = $device; + } + } + /* Desktop mode of WP 8.1 */ if (preg_match('/WPDesktop;\s*([^;\)]*)(?:;\s*([^;\)]*))?(?:;\s*([^;\)]*))?\) like Gecko/u', $ua, $match)) { if (preg_match("/^[A-Z]+$/", $match[1])) { @@ -1174,7 +1194,7 @@ private function detectNokiaOs($ua) $this->data->os->name = 'MeeGo'; $this->data->device->type = Constants\DeviceType::MOBILE; - if (preg_match('/Nokia([^\)]+)\)/u', $ua, $match)) { + if (preg_match('/Nokia([^\);]+)\)/u', $ua, $match)) { $this->data->device->manufacturer = 'Nokia'; $this->data->device->model = Data\DeviceModels::cleanup($match[1]); $this->data->device->identified |= Constants\Id::PATTERN; @@ -1941,7 +1961,19 @@ private function detectBrew($ua) } } - if (preg_match('/\(BREW [^;]+; U; [^;]+; [^;]+; ([^;]+); (Polaris|Netfront)\/[0-9\.]+\/(WAP|AMB)\)/ui', $ua, $match)) { + if (preg_match('/\(BREW [^;]+; U; [^;]+; [^;]+; ([^;]+); (Polaris|Netfront)\/[0-9\.]+\/(WAP|AMB|INT)\)/ui', $ua, $match)) { + $this->data->device->model = $match[1]; + $this->data->device->identified = Constants\Id::PATTERN; + + $device = Data\DeviceModels::identify('brew', $match[1]); + + if ($device->identified) { + $device->identified |= $this->data->device->identified; + $this->data->device = $device; + } + } + + if (preg_match('/\(BREW [^;]+; U; [^;]+; [^;]+; Opera Mobi; Presto\/[0-9\.]+\/(?:WAP|AMB|INT)\) ([^\/]+) [^\/]+\//ui', $ua, $match)) { $this->data->device->model = $match[1]; $this->data->device->identified = Constants\Id::PATTERN; diff --git a/src/Data/DeviceModels.php b/src/Data/DeviceModels.php index 8724568..cccb851 100644 --- a/src/Data/DeviceModels.php +++ b/src/Data/DeviceModels.php @@ -159,7 +159,7 @@ public static function identifyList($list, $model, $cleanup = true) if (self::hasMatch($m2, $model)) { $match = $v2; $pattern = $m2; - continue; + break; } } } else { @@ -230,6 +230,8 @@ public static function hasMatch($pattern, $model) public static function cleanup($s = '') { $s = preg_replace('/^phone\//', '', $s); + $s = preg_replace('/^(HTC|SAMSUNG|SHARP|Toshiba)\//u', '', $s); + $s = preg_replace('/^(\/|; |;)/u', '', $s); $s = preg_replace('/\/[^\/]+$/u', '', $s); $s = preg_replace('/\/[^\/]+ Android\/.*/u', '', $s); @@ -245,6 +247,7 @@ public static function cleanup($s = '') $s = preg_replace('/ MIDP.+$/u', '', $s); $s = preg_replace('/ AU-MIC.+$/u', '', $s); $s = preg_replace('/ AU\.Browser$/u', '', $s); + $s = preg_replace('/ UP\.Browser$/u', '', $s); $s = preg_replace('/_/u', ' ', $s); $s = preg_replace('/^\s+|\s+$/u', '', $s); @@ -265,6 +268,7 @@ public static function cleanup($s = '') $s = preg_replace('/^Iconia( Tab)? /u', '', $s); $s = preg_replace('/^ASUS ?/u', '', $s); $s = preg_replace('/^Ainol /u', '', $s); + $s = preg_replace('/^CoolpadCoolpad/iu', 'Coolpad', $s); $s = preg_replace('/^Coolpad ?/iu', 'Coolpad ', $s); $s = preg_replace('/^Alcatel[_ ]OT[_-](.*)/iu', 'One Touch $1', $s); $s = preg_replace('/^ALCATEL /u', '', $s); @@ -288,9 +292,10 @@ public static function cleanup($s = '') $s = preg_replace('/^(Motorola[\s|-])/u', '', $s); $s = preg_replace('/^(MOT-)/u', '', $s); $s = preg_replace('/^Moto([^\s])/u', '$1', $s); + $s = preg_replace('/^(UTStar-)/u', '', $s); $s = preg_replace('/^VZW:/iu', '', $s); - $s = preg_replace('/^Vodafone\/1.0\//iu', '', $s); + $s = preg_replace('/^(Swisscom|Vodafone)\/1.0\//iu', '', $s); $s = preg_replace('/-?(orange(-ls)?|vodafone|bouygues|parrot|Kust)$/iu', '', $s); $s = preg_replace('/[ -](Mozilla|Opera|Obigo|Java|PPC)$/iu', '', $s); $s = preg_replace('/ ?Build$/iu', '', $s); diff --git a/src/Model/Device.php b/src/Model/Device.php index b604511..6c60122 100644 --- a/src/Model/Device.php +++ b/src/Model/Device.php @@ -82,7 +82,7 @@ public function identifyModel($pattern, $subject, $defaults = []) if (preg_match($pattern, $subject, $match)) { $this->manufacturer = !empty($defaults['manufacturer']) ? $defaults['manufacturer'] : null; $this->model = Data\DeviceModels::cleanup($match[1]); - $this->identifier = preg_replace('/ (Mozilla|Opera|Obigo|AU.Browser|Build|Java|PPC|AU-MIC.*)$/iu', '', $match[0]); + $this->identifier = preg_replace('/ (Mozilla|Opera|Obigo|AU.Browser|UP.Browser|Build|Java|PPC|AU-MIC.*)$/iu', '', $match[0]); $this->identifier = preg_replace('/_(TD|GPRS|LTE|BLEU|CMCC|CUCC)$/iu', '', $match[0]); if (isset($defaults['model'])) {