mimmi20/browser-detector

View on GitHub
data/factories/devices/mobile.json

Summary

Maintainability
Test Coverage
{
  "rules": {
    "/startrail|starxtrem|starshine|staraddict|starnaute|startext|startab/i": "sfr",
    "/hiphone/i": "hiphone",
    "/asus(?![- \\/]nexus)|padfone|transformer|tf300t|slider sl101|me302(?:c|kl)|me301t|me371mg|me17(?:1|2v|3x)|eee_701|tpad_10|tx201la|p01t_1|(?:k0[01][0-9a-z]|z00d|z00yd|p(?:00[8acil]|01[mwyz]a?|02[123478])|z017d|za550kl|zb555kl|zb602kl|zc553kl|ze520kl|ze553kl|ze554kl|ze620kl|ast21|g553kl)(?: +build|[;\\/\\)])|(?:adr|android) [56].* p002|memopad|pegasus|1005pxd|g550kl|z[cs][56][05679][0134]k[ls]/i": "asus",
    "/mypad (?:1000|750) ?hd/i": "yooz",
    "/(?:myphone|mypad|mytab)[ _][^;\\/]+(?: +build|[;\\/\\)])|cube_lte|mytab10ii|hammer active|axe[ _]m[ _]lte|(?:adr|android) 6\\.0.* c1001/i": "myphone",
    "/(?<!alldo|cubix )cube|(?:u[0-9]+gt|k8gt)|i1-3gd|i15-t[cf]l|t8-plus/i": "cube",
    "/tcl[ \\-][a-z0-9]+|tcl[_ \\-][^;\\/]+(?: +build|[;\\/\\)])|tclgalag60|vf-1497|vf685|tcl#-c616|play 2|percee tv|a501dl|t770h|5159j|5152d|4187d/i": "tcl",
    "/touchpad\\/\\d+\\.\\d+|hp-tablet|hp ?ipaq|p160u|(?<!tran)slate(?!droid)|hp ?10 ?plus|(?<!c)hp ?[78]|compaq [7|8]|hp; [^;\\/)]+|pre\\/|pixi|palm(?! ?os|source|e| wapper)|cm_tenderloin|hp estation|hp compaq|hp touchpad/i": "hp",
    "/hs-7dtb2/i": "hipstreet",
    "/hisense[ _;\\-][^);\\/]+|hs-(?:g|u|eg?|i|l|t|x)[0-9]+[a-z0-9\\-]*|e270bsa|m470bs[ae]|e2281|e2371|eg680|f5281|u972|e621t|w2003|hlte[0-9]{3}[mt]|amazing a1|50a6gx|43a6gx/i": "hisense",
    "/CCE |SK35[12]|SK402|SK504/": "cce",
    "/blaupunkt|atlantis[_ ](?:1001a|1010a|a10\\.g40[23])|discovery[_ ](?:102c|108c|111c|1000c|1001a?)|endeavour[_ ]?(?:101|700|785|800|101[glm]?|1000|1001|101[03]|1100)|polaris[_ ]80[38]|end_101g-test|4kids|10bpe0h?|8bpe0h/i": "blaupunkt",
    "/archos|a101it|a7eb|a70bht|a70cht|a70hb|a70s|a80ksc|a35dm|a70h2|a50ti|ac45ne|ac50bhe/i": "archos",
    "/flipkart|xt811/i": "flipkart",
    "/trekstor|(?<!;)surftab|breeze 10\\.1 quad|xintroni10\\.1|(?<!e)[sv]t[0-9]{5}|tsp21/i": "trekstor",
    "/ct(?:10[0123]0|820|7[12][056])(?:w|fr)?(?: +build|[;\\/\\)])/i": "carrefour",
    "/(?<!\\-)minix|neo-z64|neo-x[5678]|neo-u[19]|neo-g4/i": "minix",
    "/(?:hw-)?(?<!build\\/)(?:huawei(?![- \\/]nexus|browser)|mate 20|ideos|honor[ _]?)|(?:ady|ag[rs](?:[23]k?|k)?|aka|al[eip]|amn|(?<!r)an[ae]|aqm|(?<![lmtzw])ar[et](?!-pcb)|ask|at[hu]|aum|ba[cl]|bah[234]?|bg[2o]|bkl|bl[akln]|bmh|bn[de]|brt|btv|bz[ackt]3?|ca[gmz]|cdy|che[12]|ch[acem]|clt|cmr|co[lr]|cr[ort]|ctr|cun|dby2?|dig|dli|dra|du[abk]|ebg|edi|el[es]|eml|ev[ar]|fdr|fi[gn]|fla|fne|foa|frd|g7|g510|g52[67]|g535|g610|g620s?|g621|g630|g73[05]|g740|g750|(?<!sa)gem|glk|got|gra|h[36]0|hd[nl]|hlk|hma|hol|hry|hwi|(?<![bgn])ine|ja[dt](?!-browser)|jdn2|je[fr]|jkm|jln|jmm|jny|jsn|ki[iw]|kjr|knt|ko[bz]|krj2|ks[ae]|ldn|lio|lld|lnd|lon|lra|lua|ly[ao]|mar|med|mga|mha|mla|moa|mr[drx]|(?<!u)mts(?!-t0)|mya|nam|(?<!wi)nce|ne[mno]|nmo|noh|nt[hns]|oxf| p[267e]|par|pct|pgt|pic|(?<!ap)pl[ek]|pot|ppa|pra|rea|(?<![-t])rio|rky|rmo|rne|rvl|(?<![jv])sc[lm]|sea|sht|skr|sla|sne|spn|st[fk]|t1|ta[ghs]|tet|tit|tny|trt|vce|(?<!e)ven|vie|vky|(?<!\\-)vns|vog|vrd|vtr|was|wgr|wlz|y22[01]|y32[01]|y330|y340|y538|y541|y550|y635|yal)-|lge-(?:n[14x]|an[12]0)|(?<!k)u(?:8100|8110|8160|818[056]|8220|8230|8350|8500|8510|8520|8600|865[015]|866[1567]|8686|8800(?:pro)?|8815-51|881[58]|8860|920[02]|9202l-[1234]|9500e?|9508)(?: +build|[;\\/\\)])|bucare y330-u05|h1611|hi6210sft|vodafone[ _]858|vodafone 845|ascend| m86[05] | p6 |enjoy 7 plus|c8512|(?<!s|tc)c8800|g6600|h710vl|p7mini|p8_max|t1-701u|t1 7\\.0|mediapad|speedsurfer|c8650|c8600|c8500|c8817d|hi6250| 8950| s8600|prism ii|kestrel|huaweigra|huaweimt7|huaweinxt|huaweiy538| grace(?: +build|[;\\/\\)])|mt2l03|hwt31|hwv3[12]|p30[ _]pro|d-0[12][hjk]|cht8000|adr3305|adr3310/i": "huawei",
    "/rikomagic|rkm mk[0-9]{2}|mk903v|mk802 iv s/i": "rikomagic",
    "/cx-919|mk908/i": "tronsmart",
    "/lanix|ilium|(?:adr|android) 4\\.[234].* x110(?![\\/\\-]3g)|alpha[ _]950/i": "lanix",
    "/(?:adr|android) 4\\.[12].* mk808(?: +build|[;\\/\\)])/i": "gizga",
    "/(?:adr|android) 4\\.4.* mk808(?: +build|[;\\/\\)])|mk808b/i": "andoer",
    "/(?<!son)yd[0-9]{3}|c9660/i": "yota",
    "/mobistel|cynus[ _][^\\/;]+/i": "mobistel",
    "/studio-st102[24]/i": "mmtc",
    "/audiovox/i": "audiovox",
    "/sony(?!ericsson)|sonyericsson(?!gt-|htc|allwinner|pccompanion)|(?<!htc_|cyanogenmod-)xperia(?! mod|_qhd)|playstation(?!network)|sgpt[0-9]{2}|(?<!f[0-9]{3})l[0-9]{2}u|w960|netbox|(?:adr|android) 2\\..* x10(?: +build|[;\\/\\)])|(?<!aquaris) e1[056][ai]?(?: +build|[;\\/\\)])|(?<!aquaris|conexis|droid|ips|iusai|umi|voto|poco) x2 |r800[aix]|s500i|(?<!micromax )x1i|x10i|[ls]39h|h4233|h3113|h3213|h3223|h3311|h3413|h4113|h4213|h4311|h4413|h4493|h8166|h8216|h8266|h8276|h8296|h8314|h8324|h8416|h9436|h9493|ebrd[0-9]{4}|[45789]0[12]so|l36h|so[ltv][234][0-9]|smartwatch 3|lf-x5|nsz-gs7|nw-x10[056]0|m51w|s50h|m35[ct]| u20i|is12s| e4g|xq-[abc][a-z][0-9]{2}|32lea73t2sm/i": "sony",
    "/(?<!:)(?:nokia|asha);?[ _\\/\\-]?[0-9]{3,4}|nokia;?[ _#\\/\\-]?r[hm]-[0-9]{2}|nokia;?[ _#\\/\\-]?[cegnx](?:[0-9]{1,2})?(?:-(?:[0-9]{1,2}|gage))?|(?<!:)nokia [1-9](?:\\.[1-4](?: plus| 5g)?| plus| sirocco)?(?: +build|[;\\/\\)])|lumia|surface phone|maemo rx|portalmmm\\/2\\.0 n7|portalmmm\\/2\\.0 nk|nok[0-9]+|rx-51 n900|rm-(?:1031|104[25]|106[234567]|107[234567]|1089|109[0269]|1109|111[34]|1127|1141|115[24])|ta-[0-9]{4}(?: +build|[;\\/\\)])|(?:adr|android) 5\\.[01].* n1|5130c-2|arm; 909|id336|genm14|e6-00|c7-00|; 603;|; 500;| es70/i": "nokia",
    "/captiva[ _-][^;\\/]+(?: +build|[;\\/\\)])/i": "captiva",
    "/supertab[ _-]?[^;\\/]+(?: +build|[;\\/\\)])/i": "supertab",
    "/vi10|vi8 plus|hibook|hi(?:8|9|10) ?(?:air|pro|plus)|cw-hi8-super|v99x|cw-v[0-9]{1,2}(?:[\\-is ]|hd)/i": "chuwi",
    "/azumi/i": "azumi",
    "/cowon/i": "cowon",
    "/keneksi|norma 2/i": "keneksi",
    "/impression|impad|imsmart/i": "impression",
    "/ergo| a50[23][ )\\-]|gotab gti8/i": "ergo",
    "/beelink|mini mxiii-ii/i": "beelink",
    "/ mbx |mxiii-g|dvbt reference board/i": "mbx",
    "/benq|maui e800/i": "benq",
    "/umi(?:digi)?[ _]|(?<!mobile |m)iron[ _]|london(?!test)|hammer_s|z2[ _]pro|s3[ _]pro|plus e|c note|super(?!sonic)|s2 lite|(?<!9)(?:a[135][_ ]pro|z2)(?: +build|[;\\/\\)])(?!play)|(?<!ph)one[_ ]pro|(?:adr|android) 8\\.1.* one[_ ]max|(?<!novo)crystal|xii|rome_x| hammer(?: +build|[;\\/\\)])|emax mini/i": "umi",
    "/(?<!fbcr\\/)cosmote/i": "cosmote",
    "/(?:sirius|gyga|ego|xara|spirit|vario)[_ ]qsx?|pluri[_ ]m7|zun[_ ]xo?|jax[_ ]s|jax[_ ]mini|onyx[_ ]xs|sirius[_ ]z/i": "vonino",
    "/droidz/i": "torque",
    "/motin/i": "motin",
    "/droidplayer/i": "droid-player",
    "/engeldroid/i": "engel-droid",
    "/af90/i": "asia-fone",
    "/(?<![8s])mot(?!orolawebkit|orola\\/google|osola|[ehpt]|ion|-lt18i|us)|(?<!md |mocor|[imnos]|slate|swift|pixel)droid(?!ace) ?(?:build|[a-z0-9]+)|droid-bionic|portalmmm\\/2.0 (?:e378i|l6|l7|v3)|xoom [^;\\/]*build|(?<!ne|t)(?:xt|mz|me)[0-9]{3,4}[a-z]?(?:\\(defy\\)|-[0126][0-9]?|-backflip)?(?: +build|[;\\/\\)])|(?:adr|android) .* mb[0-9]{3,4}[a-z]?(?:\\(defy\\)|-[012][0-9]?|-backflip)?(?: +build|[;\\/\\)])|milestone|razr hd|(?<!desire) z |(?<!sm-)t720|mt620|mt680|mt716|mt788|mt810|mt870|mt887|mt917|isw11m|wx435|wx445|(?<!c)mb501|mb525|mb860|dext| atrix[ _]|(?:adr|android) 1\\.5.* i1|201m|me525\\+|foma m1000|a953|a853|is12m/i": "motorola",
    "/galaxy s3 ex|n9592|hx-9299a/i": "hdc",
    "/lingwin/i": "lingwin",
    "/boway/i": "boway",
    "/gt-a7100|gt-[abht]95[0-9]{2}|sm-h900a/i": "htm",
    "/feiteng| gt-h|h7100|gt-n9300|gt-9500/i": "feiteng",
    "/byond/i": "byond",
    "/sprd(?!-galaxy|-gt|-i)|b51\\+|sphs on hsdroid/i": "sprd",
    "/zuum|stedi|magno/i": "zuum",
    "/sc-[0-9]{2,4}(?:mid|jb|bt)/i": "supersonic",
    "/ mito /i": "mito",
    "/ginzzu|rs61d ultimate|rs81d/i": "ginzzu",
    "/everpad/i": "everest",
    "/ gt-t210(?: +build|[;\\/\\)])/i": "greentel",
    "/ gt-7[23][24][056](?: +build|[;\\/\\)])/i": "genesis",
    "/haipai|(?:adr|android) 4\\.0.* i9220(?: +build|[;\\/\\)])|(?<!htc )x710d|i9377|i9389|i9277|n7889/i": "haipai",
    "/sm-8764/i": "across",
    "/ek-[0-9]{4}/i": "ekt",
    "/sgt-p/i": "sing-tech",
    "/tsm-[0-9]/i": "vitelcom",
    "/blackbird/i": "black-bird",
    "/(?:adr|android) 4\\.1\\.9.* i7100/i": "m-pai",
    "/(?<![gnv\\-])ipro|sense golly|(?<!go )i935[01]|i940[12]|wave 4\\.0/i": "ipro",
    "/hc7620|sm-led/i": "sky-worth",
    "/etw101gt_c/i": "microtech",
    "/(?<!@)samsung[_is \\-;\\/](?!galaxy nexus|lg|lenovo|htc|build|e6653|f5121|k4000|nexus|opera|up\\.browser|kt961 pro|windows mobile|transform|stratosphere|ssd|service|self|syncml|replenish|network|moment)|galaxy(?! nexus)|gt - i9505|(?<![np])gt[\\-_](?![89ah]|540|n9880)|ek-g|(?:(?<!u)sc|sam|sch|sec|sgh|shv|shw|(?<![tu])sm ?|sph|continuum|yp)-|(?<!ke)sam[0-9]{3}|g710[68]|n8000d|n[579]1[01]0|f031|n9106|n900\\+|sc[lt]2[0-9]|isw11sc|s7562|s720c|sghi[0-9]{3}|i8910|[ \\-]i(?:545|699|550[08]|5800|7100|7110|7500|8190|8750|9000|9100|9150|9190|9200|9220|9250|9300i?|9350|9400|9500|9600)(?: +build|[;\\/\\)])|[ \\-]n(?:7000|7102|7200|9006)(?: +build|[;\\/\\)])|blaze(?!r)|l9500|s8500|40[34]sc|scg0[38]|scv[34][0-9]|gear live|708sc|s400i| (?:r820|t805s)(?: +build|[;\\/\\)])|familyhub|precedent/i": "samsung",
    "/tm-(?:mid|sm)[0-9]{3,4}/i": "touchmate",
    "/texet|x-pad|x-medium|x point|navipad|tm-[0-9]{4}|tb-7[17]1a/i": "texet",
    "/(?:ever(?:glory|shine|miracle|mellow|classic|trendy|fancy|vivid|slim|glow|magic|smart|star)[^\\/;]*)(?: +build|[;\\/\\)])|e1020hd|e70[25]0hd|e7914hg|e8050h[dg]|e8051hd|e9054hd/i": "evertek",
    "/inm[0-9]{3,4}|tab1024|tab814s|tab744/i": "intenso",
    "/atongm/i": "atongm",
    "/ngm[_ ;] ?[a-z0-9]+|(?:forward|dynamic)[ _]?[^\\/;]+(?: +build|[;\\/\\)])/i": "ngm",
    "/tolino/i": "tolino",
    "/crosscall|odyssey_plus|odyssey s1|trekker-[msx][123]|action-x3/i": "crosscall",
    "/ ngs |odysea 500qhd/i": "ngs",
    "/odys|xelio_next|(?:element|falcon|goal|ieos|lux|maven|pace|primo|rapid|rise|space|tao|thanos|thor|titan|uno)_?[gx]?10|(?:connect|pluto|pyro|rapid|sense)_?[gx]?7|connect8plus|juniort?_?8_?pro|loox|xelio|neo_quad10|ieos_quad|sky ?plus|pedi_plus|adm816|noon|(?<!e)xpress|genesis|tablet-pc-4|kinder-tablet|evolution12|mira|score_plus|pro[ _]q8|neo6_lte|fusion2in1|neron|slade_x55|studytab|uno_x8|visio(?!n)|notosplus|notetab_pro/i": "odys",
    "/ebm8000nd_211|nx16a8116kp/i": "yifang",
    "/next|next[0-9]|datam803hc|nx785qc8g|nxm900mc|nx007hd8g|nx007dw8g|nx008hd8g|nx010hi8g|nxm908hc|nxm726|nx700qc|nx700g|nx010qw16g|nx868qw8g|nx16a[0-9]{4}/i": "nextbook",
    "/infinix|s2_pro|p5s_x403/i": "infinix",
    "/vnt[ _]tab[ _]?8/i": "vnt",
    "/openbox/i": "openbox",
    "/bl8800|bv[4-9][0156789]00[ _]?(?:pro)?|dm550|crown|alife [ps]1|omega_pro|ultra plus|p2lite|(?:adr|android) 4\\.4.* zeta|(?:(?<!nov)a[6-9]0(?:pro)?|tab ?[689]| e7s|a7pro| r6| a8|hero 10)(?: +build|[;\\/\\)])/i": "blackview",
    "/celkon| a400(?: +build|[;\\/\\)])|(?:adr|android) 2\\.3.* a19/i": "celkon",
    "/multilaser/i": "multilaser",
    "/karbonn|(?<!appcelerator )titanium|machfive|sparkle v|s109|k9 smart (?:grand|4g)|(?:(?:adr|android) 4\\.[02].* a1[689]\\+?|[ _]a[19]\\+|[ _]a7\\*|(?:adr|android) 4\\.1.* st10)(?: +build|[;\\/\\)])|jk8000|a40 indian|smarttab[12](?: +build|[;\\/\\)])/i": "karbonn",
    "/micromax[ \\-\\_]?[a-z0-9]+|(?:p70221|a121|a120|a116|a114|a106|a093|a065| a96| a78|(?:adr|android) [24]\\..* a52| a50| a47| a28|f666|mt500|q327|p701)(?: +build|[;\\/\\)])|mid1014|canvas 2 colours/i": "micromax",
    "/smartpad7503g|smartpad970s2(?:3g)?|m[_\\-][mps]p[0-9a-z]+|m-ipro[0-9a-z]+/i": "mediacom",
    "/bmobile[ _]|(?<!comcastappplatform )ax-?[0-9]{3}/i": "bmobile",
    "/smart 4g max 5\\.0|smart 4g gen c [45]\\.0/i": "vivatel",
    "/onda|v919 3g air|v10 4g|v989 air|v891|v812|v972 core4|v975[im]|v116w dualos|t2101l2b1c|obook ?[12]0/i": "onda",
    "/nx785qc/i": "digiin",
    "/tracer/i": "tracer",
    "/amoi|(?<!nec-)n820|a862w/i": "amoi",
    "/blade 80|blade 97/i": "commax",
    "/(?<!fbcr\\/)jazztel/i": "jazztel",
    "/(?<!fbcr\\/)megafon/i": "megafon",
    "/smart[ _]4g[ _](speedy|gen|m1|adventure|max)/i": "true",
    "/(?<!jaz|u)zte(?!ti\\/|l|_bp_ger)|racer|nubia|axonphone|smart ?(?:tab(?:10|7)|4g(?! (?:champion|p1))|ultra 6)|orange (?:hi 4g|reyo)|x991-rio-orange|beeline (?:pro|smart2)|lutea|bs 451|n9132|grand s flex|e8q\\+?|s8q|s7q|(?<![rx][_ ])blade(?! ?10 ?(ultra|pro))|momodesign md droid|[ \\-]a310(?!e)|atlas[_ ]w|base tab|kis plus|n799d|n818s|n817|n861|n909|n9101|n913[67]|n9180|n9510|n951[56789]|n9520|n9521|n9560|n9810|n918st|n958st|(?<![kl]|lg-)nx[0-9]{2,3}[aehj]?(?![0-9])|open ?[c2]|pm1152 tabula|n9130|u9180| v9 | v81|v788d|v8000|v9180|v9815|x501(?!_)|x920|z221|z23[23]|z353vl|z3153v|z557bl|z558vl|z559dl|z6201v|(?<!t)z71[678]|z768g|z79[25689]|z81[258]|z82[08]|z83[1235679](?:[bv]l)?|(?<!t)z85[125]|(?<!t)z86[12]|z899vl|z91[67]|z95[5689]|(?<!t)z965|z97[018]|z98[123678](?:dl)?|(?<!mobile\\/9)z999|a577vl|n880e|n9835|v9[acs]|az210a|optimus san francisco|skate|z930l|grand memo|kpn smart 200|vip tab 8|(?:adr|android) 4\\.[02].* grand x| k90u|vodafone smart ?ii|ctyon-a9|602zt|mo-0[0-9]j/i": "zte",
    "/(?<!s)sagem/i": "sagem",
    "/smart tab 4(?!g)|vfd?[ \\-]?[0-9]{3,4}(?: +build|[;\\/\\)])|985n|vodafone smart 4|smart 4 turbo|vodafone 975(?!n)|(?<!fbcr\\/)vodacom|chat_655w|555_blue|vodafone541|vodafonesmartchat/i": "vodafone",
    "/(?<!i)qtab tab4/i": "zyq",
    "/qmobile|q-smart|(?<!i)qtab|(?: x900| m300|lt700|lt500|(?:adr|android) 4\\.2.* z[46])(?: +build|[;\\/\\)])|linq [lx]/i": "qmobile",
    "/shield|tegranote|wx_na_wf/i": "nvidia",
    "/kingzone|k1[ _]turbo| s20(?: +build|[;\\/\\)])/i": "kingzone",
    "/gigabyte|rio r1|gsmart|t1005|g1305/i": "gigabyte",
    "/tb-703g/i": "auris-mobile",
    "/royale a1/i": "fero",
    "/fine-?power/i": "fine-power",
    "/p281/i": "mxq-pro",
    "/a1 alpha/i": "a1",
    "/(?<!brand=)lenovo|smart ?tab|idea(?:tab|pad)|thinkpad|yoga tablet|(?<!aspire|benefit|conexis|mi|gionee|thl) [ak]1 (?!lite|\\[)|a1_07| a6[05](?: +build|[;\\/\\)])| a808(?: +build|[;\\/\\)])|a2016b3[01]|at1010-t|b5032|b5060|b5531|3gc101|e1041x|e10[56]0x|k910l|p1060x|(?:adr|android) [67].* p2|p770|(?<!p)s650|(?<!c)s820|(?<!l)s860(?:w\\+)?|s890|s960s?|s1032x|s6000d|tab2a7-|x1030x|yb1-x90l|zuk | k(?:6|80)(?: +build|[;\\/\\)])|a238t|z2121|z2131|tb-x704[av]|tb-x304[fl]|tb-8504[fx]|lepad_001b|yt-x703f|yt3-x50m|(?:adr|android) [45].* k920|(?:adr|android) 4\\.4.* (?:k3|k30-t)(?: +build|[;\\/\\)])|(?:adr|android) 4\\..* s660(?: +build|[;\\/\\)])|a7600-h|ln1107|l18011|k350t|801lv|tb3[02357][018][fx]u/i": "lenovo",
    "/fujitsu(?!toshiba)| m702 | m532 | m305 |f-41a|f-10d|f-0[0-9][defkl]|is11t|fartm933kz|isw1[13]f|901fj/i": "fujitsu",
    "/pentagram|monster x5|quadra 7 ultraslim/i": "pentagram",
    "/shaan|iball|snap 4g2|andi 4f arc3|andi ?[34]\\.5|andi ?5h/i": "iball",
    "/artel|adi_5s/i": "artel",
    "/quadro/i": "quadro",
    "/akai|glory[ _](?:o2|l3|g5)|eco e2|tab-7800|tab-7830|tab-9800q?|x6 metal|aktb-703mz|ilike q8|mid7034c/i": "akai",
    "/iris708/i": "ais",
    "/irulu/i": "irulu",
    "/lava[ _\\-\\.]|(?<!a)iris[ _]?[^\\/;]+(?: +build|[;\\/\\)])|(?<!sie-)a76(?: +build|[;\\/\\)])|x1 selfie(?: +build|[;\\/\\)])|x41 plus(?: +build|[;\\/\\)])|flair z1|kkt ?20|pixelv1|pixel v2\\+?|(?: x17|x1 atom|x5 4g| z[679]0|(?:adr|android) 5\\.1.* (?:a79|a52|v5|x10))(?: +build|[;\\/\\)])|(?:adr|android) [56]\\..* x11(?: +build|[;\\/\\)])|e-tab ivory|ivorys|qpad e704|x1 beats|atom 2/i": "lava",
    "/allcall[ _]|(?<!m|o2 xda )atom/i": "allcall",
    "/evolveo|strongphoneq4/i": "evolveo",
    "/evo air/i": "elite",
    "/ice-phone/i": "ice-phone",
    "/(?<!bo|fbcr\\/|825_|by )t-mobile|(?<!u |im)pulse(?!\\/)|my-?touch|ameo|garminfone|revvlplus c3701a|era g1/i": "t-mobile",
    "/(?<!lec|[gnokt])htc(?![mo]| streaming player)|incredible ?s|sprint (?:apa|atp)|nexushd2|amaze[ _]4g(?: +build|[;\\/\\)])|(?:desire|sensation|evo ?3d|incredible ?s|wildfire|butterfly)[ _]?(?:[^;\\/]+)(?: +build|[;\\/\\)])|(?:amaze[ _]4g|(?<!gi|ph|xbox )one ?[xelsv\\+]+)(?: +build|[;\\/\\)])|spv e6[05]0|one mini|one m8|x525a|pc36100|pg86100|pm36100|pm63100|xv6975|pj83100(?: +build|[;\\/\\)])|0pcv1|0pm92|2pyb2|0pja10|0pja2|t-mobile_espresso|mda[ _]|vpa_touch|(?:831c|a315c|(?:adr|android) 6\\..* x9|(?<!xolo|nexus|cubot|blu life) one|dream|s12ht|(?:adr|android) [567]\\..* m9)(?: +build|[;\\/\\)])|eris 2\\.1|t9292|t8698|t858[58]|t8388|t7576|t7575|t5555|t5388| 909d|m7cdtu|mwp6985|dlxu| 9088|endeavoru|s11ht|s22ht|isw12ht|htl21|inspire 4g|001ht| hd3|(?:adr|android) 4\\.0.* (?:zeta|s720e|radar c110e|titan x310e)|magic-g2|a6277|a3380|ht-03a|c525c|adr(?:6325|6285|6275|6230|6225|6200|6300)|ph44100|(?:adr|android) 2\\.[23].* thunderbolt(?: +build|[;\\/\\)])/i": "htc",
    "/rc501l/i": "orbic",
    "/ac0731b|ac0732c|ac1024c|ac7803c|bc9710am|el72b|er71b|lc0720c|lc0723b|lc0725b|lc0804b|lc0808b|lc0809b|lc0810c|lc0816c|lc0901d|lc1016c|mt0724b|mt0729b|mt0729d|mt0739d|mt0811b|mt0812e|mt7801c|oc1020a|qs9719d|qs9718c|qs9715f|qs1023h|qs0815c|qs0730c|qs0728c|qs0717d|qs0716d|qs0715c|rc0709b|rc0710b|rc0718c|rc0719h|rc0721b|rc0722c|rc0726b|rc0734h|rc0743h|rc0813c|rc0817c|rc1018c|rc1019g|rc1025f|rc1301c|rc7802f|rc9711b|rc9712c|rc9716b|rc9717b|rc9724c|rc9726c|rc9727f|rc9730c|rc9731c|ts0807b|ts1013b|ts9708b|vm0711a|vm1017a/i": "3q",
    "/uniscope|(?<!%)u2013/i": "uniscope",
    "/mijue/i": "mijue",
    "/aquaris|bq [^\\/;]+(?: +build|[;\\/\\)])|bq(?:s|ru)?-[0-9]{4}| m10 |edison 3|n9200s/i": "bq",
    "/qumo|sirius ?890/i": "qumo",
    "/mvk-t2101/i": "byterg",
    "/vk-(?!a88|740-bl)/i": "vk-mobile",
    "/vk700|vk6050/i": "vk-world",
    "/tagi/i": "tagi",
    "/(?<!mobi|e)lephone/i": "lephone",
    "/woxter|nimbus 80qb/i": "woxter",
    "/andromeda vm508/i": "phonocar",
    "/(?<![adehor0-9]|gll |x5\\-|fbcr\\/)lg(?! nexus| player|[0-9e]|\\-android|\\-app| browser)|(?<!o)lg[em](?! nexus|\\/google|-(?:n[14x]|an[12]0))|g3mini| g3 |(?:(?<!s)(?:l[ns]|us|v[kms])[0-9]{3}(?:pp|u| 4g)?|h87[01]|h870k|h831|p713|p509|c660| k10|gt-?540| l50)(?: +build|[;\\/\\)])|optimus g|l-0[0-9][cdef]|lm-?[gklqtvx][0-9]{3}|vk810 4g|(?:adr|android) 6\\.0.* x5(?: +build|[;\\/\\)])|g watch|ku9500|su950|gw620| ally |as740|vortex|ms840|p940|rs988|ti320-du|l413dl|(?:adr|android) 5\\.1.* g4s(?: +build|[;\\/\\)])|l-0[0-9][kl]|x401s?/i": "lg",
    "/gigaset|gs5[357]-6|gs80|gs100|gs110|gs18[05]|gs195|gs270|gs290|gs370|qv1030|gx290|maxwell-10|e940-2795-00/i": "gigaset",
    "/s-tell/i": "s-tell",
    "/bliss|bpm8040/i": "bliss",
    "/poly ?pad/i": "polypad",
    "/doov/i": "doov",
    "/samurai10|shoguni010/i": "shiru",
    "/nov-ntab29/i": "nova-tech",
    "/(?<![pn])ov-|solution 7iii|qualcore|vertis/i": "overmax",
    "/POV|TAB-PROTAB|MOB-5045|tab-i549/": "point-of-view",
    "/philips|pi[0-9]{4}|tle821l|q[mv][0-9]{3}e|tpm171e|and1e|w6500|qm163e/i": "philips",
    "/(?<!du)alcor|zest q813is|zest d740|access q881m/i": "alcor",
    "/mms-874/i": "tvpecee",
    "/telenor[ _](?!one[ _]touch[ _]c)/i": "telenor",
    "/ramos|w30hd|w17pro/i": "ramos",
    "/alcatel|(?<![ft])alc[a-z0-9]+|one[ _]?touch|idol3|vodafone (?:smart|785|875|975n)|(?<!doro)[ ;](?:d820x|a621bl|a574bl|a571vl|a570bl|a464bg|(?:9203|90[012][0-9]|80[023589][0-9]|70[2457][0-9]|60[134567][0-9]|5145|5116|50[0-9]{2}|4114|40[012346][0-9]|3075|3041|3020)[a-km-uw-z]?(?:_eea|_ru)?|6032|3020d|fl02|i213|i216x|p330x|p350x|v860|vf-(?:795|895n)|m812[cf]?|telekom puls|ot-[89][09][0-9]|a462c)(?: +build|[;\\/\\)])/i": "alcatel",
    "/(?<!t-mobile )(?:blu|dash)[ _][^\\/;]+(?: +build|[;\\/\\)])|vivo[ _](?:air|iv|4\\.[368]|5r?|6|xi|xl2?|go)|studio[ _](?:selfie|5\\.5|x[ _]plus|xl[ _]2|view[ _]xl)|(?:blu|arm); win (?:jr|hd)|tank xtreme 5\\.0|neo[ _]?4\\.5|life[ _]view[ _]tab|life[ _](?:play|x8)|(?:adr|android) 7\\..* c4|life pure xl|(?:adr|android) 6\\..* grand[ _]x|r1[ _]plus|advance 5\\.2|b110dl/i": "blu",
    "/tu-7981b|tu-6722a|tu-6518c|tu-1201a/i": "xie-he-kong",
    "/tu-7861a/i": "lenoge",
    "/tp[0-9]{1,2}(?:\\.[0-9]{1,2})?-[0-9]{4}|tu-[0-9]{4}|l100[12]|tu-w8402dsp8|i643/i": "i-onik",
    "/cresta|ctp[0-9]{3}/i": "cresta",
    "/turbo ?pad|turbo x6/i": "turbopad",
    "/excellent ?8|atp[0-9]{4}/i": "tomtec",
    "/tp710/i": "pyramide",
    "/rct[0-9]{4}|rct6k03w13|(?<![aeo])rca/i": "rca-tablets",
    "/neffos|tp[0-9]{3}/i": "tp-link",
    "/logicpd|zoom2/i": "logicpd",
    "/nook|bn[tr]v[0-9]+/i": "barnesnoble",
    "/koobee/i": "koobee",
    "/infocus|m370i|vzh|if9031|if9021/i": "infocus",
    "/mtc[ _]|smart[ _]surf[ _]4g/i": "mtc",
    "/ark[ _]benefit[ _](?:m3s|m4)|impulse[ _]p[12]/i": "ark",
    "/meizu|mz-[a-z]|mz-16t|m6t|(?:m04[05]|m35[1356]|mx[ -]?[2345](?: pro)?|(?:mz-)?m[1-6] note|m181[36]|m852h|m721c|m681[cq]|m612c|m57[18]c|m3[esx]|m03[12]|m1 metal|m1 e|(?<![abho])m2|m2 e|pro [567](?: plus)?|pro 7-h|(?:adr|android) [24]\\..* m9|16th)(?: +build|[;\\/\\)])/i": "meizu",
    "/TBD[0-9]{4}|TBD[BCG][0-9]{3,4}/": "zeki",
    "/t118|t108/i": "twinovo",
    "/t1144/i": "cello",
    "/symphony| (?:i10|h150|h400|e58|g20|v102|(?:adr|android) 7\\..* p8)(?: +build|[;\\/\\)])/i": "symphony",
    "/pomp/i": "pomp",
    "/thl[ _]|w[12]00| (?:w8|t11)(?: +build|[;\\/\\)])|(?:adr|android) 4\\.4.* t6 ?pro(?: +build|[;\\/\\)])|(?:adr|android) 4\\.2.* t200(?: +build|[;\\/\\)])/i": "thl",
    "/turbo-x|hive i?v 3g|spice iv/i": "turbo-x",
    "/vsun/i": "vsun",
    "/spice(?!i2i)|mi-?516|mi-?440|mi-?363/i": "spice",
    "/allview|v1_viper|a4you|p[456789]_(?:quad|energy|emagic|lite|seon)|a[5689]_(?:lite|duo|ready|quad)|ax4nano|x[123456]_soul|p41_emagic|viva_?(?:h802|h7s|i10g)|c6_duo/i": "allview",
    "/komu| k5 /i": "komu",
    "/phicomm|fws610_eu|e5051/i": "phicomm",
    "/(?<!evo |-)energy[ _-]?[^;\\/]+(?: +build|[;\\/\\)])/i": "energy-sistem",
    "/a4hy|a5c8|a76h|a8h[89]|c5j6|c6v8|c8j7|d4c[58]|e3c[56]|f2d6|k5e5|k9c6|m1d[45]|m1e[45789]|m5k[78]|m5f8|x98 ?air ?(?:ii|3g)|x98 ?(?:pro|air|plus)|x10 plus|(?<!t|poco )x3 ?pro|g17s ?3g|p98 ?4g|p90hd|e8c1|p80x_row|[mt]40 ?pro_eea|p20hd_eea/i": "teclast",
    "/zidoo/i": "zidoo",
    "/meeg(?!o)/i": "meeg",
    "/kazam|trooper|tornado(?!s)|(?<!i|dell |cherry )thunder(?! s220|bolt|bird)/i": "kazam",
    "/dg[0-9]{3,4}|(?<!armor )x[679] ?pro|x5max_pro|bl[57]000|(?:adr|android) 6\\..* (?:x10|t6 ?pro)(?: +build|[;\\/\\)])| x[23]0(?: +build|[;\\/\\)])|f3_pro|y100_plus|y6_piano|y6 max| t6 |(?:adr|android) 8\\.1.* s70(?: +build|[;\\/\\)])|s60 lite| y6c|(?:adr|android) 5\\.1.*(?<!vivo) x5s?(?: +build|[;\\/\\)])|mix lite|bl12000 pro|shoot_1|y100x|valencia2|x9 ?mini| x20l| (?:x5[05]|x60l|y8)(?: +build|[;\\/\\)])|turbo_mini_f1|s59pro|s88pro|s95pro|s97pro|n40pro|blade ?10 ?(ultra|pro)/i": "doogee",
    "/noa[ _]|hummer ?le|vivo 4g/i": "noa",
    "/a713_vivo_pro|a727_infinity_pro/i": "gtel",
    "/(?<!fbcr\\/)vivo|(?<!t|primo |armor |poco )x[0-9] ?(?:plus|max|pro)| x21(?: +build|[;\\/\\)])|(?:adr|android) 7\\..* x11(?: +build|[;\\/\\)])|v2121a|v2109|v2057a|v204[56]a?|v202[37]|v1965a|v1937|v1928a|v1923[at]|v1916[at]|v1832[at]|v181[468][at]|v1730d[at]|pd1917f|pd1931f|pd1945f|i2126/i": "vivo",
    "/yuanda/i": "yuanda",
    "/pocketbook(?!\\/)/i": "pocketbook",
    "/goclever|quantum|aries|insignia|orion_|elipso|terra_(?!pad)|orion7o|tq[0-9]{3}|libra 97/i": "goclever",
    "/senseit/i": "senseit",
    "/twz/i": "twz",
    "/evercoss|a66a|a74a|a75 max|(?:adr|android) 7\\..* m50|a7v\\+/i": "evercoss",
    "/dino(?!saur|;)/i": "dino",
    "/funtab-bolt-f970/i": "funtab",
    "/(?<!-|omnia7; |800c; |fbcr\\/|green)orange(?!bot|-)[ _)\\-]|spv|funtab|zilo|luno/i": "orange",
    "/(?:pgn-?[456][012][0-9]|pkt-?301|phs-601)[;\\/\\) ]|ctab[^\\/;]+(?: +build|[;\\/\\)])|plume l1|plume p8|tra-901g|allure m1|griffe t2|phq526|nova[ _]?60/i": "condor",
    "/(?<!fbcr\\/)beeline/i": "beeline",
    "/malata|mt330/i": "malata",
    "/starway/i": "starway",
    "/(?<!\\/)starmobile|diamond[ _]s3|up[ _]vision|knight[ _]luxe|play[ _]style/i": "star-mobile",
    "/fnac/i": "fnac",
    "/radxa/i": "radxa",
    "/dragon touch|notepad[_ ](?:k10|102|y80)/i": "dragon-touch",
    "/(?<!faceboo)k-?touch/i": "k-touch",
    "/nuqleo|zinq 7/i": "nuqleo",
    "/exeq/i": "exeq",
    "/doro(?!thy)|825_t-mobile/i": "doro",
    "/pantech|im-[at][0-9]{3}[lks]|adr910l|adr8995|pt-gf200|ptl21/i": "pantech",
    "/elephone[ _\\-][^\\/;]+(?: +build|[;\\/\\)])|p[3689]000(?: ?pro| ?plus|\\+| ?02| 6\\.0| 5\\.0 01)?(?: +build|[;\\/\\)])|p8_mini|p8_3d|u_pro|c1_max|c1x(?: +build|[;\\/\\)])|vowney|a4_pro|u3h/i": "elephone",
    "/anka/i": "anka",
    "/lemon|aspire a1/i": "lemon",
    "/sop-/i": "sop",
    "/velocity/i": "velocity-micro",
    "/avvio/i": "avvio",
    "/e-boda/i": "e-boda",
    "/reeder/i": "reeder",
    "/globex|gu-6012b|gu730c/i": "globex",
    "/morefine/i": "morefine",
    "/iocean|(?:adr|android) 4\\.4.* x8 mini(?: +build|[;\\/\\)])/i": "iocean",
    "/intki/i": "intki",
    "/(?<![lz])inq(?!uisitor)/i": "inq",
    "/kingsun/i": "kingsun",
    "/kopo/i": "kopo",
    "/koridy/i": "koridy",
    "/kumai/i": "kumai",
    "/eSTAR/": "estar",
    "/NTT(?!DoCoMo|\\/)/": "nttsystem",
    "/iq9013_4|iq8123[ck]|iq8000|iq7124|iq3000|iq1818|iq1502a|iq1310|iq1055|iq10[134]0|iqtab 3g|iqm1001|iqs300|iqw608|iqw553|iqe100|iqgw516|iqn700|iqw511t|iql30|iql5[01]|iqr300|iqp50|iqel41|iqm801/i": "mls",
    "/vivax|fly4|tpc-97150|tpc-9120[ _]?3g|tpc-8150|tpc-8140|tpc-8120[ _]?3g|tpc-715[12]|tpc[ -]712[015]|tpc-7100|tpc-7001|smart fly v500|point x40 pro|fun[ _]s20/i": "vivax",
    "/firefly| s30(?: +build|[;\\/\\)])|gt100|intense[ _]|aurii[ _]xcite/i": "firefly",
    "/fly[ _]|flylife|phoenix 2|fs529|fs50[1-9]|fs511|fs551|fs40[1-7]|fs452|fs451|fs454|4fs06|meridian-|life zen|iq[0-9]{3,}i?[ _]?(?:quad|firebird|quattro|turbo|magic|octa)?(?: +build|[;\\/\\)])/i": "fly",
    "/hlv-t[a-z0-9]+/i": "hi-level",
    "/ t02 /i": "changhong",
    "/bravis|a501 bright|nb(?:10[56]|751|7[145])|np101/i": "bravis",
    "/touchlet|x7g|x10\\.|xa100|px-?8841|px-?8837|px-?8709|sx7\\.(?:mini|quad|slim)|x8quad\\.pro|x10quad\\.v2/i": "touchlet",
    "/goly/i": "goly",
    "/sharp|sh[ltv][0-9]{2}|is05|[0-9]{3}sh|sh-?[0-9]{2,4}[cdefimuw]|sh-c02|fs8002|fs8010|sh-[adm][0-9]{2}|sl-c[0-9]{3,4}|j-sh05/i": "sharp",
    "/ z1[12]0|x111|x110[\\/\\-]3g|1021l2b3c|hh052/i": "xido",
    "/a101c/i": "ceavis",
    "/4good|s501m 3g|t700i_3g/i": "fourgood",
    "/verykool|(?:adr|android) 2\\.3.* (?:r800|s732)/i": "verykool",
    "/(?<!Black)B[iI][rR][dD][ _\\-\\.]/": "bird",
    "/t880g|etl-[st][0-9]{3}/i": "etuline",
    "/(?<!m)obi[_ ]|sf1|s551|(?<!vox )s50[1237]|s45[1234]|(?<!dns_)s400(?!i)|sj2\\.6|sj1\\.5|falcon|worldphone/i": "obi",
    "/(?<![_r\\/])cricket/i": "cricket",
    "/(?:adr|android) 4\\.2.* z512/i": "plum",
    "/40[gk]hs57|24[gk]hs5[57]/i": "doffler",
    "/samtron|43sa701/i": "samtron",
    "/mid_1089ipsa100/i": "deejoy",
    "/hce600/i": "chcnav",
    "/(?<!sp)acer|(?<!-)liquid(?!smooth)|aspire|(?<!zte blade |[0-9ks]|panasonic-|nova )a(?:100|101(?:b2?|b2-lz|c)?|110|200|210|211|500|501|510|511|700|701)(?: +build|[;\\/\\)])|android.*(?:v3[67]0|z1[23456]0|z200|z220|z410|(?<!citi )z5\\d{2}| t0[12346789])(?: +build|[;\\/\\)])|a1-713hd|a1-724|a1-734|a1-81[01]|a1-830|a1-84[01]|a3-a[12345][01]|b1-7[12356789a][01]|b1-7[23]3|b1-8[12356]0|b1-a71|b3-a[12]0|b3-a3[02]|b3-a42|b3-a40|b3-a50|(?:e39|e140|e210|e310|e330|e350|e380|e600|g100w|(?<!sie-)s5[57]|s5[012]0)(?: +build|[;\\/\\)])|da[0-9]+hq?l(?: +build|[;\\/\\)])|stream-s110| gt-810(?: +build|[;\\/\\)])|chromebook 14|predator g9-793|(?:adr|android) (?:4\\.4|5\\.).* s56(?: +build|[;\\/\\)])/i": "acer",
    "/technisat|technipad|aqipad|techniphone|tpad10g-hd/i": "technisat",
    "/q8002|novapad d9000/i": "crypto",
    "/primux/i": "primux",
    "/xolo|omega[ _]5\\.[05]|(?<!z)q10[01]0i?|(?<!cam)era[ _]?[23x]|(?:a1000s|(?<!oneplus )a600|a500s|q[678]00s?|q2000|q600 club|a550s[ _]ips|8x-1020|opus 3)(?: +build|[;\\/\\)])/i": "xolo",
    "/cherry|flare2x|flare_hd_max|fusion bolt|omega hd 4|nova a100|titan tv s320|thunder s220|(?:adr|android) 4\\.2.* s710(?: +build|[;\\/\\)])/i": "cherry-mobile",
    "/siemens(?! a\\/s| business|testmanager| ewm| lms)|sie-/i": "siemens",
    "/blackberry|playbook|rim tablet|bb10; ?(?:kbd|touch)|(?:bb[abcdefgh]|st[hv])100-[1-9]|bb q5/i": "rim",
    "/pmsmart450|pmpad720/i": "pmedia",
    "/papyre[ _\\-]pad/i": "grammata",
    "/inhon|papilio/i": "inhon",
    "/prestigio|(?<!insta|wa|yel)p[as]p[0-9]|pm[pt][0-9]|gv7777|per5274b/i": "prestigio",
    "/(?<!like )android.*(?<!compatible |a)iphone|ucweb.*adr.*iphone/i": "xianghe",
    "/(?<![dhmor])ipad|ipod(?!der)|(?<!like |compatible |a)iphone|like mac os x|darwin|cfnetwork|dataaccessd|iuc ?\\(|iph[0-9]\\,[0-9]|puffin\\/[0-9\\.]+i[tp]|appletv|ios\\.watch|macintosh/i": "apple",
    "/mtech/i": "mtech",
    "/mofut/i": "mofut",
    "/mlled/i": "mlled",
    "/m\\.t\\.t\\./i": "mtt",
    "/meu/i": "meu",
    "/noain/i": "noain",
    "/nexian/i": "nexian",
    "/qilive|q4t10in|q8t10in/i": "qilive",
    "/quechua/i": "quechua",
    "/sunvan/i": "sunvan",
    "/vollo/i": "vollo",
    "/nuclear/i": "nuclear",
    "/la2-s/i": "xiao-la-jiao",
    "/la-m1|la2-t/i": "beidou",
    "/yusun/i": "yusun",
    "/ytone/i": "ytone",
    "/zeemi/i": "zeemi",
    "/cnm[ \\-](?:touchpad|tp|7dc)[ \\-](?:[0-9\\.]+)|bush 7dc-8/i": "cnm",
    "/bush/i": "bush",
    "/alba/i": "alba",
    "/desay/i": "desay",
    "/datang/i": "datang",
    "/EBEST/": "ebest",
    "/ETON/": "eton",
    "/concorde/i": "concorde",
    "/readboy/i": "readboy",
    "/axxion/i": "axxion",
    "/dslide ?[^;\\/]+(?: +build|[;\\/\\)])/i": "danew",
    "/grundig|gr?-tb[0-9]+[a-z]*|portalmmm\\/2\\.0 g/i": "grundig",
    "/hyundai|ultra (?:air|live)/i": "hyundai",
    "/casper|via[ _\\-][at][17]|via_s/i": "casper",
    "/dialog k35/i": "dialog",
    "/iberry|auxus/i": "iberry",
    "/rm-(?:997|560)|rmd-974r/i": "ross-moor",
    "/utstar|gtx75|txt8010/i": "utstarcom",
    "/bluboo|picasso|xfire|maya|s1a|(?:adr|android) 5\\.1.* x550(?: +build|[;\\/\\)])/i": "bluboo",
    "/amazon|kindle|silk-accelerated|silk\\/[0-9\\.]+ like chrome|kf(?:tt|ot|jwi|sowi|thwi|apwa|aswi|apwi|dowi|auwi|giwi|tbwi|mewi|fowi|sawi|sawa|suwi|arwi|thwa|trwi|trpwi|jwa|kawi|mawi|muwi|onwi)|aft[abejkmnrst]|aeo(?:bc|kn)|sd4930ur|fire2|fire phone|t76n2b/i": "amazon",
    "/ (?:b15q?|s52|s[346]1|s[456]0(?! symbos))(?: +build|[;\\/\\)])/i": "caterpillar",
    "/polaroid|mid0714|mid0814|mid1028|mid1328|mid3147|midc|midr477|pmid|prov?[0-9]{3}[b0-9]?|p4526a|p5005a|p5006a|p5526a|pspck21na|pspcl20a0|pspcm20a0|pspcz20a0|pspc505|pspc550/i": "polaroid",
    "/coby|nbpc724|mid(?:1024|1125|1126|1045|1048|1060|1065|4331|701[256]a?|702[02467]|703[0234568]|704[278]|7052|706[05]|712[057]|8024|8042|8048|8065|812[578]|9724|974[02])/i": "coby",
    "/ideal ?tab 10|mid708/i": "hometech",
    "/tf-mid806g|tf-sp4502|tf-mid702g/i": "telefunken",
    "/(?<!\\/)mid713|mid(?:06[sn]|08[s]?|12|13|14|15|701|702|703|704|705(?:dc)?|706[as]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3g)?|1005|1009|1010|7802|9701|9702)|msp5005/i": "manta",
    "/comag|wtqr1018|wtdr1018|at0[23]/i": "comag",
    "/creative|ziilabs|ziio7|zen touch 2/i": "creative",
    "/(?<!fe)stx/i": "stonex",
    "/nec[ _\\-]|kgt\\/2\\.0|portalmmm\\/1\\.0 (?:db|n)|(?:portalmmm|o2imode)\\/2.0[ ,]n|n-03e|n-06[de]|n[79]05i/i": "nec",
    "/ko210i/i": "hitachi",
    "/docomo|p900i|(?<!in)foma/i": "ntt-docomo",
    "/smart-e[45]/i": "efox",
    "/xoro|telepad|megapad|pad[ _]?(?:900|9a2|9720qr|9719qr)/i": "xoro",
    "/conexis|sp5045v/i": "fnb",
    "/smart race 4g|(?:adr|android) 2\\.[23].* sp100(?: +build|[;\\/\\)])/i": "mts",
    "/venus[ _]r9/i": "hotwav",
    "/vestel|venus[ _](?:z[12]0|v3|e3)|vsp355[gs]|vsp250[gs]/i": "vestel",
    "/sp874/i": "inar",
    "/skytex|sx-sp715a|sx-sp700a|sx-sp435a/i": "skytex",
    "/memup|slidepad|(?<!_|[ky] )spng[0-9]{3}(?:[cdp][ce]?)?(?: +build|[;\\/\\)])|sp-?816p|sp-?704[cd]/i": "memup",
    "/hsg[0-9]{4}|sn10t1|sn14t71|sn97t41w|sn1at71w|sn70t51a|sn70t31?|snat71bue|t7-qc/i": "hannspree",
    "/pc1088/i": "honlin",
    "/jolla|sailfish(?!browser|;)/i": "jolla",
    "/(?<!e)Magic(?!i|box)/": "magic",
    "/s5003d_champ|esmart m3|s5000d|flash s4010|s5002d spark|victory s4700d/i": "switel",
    "/dl1036/i": "digiland",
    "/panasonic|panatv[0-9]+|viera\\/|p902i(?: +build|[;\\/\\)])|eluga[ _]|fz-(?:n1|a1b)|dl1|p55 max|dmc-cm1|940p|840pe|103p|p55 novo 4g|(?:adr|android) 4\\.[24].* t10(?: +build|[;\\/\\)])|p-08d/i": "panasonic",
    "/videocon|vt75c/i": "videocon",
    "/gtv100/i": "netgear",
    "/v1277/i": "xelectron",
    "/wm[0-9]{4}(?!\\/|\\-)|v1013/i": "wondermedia",
    "/hi3798cv100/i": "himedia",
    "/gionee|(?<!\\/)v1[0-9]{2}(?![0-9]a)|(?<!airis )gn[0-9]{3}|(?<!tecno) m[35] |f10[035]| e7t?(?: +build|[;\\/\\)])| v6l |pioneer|dream_d1|(?:adr|android) 4\\.2.* p2(?: +build|[;\\/\\)])|p5 mini|m5_lite|p7 max|a1 lite|ctrl_v4| s5\\.[15]|x817| s6s/i": "gionee",
    "/nomi[ _-]|(?:a10100|c07000)(?: +build|[;\\/\\)])/i": "nomi",
    "/zync|cloud 605|z1000|z18|z90[09]|z930|z99/i": "zync",
    "/at107f/i": "aluratek",
    "/at723c/i": "acteck",
    "/ns-14t004|ns-p10a6100|ns-15at|ns-p16at/i": "insignia",
    "/tb512-16g|at101-1116/i": "onix",
    "/toshiba|folio_and_a|folio100|at1s0|(?<![abceh\\-])at[0-9]{2,3}|t-0[0-9][cd]|vm4050|c800 series|910t|h11t|lt170|l5450/i": "toshiba",
    "/kaicloud/i": "kaiomy",
    "/intex|(?:aqua|cloud)[_ \\.]|aquasense/i": "intex",
    "/ n83|g708g|g703|g602|8312d|(?:adr|android) 4\\.0.* n10|n1010/i": "sanei",
    "/go n1-y/i": "green-orange",
    "/n90fhdrk|n90 dual core2|n101 dual core|n90dc[ _]s/i": "yuandao",
    "/(?:adr|android) 4\\.4.* n1(?: +build|[;\\/\\)])/i": "newsman",
    "/(?:adr|android) 4\\.0.* n1(?: +build|[;\\/\\)])/i": "tizzbird",
    "/comio|ct701g plus|ct701w|(?<![0-9])c1 pro(?!f)/i": "comio",
    "/zopo|zp[0-9]{3}| c2 |hero ?1/i": "zopo",
    "/xgimi/i": "xgimi",
    "/primo ?91|primo ?7[56]/i": "msi",
    "/walton|primo[\\- _]|walpad/i": "walton",
    "/rivo|rx(?:[47]5|[64]0)/i": "rivo",
    "/pcd(?![mt][0-9]{2})|ph4001/i": "pcd",
    "/ph501/i": "philco",
    "/(?:mpqc|mpdc)[0-9]{1,4}|(?<![cs])ph[0-9]{3}|mid(?:7c|74c|82c|84c|801|811|701|711|170|77c|43c|102c|103c|104c|114c)|mp(?:843|717|718|843|888|959|969|100i|1010|7007|7008|11 octa)|mgp7|mpqcg10/i": "mpman",
    "/picopad[_ ]/i": "axioo",
    "/shark (?:kle|mbu)-/i": "black-shark",
    "/(?<!android )xiaomi(?!\\/(?:mint|miui))|redmi|note 4|mipad|poco(?:phone)?|mibox[23]|(?<!sa)(?:mi [a-z0-9]+|mi-4c|mi-one[ _]?[a-z0-9]+|mix [23]s?)[);\\/ ]|(?:(?<!t)hm[ _][^\\/;]+|23[01][0-467][0-9cde][pr][aknp][0-9acdn][0-9cdei][acgily]|22126rn91y|22120rn86g|22120rn86i|2212arnc4l|221113[1-9]{1,2}[cigp]{1,3}|221013[0-9]{1,2}[cgipu]{1,3}|2209116ag|22081212[gu]{1,2}|2207[1-4]{2}[17fs][2abfghilp]{1,3}|220333q[abnl][giy]?|2203129g|220233l2[cgi]|22021211r[gi]|220112[23][cgly]|220111[1-9]{1,2}[pstu][cgily]|211212[0-9]{1,2}[ag][cg]?|211211[1-9]{1,2}[sv][cgly]|210911[1-9]{1,2}[adstu][cgly]|21081111rg|2107113s[gir]|21061119[ad][gl]|21051182[cg]|2014501|2014011|201481[12378]|201302[23]|2013061| f1|leo w|wt88047)(?: build| miui|[;\\/\\)])|m2[01][01][0-7][cjk]|m1908c|dandelion|mzb[0-9abghijklqrvz]{4}in|xig01/i": "xiaomi",
    "/WeTab/": "neofonie",
    "/cal21|c771|c811|830ca/i": "casio",
    "/oukitel|u7 ?(?:plus|max|pro)|u15 ?pro|u16 ?max|k[4568]000|k10000|universetap|wp5000| (?:(?:adr|android) 6\\..* c4|(?:adr|android) 7\\..* c5|(?:c5|c1[2568])[ _]pro|c8|c8[ _]4g|u1[38]|u22|wp[12568]|wp12 pro|wp1[68])(?: +build|[;\\/\\)])|(?:adr|android) 5\\.1.* u2[ ;\\)]|(?:adr|android) 7\\.0.* k3(?: +build|[;\\/\\)])|k7[_ ]pro/i": "oukitel",
    "/ouki|ok[au][0-9]{1,2}/i": "ouki",
    "/k107| k17 |(?:adr|android) 4\\.4.* q88h/i": "yuntab",
    "/numy|novo ?[0-9]|novocrystal|aurora-ii|(?:adr|android) 4\\.4.* q88/i": "ainol",
    "/(?<!x)oneplus|one [ae][0-9]{4}|a0001| pro7|ne22[0-9]{2}|(?:dn|eb|le)21[0-9]{2}|(?:ac|be|in|kb)20[0-9]{2}|(?:gm|hd)19[0-9]{2}|cph2381|cph2399|cph240[19]|cph241[1357]|cph2423|cph244[79]|cph2451|cph246[57]|cph249[13]|cph2573|cph258[13]|ph[bp]110|pjd110/i": "oneplus",
    "/innos|d6000/i": "innos",
    "/sanyo|(?:pm|scp)-?[0-9]{4}|v801sa/i": "sanyo",
    "/sprint/i": "sprint",
    "/kyocera|e6910|e6810|e6782|e6715|e6560|c6750|c674[023]|c6730|c672[15]|c6530n?|c6522n|c5215|c5170|c5155|c512[01]|dm015k|kc-s701|qc-?2135|ky[cfltvy][0-9]{2}|602kc|302kc|kwc-?[km][0-9]{3,4}|taskalfa 306ci|x3-kc|isw11k|wx10k/i": "kyocera",
    "/medion(?! mobile)|lifetab|e10316|e1051x|e400[14]|e691x|s1035x|p1032x|p1035x|p1040x|p1050x|p1061x|p4013|p450[12]|p5004|p850x|p851x|p852x|x1031x|x1060x|x5001|b5532|b5530/i": "medion",
    "/qtcarbrowser/i": "teslamotors",
    "/sp7dc-8|sp7\\.9qcs/i": "unimex",
    "/etisalat/i": "etisalat",
    "/tg701/i": "admiral",
    "/(?:(?<!\\-|h)t[gxz][0-9]{2,3}|sp50|sp4[1236]|sp2[01]|sp0[56])(?: +build|[;\\/\\)])/i": "irbis",
    "/tesla| smartphone[ _]|ttl[0-9]|impulse 7\\.85 3g|(?<!ask) sp[0-9](?![0-9])/i": "tesla",
    "/terra[ _]?pad|pad[ _]?1002/i": "wortmann",
    "/microstar|e10319/i": "microstar",
    "/logicom|[ ;](?:l-?ement|l-ite|l-?ixir)|e[89]12|e731|e1031|kt712a_4\\.4|s7812bt|tab1062|tab950|(?:(?<!e)b|(?<!k)id|m|vr)[_ ]?bot/i": "logicom",
    "/xtab-?70 ?dc|xtab-7x_quad|xtab-?79 ?qci|xtab-?700 ?qci|xtab-?700 ?dc|xtab 8q gps|xtab-?100 ?qcr|xtab-?9|xtab-?100 ?dci-?3g/i": "wayte-q",
    "/aedupac/i": "aedupac",
    "/eaxtab[_ ]001/i": "eaxus",
    "/tech ?pad|(?<!androma)xtab|dual c1081hd|s813g/i": "techpad",
    "/c15100m|c14100/i": "kurio",
    "/esperanza|etb10[369]/i": "esperanza",
    "/coolpad|(?:cp[0-9]{4}|cp8298_i00|n930|5860s|8079|8190q|(?<!\\.)8295(?!\\/)|c10[36](?:-9)?|d5800|w713|3600i|8676-a01|roar)(?: +build|[;\\/\\)])|vcr-i0|(?:adr|android) 4\\.0.* 8950(?: +build|[;\\/\\)])|(?:adr|android) 4\\.4.* x7(?: +build|[;\\/\\)])|3705a|orl-c0|mts-t0/i": "coolpad",
    "/modecom|free(?:way )?tab|xino z[0-9]+ x[0-9]+/i": "modecom",
    "/opsson|iusai/i": "opsson",
    "/leagoo|lead ?[125]|t1_plus|elite [145]|shark 1|s8_pro|m8 pro|kiicaa (?:power|mix)| (?:t8s|z3c)(?: +build|[;\\/\\)])|(?:adr|android) 6\\.0.* t10(?: +build|[;\\/\\)])|venture 1/i": "leagoo",
    "/sendo/i": "sendo",
    "/cubot|hafury|(?<![pst])s108|s20[08]|s308|s550|s600(?!1l)|(?<!m)z100|note plus| (?:c7|h1|(?<!pixel 7 pro; |cheetah; )cheetah|x1[25689]|x1[679][ _]s|(?<!oppo )r9)(?: +build|[;\\/\\)])|(?:adr|android) 9.* max 2(?: +build|[;\\/\\)])|(?:adr|android) 7\\..* mix(?: +build|[;\\/\\)])|bobby|(?:adr|android) 4\\.4.* s(?:168|222|350)(?: +build|[;\\/\\)])|(?:adr|android) 5\\.1.* p12(?: +build|[;\\/\\)])|gt9[05]|gt72\\+|zorro 001|(?:adr|android) 4\\.4.* x1[01](?: +build|[;\\/\\)])|king[_ ]kong[_ ]3|(?:quest|(?<!ulefone_)note[ _]7| gt20)(?: +build|[;\\/\\)])/i": "cubot",
    "/voto|(?<!armor) x6 |vt[0-9]{3}/i": "voto",
    "/ericsson/i": "ericsson",
    "/xbot_senior|x906|x506-3g/i": "x-touch",
    "/mr100z1h1cw1|mr1002h1c4w1/i": "nextwolf",
    "/venstar ?2050/i": "portworld",
    "/quad-core a33 y3/i": "softwinner",
    "/avus/i": "avus",
    "/mr6012h1cw1/i": "xpod",
    "/mr801/i": "jawei",
    "/polytron(?!-big-band-s)|r2401/i": "polytron",
    "/aoson/i": "aoson",
    "/rmx3[0-7][0-9]{2}|rmx2[012][0-9]{2}|rmx1[6789][0-9]{2}|cph1861|cph1859/i": "realme",
    "/oppo|(?<!d)x90[0-9]{1,2}(?: +build|[;\\/\\)])|n52[0-9]{2}|(?<![_adegmstuv0-9\\-])r[12678][0-9]{2,3}[klst]?(?: +build|[;\\/\\)])|u70[0-9]t|f1f|find ?[57]| a57|a51[fw]|a37f|(?<!c)a33[cfmtw]?|a11w|r7[gt]|r7[ks]?f|r7plus[fm]|r9tm| 1201 | 1107 |n1t|n511[167]|a160[13]|cph2[0-5][0-9]{2}|cph1[6-9][0-9]{2}|(?:adr|android) 4\\.2.* n1[ \\)]|rmx1805|p[abcdefgk][abcdefghkmnprsu][mt1][0123]0| r9s|r820[057]|(?:adr|android) 8\\.1.* a7[ \\)]|r1[ls](?: +build|[;\\/\\)])|(?:adr|android) 4\\.[234].* r1[ \\)]|a001op|r15_pro|opg02|blp705/i": "oppo",
    "/max2_plus_3g/i": "innjoo",
    "/i-mobile|(?:i-style|(?<![nt_])iq) ?[0-9x]/i": "i-mobile",
    "/(?<!app)letv|le 1 pro|le 2|le max|le[ _]?x[0-9]{3}|c1-u02|(?<!e)max2|x52x|(?:adr|android) 5\\.0.* x[689]00\\+?(?: +build|[;\\/\\)])/i": "leeco",
    "/jk11|(?:adr|android) 4\\.4.* n9200(?: +build|[;\\/\\)])|(?:adr|android) 4\\.2.* c[12]000(?: +build|[;\\/\\)])/i": "jiake",
    "/(?:adr|android) 5\\..* n9200(?: +build|[;\\/\\)])|(?:adr|android) 4\\.2.* n9389(?: +build|[;\\/\\)])|(?:adr|android) 4\\.4.* c2000(?: +build|[;\\/\\)])/i": "tengda",
    "/(?<![s\\-])v88|g9589/i": "guophone",
    "/n5702l|n5001l|nuu_a1|s6001l/i": "nuu-mobile",
    "/n8502/i": "nextel",
    "/mobiistar|prime[_ ]x[_ ]|zumbo[_ ]s/i": "mobiistar",
    "/ulefone|be[ _]pure[ _]lite|be[ _](?:one|pro|pure|touch|x)|paris|vienna|u00[78]|future|power[_ ]armor| power[_ ]?(?:[2356]s?)?(?: +build|[;\\/\\)])|tiger|armor[ _]?[1-9x]|s(?:[89]|10)[ _]?pro|(?:adr|android) 6\\.0.* (?:metal|gemini|armor)(?: +build|[;\\/\\)])|gemini[ _]pro|n9572|n9330|(?:adr|android) 4\\.1.* n9389(?: +build|[;\\/\\)])|note[ _][6789]p/i": "ulefone",
    "/onepad|airis|kira ?n9010/i": "airis",
    "/gt-9000|(?<![bdef\\-_])n[0-9]{4}|9930i|f9192|f9002|v89_jbl1a668|709v92_jbla828|s7189| n3\\+|star n920e|star s7589|s9920/i": "star",
    "/mt6515m-a1\\+/i": "united",
    "/ mtn |mt10(?![4b])|sm\\@rt/i": "mtn",
    "/mt10b|m1009|mt13|mt91|kp-703|kp-718|bt1077/i": "excelvan",
    "/mt6582\\/|mn84l_8039_20203/i": "unknown",
    "/konrow|bigcool|coolfive|cool-k|just5(?!spacer)|link5/i": "konrow",
    "/plt(?:[^;\\/]+)(?: +build|[;\\/\\)])/i": "proscan",
    "/digma[_ ][^;\\/]+(?: +build|[;\\/\\)])|hit ht707[10]mg|citi 1902 3g|citi [a-z0-9]+ 3g c[st]500[67]pg|idjd7|idrq10[ _]3g|idxd8[ _]3g|idnd7|hit 4g ht7074ml|idx5|idx10|idx7|mvm900h(?:wz|c)|mvm908hcz|idxd10 3g|idxd[45]|idxq5|idxd7[_ ]3g|ps604m|pt452e|ns6902ql|ns9797mg|(?:optima|platina|plane)[ _][em]?(?:[0-9\\.st]+|prime)(?:[ _][43]g)?|tt7026mw|vox[ _][0-9\\.a-z]+[_ ][43]g|tt702m|lt[0-9]{4}[mp][gl]|linx (?:alfa|argo|base|joy)|linx (?:[ac]|ps)[0-9]{3}/i": "digma",
    "/ mt791 /i": "keen-high",
    "/roverpad|air a70/i": "roverpad",
    "/arian space/i": "arian",
    "/sk704|f9800/i": "itouch",
    "/mt7012/i": "media-tech",
    "/mt8000/i": "efun",
    "/y960_mt6753_66_n/i": "kuhengao",
    "/hoozo|mt232/i": "hoozo",
    "/mitsubishi|mt560/i": "mitsubishi",
    "/mt701/i": "millennium",
    "/smartfren|andromax|androtab|pd6d1j/i": "smartfren",
    "/c8660/i": "cellon",
    "/e9000/i": "emoto",
    "/e2001/i": "qun-fa",
    "/lt8088|lt7052|lt7033/i": "curtis",
    "/st8000/i": "punktal",
    "/wooze|heyou[_ ]?3|st800[12]/i": "essentiel-b",
    "/st9001/i": "vital-asc",
    "/lt80216-1/i": "liro-tab",
    "/vega/i": "advent",
    "/d9702/i": "artes",
    "/g0335d|g0245d|g0215d/i": "gree",
    "/go i9351onyx|go1402|go503|g0775/i": "go-mobile",
    "/gmate/i": "gmate",
    "/f1453/i": "quatro",
    "/lt971|lt c[0-9]{4}(?: +build|[;\\/\\)])/i": "lt",
    "/kddi|is04|htx21/i": "kddi",
    "/nls-mt90/i": "newland",
    "/(?:adr|android) 4\\.4.* c1000(?: +build|[;\\/\\)])/i": "vifocal",
    "/(?:adr|android) 4\\.0.* j1000(?: +build|[;\\/\\)])/i": "jixin",
    "/a1303|a309w|m651cy|m811|e1109_v73|z15a|709v82_jbla198|mid4010/i": "china-phone",
    "/i101mtk|rk31sdk|rk312x|m701c|a13-mid|twd[ _]mid|j-q8d|m006-q|um-a13|tp73g|baoxue|adm8000kp|m94|mc706|t950s|mz1001h1cw1-mf|mt104|wt7023/i": "china-tablet",
    "/A5000|(?<!REVVLPLUS) [CDEFGIJ][0-9]{4}(?: +Build|[;\\/\\)])|SGP[0-9]{3}|X[ML][0-9]{2}[th]|(?<!\\\\)[SLW]T[0-9]{2}|(?<![\\\\ES])MT[0-9]{2}(?!\\d)|[SM]K[0-9]{2}|SO-[0-9]{2}[BCDEFGHKLM]|[ (?:]PS[234]/": "sony",
    "/sphs_on_hsdroid|pure [23]|power1/i": "m-horse",
    "/lenco|lencm900hz|jeanstab-700|tab-1045/i": "lenco",
    "/wexler|tab a742|tab7id|tab 10q|(?<!ti)zen [0-9]|tab-700/i": "wexler",
    "/lexand|a1002|a811|s[45]a[0-9]|sc7 pro hd/i": "lexand",
    "/s750|m755|m1031g1/i": "beneve",
    "/a727/i": "azpen",
    "/tm785m3/i": "nuvision",
    "/m785|800p71d|800p3[12]c|101p51c|x1010|a1013r|s10-0g/i": "mecer",
    "/AT-AS[0-9]{2}[DS]/": "wolfgang",
    "/FP[1-5]/": "fairphone",
    "/tecno| f5 | h7 |phantom6-plus|dp7c ?pro-sga1|(?:adr|android) 7\\..* spark(?: +build|[;\\/\\)])|ptm-z-mini/i": "tecno",
    "/(?:yu|ao) ?[0-9]{4}/i": "yu",
    "/vodafone 890n/i": "yulong",
    "/ op109-4g/i": "elebest-germany",
    "/ op0118-1[23]/i": "oregon-scientific",
    "/ op[0-9]{3}/i": "olivetti",
    "/rmd-[0-9]{3,4}/i": "ritmix",
    "/fx2/i": "faktor-zwei",
    "/arnova|(?<![as-])an[0-9]{1,2}|archm[0-9]{3}/i": "arnova",
    "/func/i": "dfunc",
    "/vtab1008|vap430/i": "vizio",
    "/tab(?:07|10)-[0-9]{3}|(?:luna|noble|xenta)[ \\-]tab[0-9]|smp53-210/i": "yarvik",
    "/dell|venue|xcd35/i": "dell",
    "/ignis 8/i": "tb-touch",
    "/allwinner| a10 |mp907c|ultraocta a80 p2/i": "allwinner",
    "/ (?:k18|t97) /i": "newman",
    "/k1001l1b/i": "moonar",
    "/dps[ _]/i": "dps",
    "/convexa/i": "convexa",
    "/(?:dns|airtab)[ _\\-](?:[^;\\/]+)build|s4702m|s4701|s4503q|s4505m|s450[0-9]|mb40ii1|m83w|es9701/i": "dns",
    "/n003/i": "neo",
    "/maxtron| v1 /i": "maxtron",
    "/7007hd|patg7506hd|9103w/i": "perfeo",
    "/x1013|coto[ _][tw][0-9]{3}/i": "top-house",
    "/wynncom/i": "wynncom",
    "/easypix|easypad|easyphone|junior 4\\.0/i": "easypix",
    "/bullman/i": "bullman",
    "/haier|(?<!iconia tab ) w[0-9]{3}(?: +build|[;\\/\\)])|h[mtw]-[ginvw][0-9]{1,3}| l5[23](?: +build|[;\\/\\)])| g55(?: +build|[;\\/\\)])| g3[01]s?(?: +build|[;\\/\\)])|pad[ _]g781|pad ?722|pad ?781|pad ?822|pad ?971|pad[ _]d85|pad[ _]d71|w716s|l701/i": "haier",
    "/nt-1710/i": "navcity",
    "/iconbit|nt-[0-9]{4}[csptm]|toucan stick 3d mk2/i": "iconbit",
    "/(?<![ot])ok[0-9]{3}/i": "sunup",
    "/(?<!GR)ACE/": "samsung",
    "/px-[0-9]{4}/i": "intego",
    "/(?<!n)ip[0-9]{3,4}/i": "dex",
    "/sencor|element[ _]?(?:7|8|9\\.7|10|p)/i": "sencor",
    "/kiano|elegance|intelect|cavion|slim ?tab ?(?:7|8|10)|core 10\\.1 dual 3g|pro 10 dual core/i": "kiano",
    "/trevi|(?:adr|android) 4\\..* c4(?: +build|[;\\/\\)])|(?<!lark )phablet [0-9]|tab[_ ]?(?:7|8|9|10)[_ ]?3g/i": "trevi",
    "/smartq/i": "smart-q",
    "/i-joy|i-call|elektra l|neon[79]|deox|sygnus|planet ii v2|tablet stone/i": "i-joy",
    "/vow v5/i": "vowney",
    "/connect[ \\-]2g[ \\-]2\\.0/i": "hcl",
    "/tele2fon/i": "tele2fon",
    "/inew|(?:adr|android) 4\\.4.* (?<!grand )v7a?(?: +build|[;\\/\\)])|(?<!venus|venture|s60|miui|ivo|bluegood|joy|g-tide|landrover) v[0-689]-?[ace]?(?: +build|[;\\/\\)])|i4000s|v3 plus/i": "inew",
    "/(?:rp|km)-u[dq]m[0-9]{2}|uq785-m1bgv/i": "verico",
    "/km-/i": "kt-tech",
    "/zera[ _]f|boost[_ ]iise|ice2|prime[_ ]s|explosion|alpha[_ ]gtr?|prime[_ ]mini[_ ]se|fest ?xl/i": "highscreen",
    "/l930/i": "ciotcud",
    "/x8\\+/i": "tri-ray",
    "/wileyfox|swift/i": "wileyfox",
    "/advan(?!ce)|t1x plus|vandroid|s4x|android t3i|s5e[ _]nxt/i": "advan",
    "/general mobile|discovery| gm ?[58]| gm ?5 plus|gm_dstl1|e-?tab[45]?(?: +build|[;\\/\\)])/i": "general-mobile",
    "/(?<!pr)(?:o\\+|oplus)| presto /i": "o+",
    "/smartbook|s10q-3g|s9q/i": "smartbook",
    "/explay(?!er)|actived[ _]|atlant |informer[ _][0-9]+|cinematv 3g|surfer[ _][0-9\\.]|squad[ _][0-9\\.]|onliner[1-3]|rioplay|m1_plus|d7\\.2 3g|art 3g|x-tremer/i": "explay",
    "/xm[13]00|l900|l600s|l500s|l200[gs]|v3g|(?:adr|android) 4\\..* (?:l800|l550|l200|l100)/i": "landvo",
    "/(?<!f)lyf|ls-[0-9]{4}|f81e|jive_proplus/i": "lyf",
    "/vernee|apollo|thor|mars pro|t3 pro|v2 pro/i": "vernee",
    "/kogan/i": "kogan",
    "/t95kpro|t95zplus/i": "sunvell",
    "/alumini ?[23]/i": "kempler-strauss",
    "/imo [qsyz][0-9]|imo tab|imo feel a2/i": "imo",
    "/wiko|dark(?:moon|side|night|full)|barry|birdy|bloom|cink|fever|fizz|freddy|harry|getaway| goa|(?<!media-)highway|iggy|jimmy|jerry|kite|ozzy|(?<![_u5]|fero a4001 |itel a16 )plus|pulp|ridge|robby|slide(?!r)|stairway|sublim|sunset|u (?:feel|pulse)|wax|l5510|lenny|rainbow|sunny|tommy|view2? (?:go|prime|xl)|(?<!web|\\/|pre)view(?: +build|[;\\/\\)])|w_k[346]00|w_c8[06]0|w_p200|w_p130|wim(?: lite)?|wc300|w-[kpv][0-9]|l4801|s8073/i": "wiko",
    "/medipad/i": "bewatec",
    "/nexus|google ?tv|glass|crkey[^a-z0-9]|google pixel|pixel[ ;\\)]|pixel (?:xl|c|2|2 xl|3|3 xl)(?: +build|[;\\/\\)])|gce x86 phone|android sdk/i": "google",
    "/supra|nvtab 7\\.0 3g/i": "supra",
    "/tab917qc|tab785dual|tab900/i": "sunstech",
    "/pipo|m7t|p93g|i75|m83g| m6 |m[69]pro| t9 /i": "pipo",
    "/md948g|md027g/i": "m-way",
    "/smartphone650/i": "master",
    "/mx enjoy tv box/i": "geniatech",
    "/m530[12]|m1003g/i": "iru",
    "/m717r-hd|m910a|mid-717r/i": "vastking",
    "/m502|platinum 10/i": "navon",
    "/ m8 /i": "amlogic",
    "/(?<!ultr)aoc|m601|mw0922|mw0710/i": "aoc",
    "/sp-6020 quasar|sp-6022 orion|sp-4521 cosmo/i": "woo",
    "/sp-7011/i": "starpad",
    "/sp-7000|sp-51[01]0/i": "siragon",
    "/lark|bjorn[ _]sp-500|cumulus[ _]5\\.5[ _]hd/i": "lark",
    "/spx-[0-9]{1,2}|spt?-[0-9]{3}/i": "simvalley",
    "/rg[0-9]{3}/i": "ruggear",
    "/ap-105/i": "mitashi",
    "/ap-[0-9]{3}|as-5433/i": "assistant",
    "/ft[ _][0-9]{4}/i": "lifeware",
    "/dopod/i": "dopod",
    "/(?<![amt])(?:o[cdes]|sm|yq)[0-9]{3}|dt1901a/i": "smartisan",
    "/stb9097/i": "avoca",
    "/tb[0-9]{3,4}/i": "acme",
    "/nt\\. ?(?:p|i)10g2/i": "ninetec",
    "/tp[0-9]{2}-3g/i": "theq",
    "/ftj?[0-9]{3}|ftj17a00/i": "freetel",
    "/rune/i": "bs-mobile",
    "/tlink|every35|primo[78]|qm73[45]-8g/i": "thomson",
    "/k-8s/i": "keener",
    "/hummer|h1\\+/i": "hummer",
    "/impress_l/i": "vertex",
    "/tab-97e-01|tab-07e-01/i": "reellex",
    "/ xst2 /i": "fourgsystems",
    "/f10x/i": "nextway",
    "/adtab 7 lite/i": "adspec",
    "/axgio|neon-n1|wing-w2/i": "axgio",
    "/accent|touareg8_3g/i": "accent",
    "/chagall/i": "pegatron",
    "/wopad|q10s/i": "wopad",
    "/t9666-1/i": "telsda",
    "/hudl 2|hudl ht7s3/i": "tesco",
    "/homtom|(?<![cs])ht[0-9]{1,2} ?(?:pro)?| s16 /i": "homtom",
    "/hosin/i": "hosin",
    "/hasee/i": "hasee",
    "/pandigital/i": "pandigital",
    "/ouya/i": "ouya",
    "/g-tide/i": "g-tide",
    "/gfive|f600/i": "gfive",
    "/ (?:pd103gf-p|pd103gs|px2)(?: +build|[;\\/\\)])|sxz/i": "freelander",
    "/(?:ta10ca3|tm105a?|tr10cs1|tr10cd3)(?: +build|[;\\/\\)])/i": "ecs",
    "/gem[0-9]+[a-z]*/i": "gemini",
    "/nintendo/i": "nintendo",
    "/(?:q7a\\+?)(?: +build|[;\\/\\)])/i": "crius-mea",
    "/denver|(?:ta[cdq]|ti[dq])[-_]?[0-9]{4}|sdq[-_]?5|po[-_#]?[0-9]{4}/i": "denver",
    "/(?<!x)flytouch|bc1003/i": "flytouch",
    "/xda[_ ]|cocoon/i": "o2",
    "/g009/i": "yxtel",
    "/tab-970/i": "prology",
    "/cat ?(?:stargate|tablet|helix)|nova(?!rra)/i": "catsound",
    "/tpc7102/i": "chang-jia",
    "/tpc-1050/i": "svp",
    "/tpc-7sg/i": "moveo",
    "/jay-tech|tpcy?-[a-z0-9]+|pa7807-8/i": "jay-tech",
    "/mastone| g9 |lifepad a800/i": "mastone",
    "/zeepad/i": "zeepad",
    "/reepad/i": "ihkc",
    "/epad 7i/i": "epic",
    "/(?<!lif|not)epad|p7901a|zt180|a704j/i": "zenithink",
    "/e1107/i": "yusu",
    "/p4d sirius/i": "nvsbl",
    "/smartpad/i": "einsundeins",
    "/i4901|aurus iii|ultra 2/i": "idea",
    "/(?<!3)gnet/i": "g-net",
    "/turkcell/i": "turkcell",
    "/dl 1803/i": "dl",
    "/bitel[ _-][^\\/;]+(?: +build|[;\\/\\)])|b8604|b9501/i": "bitel",
    "/itell[ _]3400hd|itell[ _]k3500/i": "i-life",
    "/navitel/i": "navitel",
    "/(?<!cap)itel|inote|1505-a02|(?:adr|android) 8\\.1.* a(?:16|52)(?: +build|[;\\/\\)])| a20(?: +build|[;\\/\\)])/i": "itel",
    "/mi(?:tab|smart)|wiam #24/i": "wolder",
    "/(?<!x)909t| m13 /i": "mpie",
    "/z30/i": "magnus",
    "/uhappy| up[0-9]{3}(?: +build|[;\\/\\)])/i": "uhappy",
    "/m9c max/i": "bqeel",
    "/qt-10/i": "qmax",
    "/dexp|ixion_es255|h135|(?:adr|android) 7\\..* a140|ursus ns370i|bl250|va170/i": "dexp",
    "/atl-[23]1/i": "artizlee",
    "/w032i-c3|tr10rs1|tr10cd1|az210b/i": "intel",
    "/cs968/i": "tv01",
    "/cyrus|cs[0-9]{2}|tvpad slim k3409/i": "cyrus",
    "/jiayu|jy-|g[23]s(?: +build|[;\\/\\)])/i": "jiayu",
    "/orion m50l|ultra m50g/i": "figo",
    "/ (?:e86|m12|m2[08]|m20pro) |(?:adr|android) 6\\..* m50/i": "timmy",
    "/g808 quad-core|g708 oc|e708s? 3g/i": "colorfly",
    "/q880_xk/i": "tianji",
    "/c55/i": "ctroniq",
    "/ m71 /i": "eplutus",
    "/ (?:d1[08]|x92|y14|y26)(?: +build|[;\\/\\)])|(?:adr|android) 7\\..* d24(?:[ _]pro)?(?: +build|[;\\/\\)])|y19\\(eu\\)|kt096h|(?:adr|android) 6\\..* y16/i": "xgody",
    "/ifive/i": "fnf",
    "/kobo| arc /i": "kobo",
    "/m92d-3g/i": "sumvier",
    "/a88x/i": "alldaymall",
    "/bs1078/i": "yones-toptech",
    "/ih-g101/i": "inno-hit",
    "/g900|f817/i": "ippo",
    "/vkb011b|vkb004l/i": "fengxiang",
    "/goophone| n3 /i": "goophone",
    "/king 7/i": "pptv",
    "/(?<!ti)zen |ultrafone|(?:admire[_ ][^\\/;]+|cinemax[^\\/;)]+)(?:build|\\) u)/i": "zen-mobile",
    "/1501_m02/i": "threesixty",
    "/twintab/i": "twinmos",
    "/tablet ?726h/i": "dm-tech",
    "/t725b/i": "fondi",
    "/oysters| t72(?: +build|[;\\/\\)])|pacific800i|t7[42](?:sc|mr|mai|ha|er|[dn])[ _]?[34]g|t104(?:er|mbi|sci)[ _]?[34]g/i": "oysters",
    "/blaster 2|just5spacer/i": "just5",
    "/shift[4567]/i": "shift-phones",
    "/k960|zh960/i": "jlinksz",
    "/kodak|ektra| im5/i": "kodak",
    "/kt107/i": "bdf",
    "/mlais|m52_red_note|mx_base/i": "mlais",
    "/sunmicrosystems/i": "sun",
    "/coolpix s800c/i": "nikon",
    "/viewsonic|view(?:pad|phone)|vsd220|nmp-302w/i": "viewsonic",
    "/x538/i": "sunsbell",
    "/from ee|harrier tab/i": "ee",
    "/cloudfone|excite prime|thrill boost/i": "cloudfone",
    "/ z1[ )]|i_?7520|nine i_?7400/i": "ninetology",
    "/majestic|crono(?!s)|tab 647 3g/i": "majestic",
    "/andywin|andy_5ei3/i": "andy",
    "/nuvo[ _]ns35/i": "nuvo",
    "/(?<![ae])ns[0-9]{1,4}/i": "nous",
    "/pulid| f1[0-9](?: +build|[;\\/\\)])/i": "pulid",
    "/ax5_duo/i": "maxx",
    "/ga10h|t736/i": "gooweel",
    "/positivo|s480|ypy_s450|s455|s440|twist tab/i": "positivo",
    "/ph-1/i": "essential",
    "/le ?pan|tc970/i": "le-pan",
    "/mfc[0-9]{3}[a-z]{2,}/i": "lexibook",
    "/(?:centurion|gladiator| glory|luxury|sensuelle|victory)(?:[ _\\-]?[2-6])?(?: +build|[;\\/\\)])|surfing tab/i": "brondi",
    "/momo(?:[0-9]|mini)/i": "ployer",
    "/storex|ezee|tab1004/i": "storex",
    "/cyclone [^\\/;]+(?: +build|[;\\/\\)])/i": "sumvision",
    "/ctc[0-9]{3}/i": "ctc",
    "/grv11/i": "gorila",
    "/unnecto|(?:u513|u61[1356]|u7[12]0|u732|u-830|u90[35])(?: +build|[;\\/\\)])/i": "unnecto",
    "/q101|4g-universal version/i": "voyo",
    "/robin/i": "nextbit",
    "/km8pro/i": "edal",
    "/h96 (?:pro|max)|a95x[\\-_]|minia5x_plus|x96mini|mxq/i": "b2go",
    "/t5524/i": "smartron",
    "/unonu/i": "unonu",
    "/cobalt_/i": "cobalt",
    "/(?:mpm|midm)[_-]/i": "miray",
    "/runbo/i": "runbo",
    "/elite[ _]?(?:dual|note)|konnect[ _]?(?:5\\.1|star)/i": "swipe",
    "/kata-/i": "kata",
    "/ms55l1/i": "mobiola",
    "/lemhoov/i": "lemhoov",
    "/pd-3127/i": "primepad",
    "/wieppo/i": "wieppo",
    "/myria|easy tab 9|502m/i": "myria",
    "/gtm-5/i": "grape",
    "/m960/i": "modoex",
    "/tx5/i": "winmax",
    "/f888/i": "ouku",
    "/land rover/i": "land-rover",
    "/dtac|phone_?s2/i": "dtac",
    "/hollogram|tr3845|tr3544|hl6246|hl5446/i": "advance",
    "/t10n/i": "tagital",
    "/xa pro/i": "vinsoc",
    "/swisstone/i": "swisstone",
    "/v10[ _]pro/i": "venz",
    "/speedup|tb-713/i": "speed-up",
    "/gome/i": "gome",
    "/pad701/i": "terra-mobile",
    "/i10-le/i": "leader",
    "/braillenote/i": "human-ware",
    "/tb-po1/i": "savio",
    "/sltdvd9200/i": "sylvania",
    "/t7012q/i": "prixton",
    "/m1092r/i": "zowee",
    "/cp-l43s-ab/i": "goo",
    "/hx[ _]s905/i": "hxws",
    "/[ ;]kes[ \\/]/i": "kes",
    "/x(?:mp|ds)-/i": "iadea",
    "/penta|ps650/i": "penta",
    "/softwiner/i": "softwiner",
    "/hs7705_/i": "olei",
    "/(?:adr|android) 5\\.0.* s700(?: +build|[;\\/\\)])/i": "mstar",
    "/f034/i": "snopow",
    "/(?:adr|android) 4\\..* s100/i": "wico",
    "/laude/i": "laude",
    "/s102tab|s724tab/i": "serioux",
    "/s7800|s5800/i": "jxd",
    "/memo s580a/i": "posh",
    "/s515 duo/i": "aligator",
    "/f721/i": "tursion",
    "/xunhu/i": "xunhu",
    "/s702-r1b-2/i": "avatar",
    "/f960/i": "fonxa",
    "/s615/i": "senwa",
    "/ own |s4010|s3010|s3000d/i": "entel",
    "/f808nm(?: +build|[;\\/\\)])/i": "pretech",
    "/(?:adr|android) 7\\.0.* t805c/i": "carbayta",
    "/ckk/i": "ckk",
    "/kruger&matz|flow_5|km0701_1|km0437|move[ _][68]/i": "kruger-matz",
    "/utime/i": "utime",
    "/u100|u200|h5000|a101s/i": "uhans",
    "/aw790/i": "aiwa",
    "/(?:adr|android) 7\\.0.* comet/i": "maze",
    "/a0520p/i": "arm-phone",
    "/clempad_8/i": "clementoni",
    "/ h-21/i": "opticon",
    "/m2105/i": "prontotec",
    "/kl48ph/i": "klipad",
    "/phonemax|rocky 2/i": "phonemax",
    "/(?<![0-9])j9s/i": "jesy",
    "/m200h/i": "fantech",
    "/tu[\\-_]1491c/i": "rotor",
    "/(?:adr|android) 7\\..* gemini(?: +build|[;\\/\\)])/i": "planet",
    "/(?:adr|android) 4\\.4.* q102(?: +build|[;\\/\\)])/i": "contixo",
    "/kt961|kt07/i": "jty",
    "/r-box/i": "r-box",
    "/r-tv/i": "r-tv",
    "/m8s pro|kiii pro|bb2 pro|minim8s ii/i": "mecool",
    "/xtreamer/i": "xtreamer",
    "/s70cds/i": "canal-digital",
    "/yundoo/i": "yundoo",
    "/fboxatv|regent 7/i": "ferguson",
    "/4kasb/i": "koenig",
    "/ybox_01/i": "china-box",
    "/x101a/i": "t-bao",
    "/novus/i": "novus-tablet",
    "/sh6b7ce/i": "strong",
    "/tx3 (?:mini|pro)|tx2/i": "tanix",
    "/(?:adr|android) 4\\.2.* p002/i": "xltel",
    "/waltter|neo 10\\.1/i": "waltter",
    "/mx089/i": "chili-green",
    "/slok/i": "slok",
    "/eko omega/i": "eko",
    "/bgh joy smart/i": "bgh",
    "/stk[ _](?:sync|avenger)/i": "stk",
    "/noblex|nbx-/i": "noblex",
    "/d10-q2/i": "daio",
    "/winnovo/i": "winnovo",
    "/sansui/i": "sansui",
    "/kechao/i": "kechao",
    "/e-tel|i7c/i": "e-tel",
    "/ziox/i": "ziox",
    "/hiptop/i": "danger",
    "/t-smart[ _]g18/i": "sunspan",
    "/konka/i": "konka",
    "/coship/i": "coship",
    "/tc7[05]/i": "zebra-symbol",
    "/(?:adr|android) 7\\..* i1|me 4/i": "ivoomi",
    "/g4040/i": "a&k",
    "/earth_colors|earth_a2/i": "earth",
    "/dorado(?! wap)/i": "dorado",
    "/datalogic/i": "datalogic",
    "/benefon/i": "benefon",
    "/f-11d/i": "quanta",
    "/axis rd60/i": "reach",
    "/mt-722/i": "mr-tab",
    "/i92200/i": "rusty",
    "/3305-1030/i": "zoostorm",
    "/nabi2-nv7a/i": "fuhu",
    "/agm/i": "agm",
    "/starpad 4,? 9\\.7/i": "cambridge-sciences",
    "/mobicel/i": "mobicel",
    "/it-1101-quad/i": "it",
    "/gt6000/i": "gretel",
    "/ahiga|taima/i": "mobi-wire",
    "/lm700/i": "ltc",
    "/(?:adr|android) 5\\.1.* p8\\+(?: +build|[;\\/\\)])/i": "my-cell",
    "/(?:adr|android) 4\\.4.* v12(?: +build|[;\\/\\)])/i": "voice",
    "/platinum [56]\\.0[\\+m]/i": "sky",
    "/qtaqtz3|qtasun1|qtair7|qtaqz3/i": "verizon",
    "/funker/i": "funker",
    "/1000et/i": "elonex",
    "/97fc/i": "quan-zhi",
    "/t10a/i": "eken",
    "/proton lite/i": "x-view",
    "/midr47b/i": "vd-tech",
    "/playboy/i": "playboy",
    "/kb901/i": "quantex",
    "/(?:adr|android) 4\\.0.* a13(?: +build|[;\\/\\)])/i": "maxtouuch",
    "/idolpad 7\\+/i": "idolian",
    "/sx9701w| m736/i": "kocaso",
    "/tab-1030/i": "digix",
    "/ingo_tab|mhu001d/i": "ingo",
    "/n70 dual core/i": "vido",
    "/t02a/i": "boxchip",
    "/vl-110/i": "visual-land",
    "/eliya/i": "eliya",
    "/pc-828/i": "pierre-cardin",
    "/mc002/i": "dakele",
    "/g79/i": "changnong",
    "/me-701/i": "marshal",
    "/zs-6500/i": "zifro",
    "/lovme/i": "lovme",
    "/aveo/i": "aveo",
    "/minno8/i": "minno",
    "/mid-721/i": "mystery",
    "/smarty/i": "smarty",
    "/utok/i": "utok",
    "/800p11b/i": "ktc",
    "/t8700/i": "mobile-demand",
    "/jinga/i": "jinga",
    "/un020/i": "be-phone",
    "/ceros/i": "e-ceros",
    "/h2000\\+/i": "hero",
    "/techno 9\\.7 3g/i": "bb-mobile",
    "/v10s/i": "protruly",
    "/bb8252/i": "bigben",
    "/vaio|vpb051/i": "vaio",
    "/simbans|valumax/i": "simbans",
    "/umax|visionbook/i": "umax",
    "/wiz aero/i": "wiz-aero",
    "/mx x3/i": "maxon",
    "/ecoo/i": "ecoo",
    "/dj22[_ \\-]120|dj20[_ \\-]110/i": "donjey",
    "/iget/i": "iget",
    "/(?:(?:adr|android) 5\\.[01].* c50|(?:adr|android) 4\\.4.* r8)(?: +build|[;\\/\\)])/i": "siswoo",
    "/pad-fmd700hd|bioniq 1001/i": "a-rival",
    "/a1x/i": "upq-phone",
    "/base/i": "base",
    "/tc1050g|gc944b/i": "time-2-touch",
    "/x465/i": "swees",
    "/nb_10_hd/i": "meteorit",
    "/b761tdw/i": "beltec",
    "/aqifon/i": "aqiston",
    "/actions/i": "actions",
    "/smt 9\\.7 qc r 3g/i": "saphir",
    "/qw tb-1217/i": "qware",
    "/toughgear/i": "tough-gear",
    "/aoyodkg/i": "aoyodkg",
    "/nebula ?6\\.9/i": "zigo",
    "/pa938d/i": "schaub-lorenz",
    "/air-?z95/i": "dellitab",
    "/clanga-070-0508-wifi|clanga 101-1008 3g/i": "cmx",
    "/maximus_406/i": "maximus",
    "/geotel/i": "geotel",
    "/auna/i": "auna",
    "/dark[ _]glee[ _]10\\.1|dark[ _]glow[ _]10\\.1/i": "spc",
    "/mp-410/i": "miia",
    "/w-5000/i": "orient-phone",
    "/vpad10g/i": "techniviola",
    "/smart-ex 01/i": "ecom-instruments",
    "/m-budget-tab/i": "migros",
    "/quattro 3g/i": "evolio",
    "/(?:adr|android) 4\\.4.* p7b(?: +build|[;\\/\\)])/i": "ezio",
    "/(?:adr|android) 1[01].* titan(?: slim)?(?: +build|[;\\/\\)])/i": "unihertz",
    "/og-92/i": "ogima",
    "/x6-10a41/i": "elovo",
    "/conquest/i": "conquest",
    "/n402/i": "vero",
    "/utv210/i": "urbetter",
    "/hi3798cv200/i": "egreat",
    "/dw-ubt3g7x/i": "datawind",
    "/t-hub ?2/i": "telstra",
    "/v7 zyro/i": "v7",
    "/b801/i": "bmxc",
    "/ms457/i": "maxcom",
    "/pp4mt-[79]/i": "pendo",
    "/three[ _]proofings[ _]w9/i": "e&l",
    "/zkt-?1002/i": "zonko",
    "/ul40/i": "ans",
    "/newpad-k97/i": "newsmy",
    "/a10-2cpu/i": "ampe",
    "/ak-28b/i": "eye-on",
    "/1018dcb/i": "netlogic",
    "/dsrv-9708c/i": "dserve",
    "/peaq/i": "peaq",
    "/h1a1000/i": "red",
    "/x4508/i": "lazer",
    "/x428[ _]astute|x425[ _]shavit|x422[ _]exotic|x418[ _]zest|x417[ _]amaze/i": "clout",
    "/sami[_ ]/i": "sami",
    "/vertu[_ ]?constellation/i": "vertu",
    "/mp1713/i": "meitu",
    "/43lf7010t/i": "asano",
    "/yndx\\-/i": "yandex",
    "/k40dlx9fs/i": "td-systems",
    "/lesph5701w/i": "leotec",
    "/comcastappplatform|xfinity|wnxi11aei|scxi11bei|scxi11aic|tx061aei|ax061aei|ax014anc|ax014anm|sx022an|pxd01ani|px051aei|px032ani|px013an|mx011an|cxd01ani|ax013an/i": "comcast",
    "/tivo|tcd[4-9a-f]{3}000/i": "tivo",
    "/arris|mx6505nf|qh5515zf/i": "arris",
    "/eos-1008r/i": "humax",
    "/x104-eea/i": "beista",
    "/g10_eea/i": "goodtel",
    "/phone 2/i": "razer",
    "/dcx960/i": "upc",
    "/bf9200/i": "bifer",
    "/3gnet/i": "3gnet",
    "/owwo/i": "owwo",
    "/senkatel/i": "senkatel",
    "/x[_\\-]tigi/i": "x-tigi",
    "/k118_eea/i": "feonal",
    "/ a063/i": "nothing-phone",
    "/anry/i": "anry",
    "/ nos /i": "nos",
    "/ 6cs/i": "elong-mobile",
    "/ I5/": "sop",
    "/ i5/": "vsun",
    "/kin\\.(?:one|two)|zunehd|windows nt 6\\.(?:2|3).*arm;|(?<!v)xbox|surface duo/i": "microsoft"
  },
  "generic": "unknown"
}