client/lualibs/taglib.lua
local m = {}
m[0x01]='Motorola UK'
m[0x02]='ST Microelectronics SA France'
m[0x03]='Hitachi, Ltd Japan'
m[0x04]='NXP Semiconductors Germany'
m[0x05]='Infineon Technologies AG Germany'
m[0x06]='Cylink USA'
m[0x07]='Texas Instrument France'
m[0x08]='Fujitsu Limited Japan'
m[0x09]='Matsushita Electronics Corporation, Semiconductor Company Japan'
m[0x0A]='NEC Japan'
m[0x0B]='Oki Electric Industry Co. Ltd Japan'
m[0x0C]='Toshiba Corp. Japan'
m[0x0D]='Mitsubishi Electric Corp. Japan'
m[0x0E]='Samsung Electronics Co. Ltd Korea'
m[0x0F]='Hynix / Hyundai, Korea'
m[0x10]='LG-Semiconductors Co. Ltd Korea'
m[0x11]='Emosyn-EM Microelectronics USA'
m[0x12]='INSIDE Technology France'
m[0x13]='ORGA Kartensysteme GmbH Germany'
m[0x14]='SHARP Corporation Japan'
m[0x15]='ATMEL France'
m[0x16]='EM Microelectronic-Marin SA Switzerland'
m[0x17]='KSW Microtec GmbH Germany'
m[0x18]='ZMD AG Germany'
m[0x19]='XICOR, Inc. USA'
m[0x1A]='Sony Corporation Japan'
m[0x1B]='Malaysia Microelectronic Solutions Sdn. Bhd Malaysia'
m[0x1C]='Emosyn USA'
m[0x1D]='Shanghai Fudan Microelectronics Co. Ltd. P.R. China'
m[0x1E]='Magellan Technology Pty Limited Australia'
m[0x1F]='Melexis NV BO Switzerland'
m[0x20]='Renesas Technology Corp. Japan'
m[0x21]='TAGSYS France'
m[0x22]='Transcore USA'
m[0x23]='Shanghai belling corp., ltd. China'
m[0x24]='Masktech Germany Gmbh Germany'
m[0x25]='Innovision Research and Technology Plc UK'
m[0x26]='Hitachi ULSI Systems Co., Ltd. Japan'
m[0x27]='Cypak AB Sweden'
m[0x28]='Ricoh Japan'
m[0x29]='ASK France'
m[0x2A]='Unicore Microsystems, LLC RussianFederation'
m[0x2B]='Dallas Semiconductor/Maxim USA'
m[0x2C]='Impinj, Inc. USA'
m[0x2D]='RightPlug Alliance USA'
m[0x2E]='Broadcom Corporation USA'
m[0x2F]='MStar Semiconductor, Inc Taiwan, ROC'
m[0x30]='BeeDar Technology Inc. USA'
m[0x31]='RFIDsec Denmark'
m[0x32]='Schweizer Electronic AG Germany'
m[0x33]='AMIC Technology Corp Taiwan'
m[0x34]='Mikron JSC Russia'
m[0x35]='Fraunhofer Institute for Photonic Microsystems Germany'
m[0x36]='IDS Microchip AG Switzerland'
m[0x37]='Kovio USA'
m[0x38]='HMT Microelectronic Ltd Switzerland'
m[0x39]='Silicon Craft Technology Thailand'
m[0x3A]='Advanced Film Device Inc. Japan'
m[0x3B]='Nitecrest Ltd UK'
m[0x3C]='Verayo Inc. USA'
m[0x3D]='HID Global USA'
m[0x3E]='Productivity Engineering Gmbh Germany'
m[0x3F]='Austriamicrosystems AG (reserved) Austria'
m[0x40]='Gemalto SA France'
m[0x41]='Renesas Electronics Corporation Japan'
m[0x42]='3Alogics Inc Korea'
m[0x43]='Top TroniQ Asia Limited Hong Kong'
m[0x44]='Gentag Inc USA'
m[0x45]='Invengo Information Technology Co.Ltd China'
m[0x46]='Guangzhou Sysur Microelectronics, Inc China'
m[0x47]='CEITEC S.A. Brazil'
m[0x48]='Shanghai Quanray Electronics Co. Ltd. China'
m[0x49]='MediaTek Inc Taiwan'
m[0x4A]='Angstrem PJSC Russia'
m[0x4B]='Celisic Semiconductor (Hong Kong) Limited China'
m[0x4C]='LEGIC Identsystems AG Switzerland'
m[0x4D]='Balluff GmbH Germany'
m[0x4E]='Oberthur Technologies France'
m[0x4F]='Silterra Malaysia Sdn. Bhd. Malaysia'
m[0x50]='DELTA Danish Electronics, Light & Acoustics Denmark'
m[0x51]='Giesecke & Devrient GmbH Germany'
m[0x52]='Shenzhen China Vision Microelectronics Co., Ltd. China'
m[0x53]='Shanghai Feiju Microelectronics Co. Ltd. China'
m[0x54]='Intel Corporation USA'
m[0x55]='Microsensys GmbH Germany'
m[0x56]='Sonix Technology Co., Ltd. Taiwan'
m[0x57]='Qualcomm Technologies Inc USA'
m[0x58]='Realtek Semiconductor Corp Taiwan'
m[0x59]='Freevision Technologies Co. Ltd China'
m[0x5A]='Giantec Semiconductor Inc. China'
m[0x5B]='JSC Angstrem-T Russia'
m[0x5C]='STARCHIP France'
m[0x5D]='SPIRTECH France'
m[0x5E]='GANTNER Electronic GmbH Austria'
m[0x5F]='Nordic Semiconductor Norway'
m[0x60]='Verisiti Inc USA'
m[0x61]='Wearlinks Technology Inc. China'
m[0x62]='Userstar Information Systems Co., Ltd Taiwan'
m[0x63]='Pragmatic Printing Ltd. UK'
m[0x64]='Associacao do Laboratorio de Sistemas Integraveis Tecnologico – LSI-TEC Brazil'
m[0x65]='Tendyron Corporation China'
m[0x66]='MUTO Smart Co., Ltd. Korea'
m[0x67]='ON Semiconductor USA'
m[0x68]='TUBITAK BILGEM Turkey'
m[0x69]='Huada Semiconductor Co., Ltd China'
m[0x6A]='SEVENEY France'
m[0x6B]='ISSM France'
m[0x6C]='Wisesec Ltd Israel'
m[0x7C]='DB HiTek Co Ltd Korea'
m[0x7D]='SATO Vicinity Australia'
m[0x7E]='Holtek Taiwan'

return {
    lookupManufacturer = function (value)
        if type(value) == 'string' then
            local v = tonumber(value, 16)
            print(string.format('WARNING: lookupManufacturer expects numeric value, converted %s into %x', value,v))
            value = v
        end

        return m[value] or 'no tag-info available'
    end,
}
