From 417b50028255e54097f2a0bf49f8a9f0f7064705 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 19 Apr 2020 15:05:49 +0200
Subject: [PATCH 001/276] Flake 8 fixes
---
setup.cfg | 4 +++
setup.py | 86 ++++++++++++++++++++++++++++---------------------------
tox.ini | 2 +-
3 files changed, 49 insertions(+), 43 deletions(-)
diff --git a/setup.cfg b/setup.cfg
index 010134a6..da1f59ac 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -45,3 +45,7 @@ max-line-length = 120
[isort]
lines_after_imports = 2
multi_line_output = 4
+known_third_party =
+ lxml
+ requests
+ xlrd
diff --git a/setup.py b/setup.py
index c5eff046..f340218a 100755
--- a/setup.py
+++ b/setup.py
@@ -39,45 +39,47 @@
with open(os.path.join(base_dir, 'README'), 'rb') as fp:
long_description = fp.read().decode('utf-8')
-setup(name='python-stdnum',
- version=stdnum.__version__,
- description='Python module to handle standardized numbers and codes',
- long_description=long_description,
- author='Arthur de Jong',
- author_email='arthur@arthurdejong.org',
- url='https://arthurdejong.org/python-stdnum/',
- license='LGPL',
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
- 'Intended Audience :: Financial and Insurance Industry',
- 'Intended Audience :: Information Technology',
- 'Intended Audience :: Telecommunications Industry',
- 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.6',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: Implementation :: PyPy',
- 'Topic :: Office/Business :: Financial',
- 'Topic :: Software Development :: Libraries :: Python Modules',
- 'Topic :: Text Processing :: General',
- ],
- packages=find_packages(),
- package_data={'': ['*.dat']},
- extras_require={
- # The SOAP feature is only required for a number of online tests
- # of numbers such as the EU VAT VIES lookup, the Dominican Republic
- # DGII services or the Turkish T.C. Kimlik validation.
- 'SOAP': ['zeep'], # recommended implementation
- 'SOAP-ALT': ['suds'], # but this should also work
- 'SOAP-FALLBACK': ['PySimpleSOAP'], # this is a fallback
- },
- )
+setup(
+ name='python-stdnum',
+ version=stdnum.__version__,
+ description='Python module to handle standardized numbers and codes',
+ long_description=long_description,
+ author='Arthur de Jong',
+ author_email='arthur@arthurdejong.org',
+ url='https://arthurdejong.org/python-stdnum/',
+ license='LGPL',
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: Financial and Insurance Industry',
+ 'Intended Audience :: Information Technology',
+ 'Intended Audience :: Telecommunications Industry',
+ 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: Implementation :: PyPy',
+ 'Topic :: Office/Business :: Financial',
+ 'Topic :: Software Development :: Libraries :: Python Modules',
+ 'Topic :: Text Processing :: General',
+ ],
+ packages=find_packages(),
+ install_requires=[],
+ package_data={'': ['*.dat']},
+ extras_require={
+ # The SOAP feature is only required for a number of online tests
+ # of numbers such as the EU VAT VIES lookup, the Dominican Republic
+ # DGII services or the Turkish T.C. Kimlik validation.
+ 'SOAP': ['zeep'], # recommended implementation
+ 'SOAP-ALT': ['suds'], # but this should also work
+ 'SOAP-FALLBACK': ['PySimpleSOAP'], # this is a fallback
+ },
+)
diff --git a/tox.ini b/tox.ini
index ad60f8bc..98e2735f 100644
--- a/tox.ini
+++ b/tox.ini
@@ -31,7 +31,7 @@ deps = flake8
flake8-tidy-imports
flake8-tuple
pep8-naming
-commands = flake8 stdnum tests update *.py
+commands = flake8 stdnum tests update setup.py
[testenv:docs]
deps = Sphinx<3
From e49e0e9e213b36b4debfcefbf1edcfdb554432ea Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sat, 25 Apr 2020 20:41:19 +0200
Subject: [PATCH 002/276] Document function return behaviour
---
docs/index.rst | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/docs/index.rst b/docs/index.rst
index 020314fa..8eb0ea96 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -16,24 +16,33 @@ Most of the number format modules implement the following functions:
:mod:`an exception <.exceptions>` is raised that indicates the type of
error.
+ :raises ValidationError: When the specified number is invalid
+ :returns: str -- A compact (canonical) representation of the number
+
.. function:: module.is_valid(number)
Return either ``True`` or ``False`` depending on whether the passed number
is in any supported and valid form and passes all embedded checks of the
number. This function should never raise an exception.
+ :returns: bool -- ``True`` if validated, ``False`` otherwise
+
.. function:: module.compact(number)
Return a compact representation of the number or code. This function
generally does not do validation but may raise exceptions for wildly
invalid numbers.
+ :returns: str -- The compacted number
+
.. function:: module.format(number)
Return a formatted version of the number in the preferred format.
This function generally expects to be passed a valid number or code and
may raise exceptions for invalid numbers.
+ :returns: str -- A formatted number
+
The check digit modules generally also provide the following functions:
.. function:: module.checksum(number)
@@ -42,11 +51,15 @@ The check digit modules generally also provide the following functions:
number that can be used to determine whether the provided number is
valid. It depends on the algorithm which checksum is considered valid.
+ :returns: int -- A numeric checksum over the number
+
.. function:: module.calc_check_digit(number)
Calculate the check digit that should be added to the number to make it
valid.
+ :returns: str -- A check digit that can be appended
+
Apart from the above, the modules may add extra parsing, validation or
conversion functions.
From 356a729bf31ad8e971f3049523ddf4498dd999ca Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Tue, 31 Mar 2020 22:15:35 +0200
Subject: [PATCH 003/276] Add Israeli TIN number
Closes https://github.com/arthurdejong/python-stdnum/pull/208
Closes https://github.com/arthurdejong/python-stdnum/issues/107
---
stdnum/il/__init__.py | 3 +
stdnum/il/hp.py | 87 +++++++++++++
tests/test_il_hp.doctest | 257 +++++++++++++++++++++++++++++++++++++++
3 files changed, 347 insertions(+)
create mode 100644 stdnum/il/hp.py
create mode 100644 tests/test_il_hp.doctest
diff --git a/stdnum/il/__init__.py b/stdnum/il/__init__.py
index 91a474ef..b002751c 100644
--- a/stdnum/il/__init__.py
+++ b/stdnum/il/__init__.py
@@ -19,3 +19,6 @@
# 02110-1301 USA
"""Collection of Israeli numbers."""
+
+# provide aliases
+from stdnum.il import hp as vat # noqa: F401
diff --git a/stdnum/il/hp.py b/stdnum/il/hp.py
new file mode 100644
index 00000000..28386c5e
--- /dev/null
+++ b/stdnum/il/hp.py
@@ -0,0 +1,87 @@
+# hp.py - functions for handling Israeli company numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""Company Number (מספר חברה, or short ח.פ. Israeli company number).
+
+It consists of nine digits and includes a check digit. For companies
+the first digit is a 5. The first two digits identify the type of
+company.
+
+More information:
+
+* https://he.wikipedia.org/wiki/תאגיד#מספר_רישום_התאגיד
+* https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Israel-TIN.pdf
+* https://wiki.scn.sap.com/wiki/display/CRM/Israel
+
+>>> validate('516179157')
+'516179157'
+>>> format(' 5161 79157 ')
+'516179157'
+>>> validate('516179150') # invalid check digit
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> validate('490154203237518') # longer than 9 digits
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> validate('416179157')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+"""
+
+from stdnum import luhn
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation. This strips the
+ number of any separators and removes surrounding whitespace."""
+ return clean(number, ' -').strip()
+
+
+def validate(number):
+ """Check if the number provided is a valid ID. This checks the length,
+ formatting and check digit."""
+ number = compact(number)
+ if len(number) != 9:
+ raise InvalidLength()
+ if not isdigits(number) or int(number) <= 0:
+ raise InvalidFormat()
+ if number[0] != '5':
+ raise InvalidComponent()
+ luhn.validate(number)
+ return number
+
+
+def is_valid(number):
+ """Check if the number provided is a valid ID. This checks the length,
+ formatting and check digit."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ return compact(number)
diff --git a/tests/test_il_hp.doctest b/tests/test_il_hp.doctest
new file mode 100644
index 00000000..baaecc39
--- /dev/null
+++ b/tests/test_il_hp.doctest
@@ -0,0 +1,257 @@
+test_il_hp.doctest - more detailed doctests for stdnum.il.hp module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.il.hp module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.il import hp
+
+
+Basic tests
+
+>>> hp.validate('516179157')
+'516179157'
+>>> hp.validate('1234')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> hp.validate('516179XXX')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> hp.validate('416179157')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> hp.validate('516179150')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> hp.format(' 5161 79157 ')
+'516179157'
+
+
+>>> numbers = '''
+...
+... 500107420
+... 500261359
+... 510361371
+... 510771314
+... 510790256
+... 510923402
+... 510952328
+... 510976103
+... 511100554
+... 511193815
+... 511216129
+... 511221947
+... 511237018
+... 511240350
+... 511610966
+... 511622375
+... 511770281
+... 511772840
+... 511773897
+... 511895286
+... 511930828
+... 512053521
+... 512053968
+... 512131228
+... 512244245
+... 512440934
+... 512476789
+... 512506643
+... 512516014
+... 512629254
+... 512662628
+... 512708074
+... 512708363
+... 512740861
+... 512749532
+... 512802174
+... 512872359
+... 512899667
+... 512946948
+... 512947276
+... 512951526
+... 512962010
+... 512976028
+... 513070623
+... 513079582
+... 513107334
+... 513174813
+... 513302588
+... 513374355
+... 513403857
+... 513444224
+... 513466532
+... 513544833
+... 513565473
+... 513606582
+... 513688481
+... 513701169
+... 513704999
+... 513724187
+... 513771519
+... 513795948
+... 513797027
+... 513853085
+... 513879205
+... 513906420
+... 514078138
+... 514125798
+... 514174341
+... 514240761
+... 514295062
+... 514306844
+... 514307107
+... 514350024
+... 514462282
+... 514471127
+... 514486182
+... 514513357
+... 514521996
+... 514536648
+... 514563469
+... 514607290
+... 514643519
+... 514697358
+... 514770494
+... 514776426
+... 514943174
+... 514966993
+... 515049757
+... 515098671
+... 515110047
+... 515124386
+... 515132082
+... 515170546
+... 515177129
+... 515225233
+... 515259430
+... 515262475
+... 515277440
+... 515278380
+... 515434041
+... 515487668
+... 515558096
+... 515560217
+... 515613776
+... 515985232
+... 515986198
+... 516087152
+... 516091998
+... 516092095
+... 516093150
+... 516093549
+... 516093739
+... 516095544
+... 516095742
+... 516096245
+... 516096351
+... 516096393
+... 516097615
+... 516099157
+... 516099611
+... 516102001
+... 516102266
+... 516104148
+... 516104817
+... 516105012
+... 516105111
+... 516105277
+... 516106002
+... 516106937
+... 516106945
+... 516108453
+... 516109626
+... 516110418
+... 516110913
+... 516112745
+... 516113008
+... 516113461
+... 516113693
+... 516113768
+... 516114865
+... 516114972
+... 516115003
+... 516116340
+... 516117900
+... 516119377
+... 516120169
+... 516120235
+... 516120557
+... 516121530
+... 516121761
+... 516122413
+... 516122645
+... 516123668
+... 516125135
+... 516125424
+... 516125499
+... 516126760
+... 516127941
+... 516128204
+... 516128493
+... 516132602
+... 516132867
+... 516133030
+... 516133113
+... 516133709
+... 516133774
+... 516134012
+... 516134277
+... 516134319
+... 516134392
+... 516134715
+... 516134764
+... 516135977
+... 516136041
+... 516136074
+... 516136264
+... 516136918
+... 516137213
+... 516137270
+... 516137536
+... 516137734
+... 516137775
+... 516138179
+... 516138930
+... 516139060
+... 520037359
+... 520037458
+... 530216845
+... 540165982
+... 540167285
+... 540242070
+... 540256468
+... 540279544
+... 540281359
+... 550011498
+... 550211270
+... 550224299
+... 550240824
+... 550242861
+... 550265193
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not hp.is_valid(x)]
+[]
From 54e2e8fda313c1cb47c4cfdc71f42be272fe74e4 Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Fri, 10 Apr 2020 18:17:19 +0200
Subject: [PATCH 004/276] Add support for El Salvador TIN number
Closes https://github.com/arthurdejong/python-stdnum/issues/133
Closes https://github.com/arthurdejong/python-stdnum/pull/215
---
stdnum/sv/__init__.py | 24 ++++
stdnum/sv/nit.py | 121 ++++++++++++++++++
tests/test_sv_nit.doctest | 263 ++++++++++++++++++++++++++++++++++++++
3 files changed, 408 insertions(+)
create mode 100644 stdnum/sv/__init__.py
create mode 100644 stdnum/sv/nit.py
create mode 100644 tests/test_sv_nit.doctest
diff --git a/stdnum/sv/__init__.py b/stdnum/sv/__init__.py
new file mode 100644
index 00000000..dd63b082
--- /dev/null
+++ b/stdnum/sv/__init__.py
@@ -0,0 +1,24 @@
+# __init__.py - collection of El Salvador numbers
+# coding: utf-8
+#
+# Copyright (C) 2019 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""Collection of El Salvador numbers."""
+
+# provide aliases
+from stdnum.sv import nit as vat # noqa: F401
diff --git a/stdnum/sv/nit.py b/stdnum/sv/nit.py
new file mode 100644
index 00000000..ed2f5f9f
--- /dev/null
+++ b/stdnum/sv/nit.py
@@ -0,0 +1,121 @@
+# nit.py - functions for handling El Salvador NIT numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""NIT (Número de Identificación Tributaria, El Salvador tax number).
+
+This number consists of 14 digits, usually separated into four groups
+using hyphens to make it easier to read, like XXXX-XXXXXX-XXX-X.
+
+The first four digits indicate the code for the municipality of birth
+for natural persons or the municipality of stablishment for juridical
+persons. NIT for El Salvador nationals begins with either 0 or 1, and
+for foreigners it begins with 9.
+
+The following six digits indicate the date of birth for the natural
+person, or the stablishment date for the juridical person, using the
+format DDMMYY, where DD is the day, MM is the month, and YY is the
+year. For example XXXX-051180-XXX-X is (November 5 1980)
+
+The next 3 digits are a sequential number.
+
+The last digit is the check digit, which is used to verify the number
+was correctly typed.
+
+More information:
+
+* https://es.wikipedia.org/wiki/Identificaci%C3%B3n_tributaria
+* https://www.listasal.info/articulos/nit-el-salvador.shtml
+* https://tramitesyrequisitos.com/el-salvador/nit/#Estructura_del_NIT
+* https://www.svcommunity.org/forum/programacioacuten/como-calcular-digito-verificador-del-dui-y-nit/msg951882/#msg951882
+
+>>> validate('0614-050707-104-8')
+'06140507071048'
+>>> validate('SV 0614-050707-104-8')
+'06140507071048'
+>>> validate('0614-050707-104-0')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> validate('12345678')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> format('06140507071048')
+'0614-050707-104-8'
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This strips the number of any valid separators and removes surrounding
+ whitespace.
+ """
+ number = clean(number, ' -').upper().strip()
+ if number.startswith('SV'):
+ return number[2:]
+ return number
+
+
+def calc_check_digit(number):
+ """Calculate the check digit."""
+ # Old NIT
+ if number[10:13] <= '100':
+ weights = (14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2)
+ total = sum(int(n) * w for n, w in zip(number, weights))
+ return str((total % 11) % 10)
+ # New NIT
+ weights = (2, 7, 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2)
+ total = sum(int(n) * w for n, w in zip(number, weights))
+ return str((-total % 11) % 10)
+
+
+def validate(number):
+ """Check if the number is a valid El Salvador NIT number.
+
+ This checks the length, formatting and check digit.
+ """
+ number = compact(number)
+ if len(number) != 14:
+ raise InvalidLength()
+ if not isdigits(number):
+ raise InvalidFormat()
+ if number[0] not in ('0', '1', '9'):
+ raise InvalidComponent()
+ if number[-1] != calc_check_digit(number):
+ raise InvalidChecksum()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid El Salvador NIT number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ number = compact(number)
+ return '-'.join([number[:4], number[4:-4], number[-4:-1], number[-1]])
diff --git a/tests/test_sv_nit.doctest b/tests/test_sv_nit.doctest
new file mode 100644
index 00000000..28161116
--- /dev/null
+++ b/tests/test_sv_nit.doctest
@@ -0,0 +1,263 @@
+test_sv_nit.doctest - more detailed doctests for stdnum.sv.nit module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.sv.nit module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.sv import nit
+
+
+Tests for some corner cases.
+
+>>> nit.validate('06140507071048')
+'06140507071048'
+>>> nit.validate('0614-050707-104-8')
+'06140507071048'
+>>> nit.validate('SV 0614-050707-104-8')
+'06140507071048'
+>>> nit.format('06140507071048')
+'0614-050707-104-8'
+>>> nit.validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> nit.validate('VV345678901234')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> nit.validate('52345678901234')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> nit.validate('0614-050707-104-0')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 0209-200875-101-2
+... 0210-191171-001-6
+... 02101411580016
+... 03150507931017
+... 0404-131259-001-1
+... 0412-270681-101-2
+... 0427-151046-001-8
+... 05012306111015
+... 0511-010611-001-9
+... 0511-021279-102-2
+... 0511-090193-101-0
+... 0511-210590-101-2
+... 0511-231267-101-9
+... 0511-281111-101-6
+... 0511-310300-102-9
+... 05110108740018
+... 0514-160953-001-9
+... 0602-010373-101-4
+... 0602-100972-101-0
+... 0602-221085-101-7
+... 0604-160265-001-0
+... 06040904540018
+... 0614-010294-106-1
+... 0614-010462-002-1
+... 0614-010858-001-7
+... 0614-010890-101-0
+... 0614-010900-102-1
+... 0614-020190-101-2
+... 0614-020202-109-1
+... 0614-020557-009-6
+... 0614-020914-109-2
+... 0614-030593-102-9
+... 0614-031006-106-7
+... 0614-040100-101-6
+... 0614-040393-101-0
+... 0614-041204-103-6
+... 0614-050110-101-8
+... 0614-050205-103-0
+... 0614-050716-104-7
+... 0614-051279-134-2
+... 0614-060154-005-2
+... 0614-070108-106-2
+... 0614-070353-014-0
+... 0614-070590-102-1
+... 0614-070685-142-7
+... 0614-071107-103-0
+... 0614-080202-102-8
+... 0614-080609-105-5
+... 0614-080645-001-2
+... 0614-081193-102-9
+... 0614-090390-102-9
+... 0614-090598-101-1
+... 0614-090684-002-0
+... 0614-100215-103-5
+... 0614-100395-101-9
+... 0614-100856-006-8
+... 0614-110394-103-7
+... 0614-110416-107-8
+... 0614-110785-132-6
+... 0614-111267-001-6
+... 0614-120299-103-8
+... 0614-120563-013-4
+... 0614-120913-104-2
+... 0614-120913-109-3
+... 0614-130499-102-4
+... 0614-131009-102-7
+... 0614-131228-003-9
+... 0614-140700-101-4
+... 0614-140909-104-5
+... 0614-140961-006-0
+... 0614-141292-102-4
+... 0614-150304-102-7
+... 0614-150311-102-5
+... 0614-150397-102-4
+... 0614-150415-110-1
+... 0614-150416-103-4
+... 0614-150965-001-7
+... 0614-160277-001-5
+... 0614-160295-103-5
+... 0614-160407-101-6
+... 0614-160814-102-7
+... 0614-160953-001-0
+... 0614-170860-013-0
+... 0614-170902-101-4
+... 0614-171285-002-9
+... 0614-180901-101-6
+... 0614-181102-101-0
+... 0614-181191-101-6
+... 0614-190377-001-6
+... 0614-190618-110-4
+... 0614-190697-107-5
+... 0614-191190-107-7
+... 0614-191192-106-0
+... 0614-200217-104-0
+... 0614-200302-104-2
+... 0614-200905-102-4
+... 0614-210253-001-4
+... 0614-210297-103-6
+... 0614-210494-104-5
+... 0614-220277-002-3
+... 0614-220310-102-4
+... 0614-220402-101-6
+... 0614-220605-102-8
+... 0614-220610-105-0
+... 0614-220993-101-0
+... 0614-230803-103-0
+... 0614-230817-107-9
+... 0614-230952-002-2
+... 0614-231061-011-4
+... 0614-240209-105-4
+... 0614-240715-105-5
+... 0614-241272-105-6
+... 0614-250582-002-0
+... 0614-250795-012-4
+... 0614-250796-105-4
+... 0614-260406-104-1
+... 0614-260710-106-0
+... 0614-270696-101-2
+... 0614-271008-102-7
+... 0614-280142-002-7
+... 0614-280194-105-3
+... 0614-280268-104-7
+... 0614-280297-188-6
+... 0614-280454-004-4
+... 0614-280470-120-7
+... 0614-280590-147-1
+... 0614-280617-101-9
+... 0614-280815-109-0
+... 0614-291100-103-0
+... 0614-300312-104-3
+... 0614-300380-107-9
+... 0614-300713-103-5
+... 0614-300907-101-3
+... 0614-301002-107-0
+... 0614-310797-109-0
+... 0614-310888-102-7
+... 0614-310898-102-1
+... 06140108140066
+... 06140301081039
+... 06140302891026
+... 06140501350010
+... 06140709041094
+... 06140710770019
+... 06140812901018
+... 06140902941060
+... 06141010971041
+... 06141102081026
+... 06141212961030
+... 06141305941039
+... 06141306780010
+... 06141311011019
+... 06141405881084
+... 06141410021050
+... 06141503041027
+... 06141512001054
+... 06141601921043
+... 06141605771097
+... 06141705901028
+... 06141901001027
+... 06141901831364
+... 06141905061032
+... 06142110700016
+... 06142111001058
+... 06142206981017
+... 06142502781139
+... 06142507001042
+... 06142507891013
+... 06142510021011
+... 06142703771050
+... 06142806761142
+... 06142809931022
+... 06143011931011
+... 06143110860018
+... 06151909680013
+... 0616-061058-003-8
+... 0616-100883-103-9
+... 0619-260185-101-4
+... 0715-231060-003-2
+... 0715-260862-001-6
+... 0802-230151-001-8
+... 0803-130153-001-8
+... 0821-010148-001-1
+... 0821-060256-001-5
+... 0906-040354-001-6
+... 1008-070753-001-8
+... 1010-060176-101-0
+... 1108-250573-101-6
+... 1109-070374-101-1
+... 1121-190563-001-0
+... 1122-060865-001-4
+... 1217-160992-101-8
+... 12171609921018
+... 1319-260280-101-8
+... 1408-160337-001-8
+... 1408-260786-101-2
+... 14162001681012
+... 9450-270760-001-1
+... 9483-140205-101-6
+... 9483-260110-101-0
+... 94833011640013
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not nit.is_valid(x)]
+[]
From f3ce70c60f26c5a7e0c0e05985630e3136b130fa Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Sat, 4 Apr 2020 22:06:52 +0200
Subject: [PATCH 005/276] Add support for Chinese TIN number
Closes https://github.com/arthurdejong/python-stdnum/issues/207
Closes https://github.com/arthurdejong/python-stdnum/pull/210
---
stdnum/cn/__init__.py | 3 +
stdnum/cn/uscc.py | 125 ++++++++++++++++++
tests/test_cn_uscc.doctest | 261 +++++++++++++++++++++++++++++++++++++
3 files changed, 389 insertions(+)
create mode 100644 stdnum/cn/uscc.py
create mode 100644 tests/test_cn_uscc.doctest
diff --git a/stdnum/cn/__init__.py b/stdnum/cn/__init__.py
index 78e0bf61..93a6f5e4 100644
--- a/stdnum/cn/__init__.py
+++ b/stdnum/cn/__init__.py
@@ -19,3 +19,6 @@
# 02110-1301 USA
"""Collection of China (PRC) numbers."""
+
+# Provide vat as an alias.
+from stdnum.cn import uscc as vat # noqa: F401
diff --git a/stdnum/cn/uscc.py b/stdnum/cn/uscc.py
new file mode 100644
index 00000000..a04a553b
--- /dev/null
+++ b/stdnum/cn/uscc.py
@@ -0,0 +1,125 @@
+# uscc.py - functions for handling Chinese USCC numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""USCC (Unified Social Credit Code, 统一社会信用代码, China tax number).
+
+This number consists of 18 digits or uppercase English letters (excluding the
+letters I, O, Z, S, V). The number is comprised of several parts:
+
+* Digit 1 represents the registering authority,
+* Digit 2 represents the registered entity type,
+* Digits 3 through 8 represent the registering region code,
+* Digits 9 through 17 represent the organisation code,
+* Digit 18 is a check digit (either a number or letter).
+
+The registering authority digit most often is a 9, which represents the State
+Administration for Industry and Commerce (SAIC) as the registering authority.
+
+The registered entity type indicates the type of business (or entity). The
+most common entity types in China are:
+
+* Wholly Foreign-Owned Enterprises (WFOE): 外商独资企业
+* Joint Ventures (JV): 合资
+* Representative Office: 代表处
+* State-Owned Enterprise (SOE): 国有企业
+* Private Enterprise: 民营企业
+* Individually-Owned: 个体户
+
+The registering region code, sometimes referred to as the "administrative
+division code", is a string of six numbers that indicates where the company
+is registered. It roughly follows the organisation of the official Chinese
+regions.
+
+The organisation code comes directly from the China Organization Code
+certificate, an alternative document to the China Business License. It can
+contain letters or digits.
+
+More information:
+
+* https://zh.wikipedia.org/wiki/统一社会信用代码
+* https://zh.wikipedia.org/wiki/校验码
+* https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/China-TIN.pdf
+
+>>> validate('91110000600037341L')
+'91110000600037341L'
+>>> validate('A1110000600037341L')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> format('9 1 110000 600037341L')
+'91110000600037341L'
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+_alphabet = '0123456789ABCDEFGHJKLMNPQRTUWXY'
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This strips the number of any valid separators and removes surrounding
+ whitespace.
+ """
+ return clean(number, ' -').upper().strip()
+
+
+def calc_check_digit(number):
+ """Calculate the check digit for the number."""
+ weights = (1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28)
+ number = compact(number)
+ total = sum(_alphabet.index(n) * w for n, w in zip(number, weights))
+ return _alphabet[(31 - total) % 31]
+
+
+def validate(number):
+ """Check if the number is a valid USCC.
+
+ This checks the length, formatting and check digit.
+ """
+ number = compact(number)
+ if len(number) != 18:
+ raise InvalidLength()
+ if not isdigits(number[:8]):
+ raise InvalidFormat()
+ if any(c not in _alphabet for c in number[8:]):
+ raise InvalidFormat()
+ if number[-1] != calc_check_digit(number):
+ raise InvalidChecksum()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid USCC."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ return compact(number)
diff --git a/tests/test_cn_uscc.doctest b/tests/test_cn_uscc.doctest
new file mode 100644
index 00000000..9d34ebb0
--- /dev/null
+++ b/tests/test_cn_uscc.doctest
@@ -0,0 +1,261 @@
+test_cn_uscc.doctest - more detailed doctests for stdnum.cn.uscc module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.cn.uscc module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.cn import uscc
+
+
+Tests for some corner cases.
+
+>>> uscc.validate('91110000600037341L')
+'91110000600037341L'
+>>> uscc.validate('91 110000 600037341L')
+'91110000600037341L'
+>>> uscc.format('91 110000 600037341L')
+'91110000600037341L'
+>>> uscc.validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> uscc.validate('A1110000600037341L')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uscc.validate('9111000060003IOZSV')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uscc.validate('91110000600037341N')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 121200004013590816
+... 911522010783762860
+... 91152201078377449P
+... 9115220107837941X1
+... 91152201078382010M
+... 911522010783917502
+... 91152201078394644D
+... 91152201078395188Q
+... 91310112087994932F
+... 91310115MA1K3BTP2B
+... 91310116052958608G
+... 91310116076409427L
+... 913101203509708598
+... 913205056082348768
+... 91340600MA2PBM9HXD
+... 91340600MA2PBMA74B
+... 91340600MA2PBN188W
+... 91340600MA2PBN831R
+... 91340600MA2PBNE723
+... 91340600MA2PBP2120
+... 91340600MA2PBP6A1W
+... 91340600MA2PENCC7K
+... 91340600MA2PENWF9P
+... 91340600MA2PEP518T
+... 91340600MA2PEP7F5B
+... 91340600MA2PERLJ2D
+... 91340600MA2UJYG49B
+... 91340602MA2UJY3J9W
+... 91340602MA2UJYD90G
+... 91340603MA2UJYN78Q
+... 91340603MA2UJYNU67
+... 91340604MA2PBQBH3P
+... 91340604MA2PEL1X3M
+... 91340621MA2PBPLU08
+... 91340621MA2PEMUHX8
+... 91340621MA2PEN6Q3Y
+... 91340621MA2PEPJB9F
+... 91371082775260043P
+... 914112810713741814
+... 9144030071526726XG
+... 91620100719023721L
+... 91620105224521729E
+... 91620105556273987U
+... 91620105556284969Y
+... 91620105556287545F
+... 91620105571630591E
+... 91620105585923360D
+... 91620105665404165K
+... 9162010567592034XQ
+... 91620105750906995R
+... 91620105750935948X
+... 91620105756580826D
+... 91620105767728304H
+... 91620105784023285J
+... 91620105789620900B
+... 91620105794891756D
+... 91620105L015101280
+... 92340602MA2PBQAH7E
+... 92340602MA2PEL3T3X
+... 92340602MA2PEL605A
+... 92340602MA2UK2TH6F
+... 92340602MA2UK33127
+... 92340603MA2PBMCG0U
+... 92340603MA2PBMD304
+... 92340603MA2PBMQL04
+... 92340603MA2PBMUF7M
+... 92340603MA2PBN17X5
+... 92340603MA2PBN2W0N
+... 92340603MA2PBNK461
+... 92340603MA2PBNLR0R
+... 92340603MA2PBQ7J4K
+... 92340603MA2PBQ7X9E
+... 92340603MA2PBQFT7J
+... 92340603MA2PBQGB6M
+... 92340603MA2PBQHD9N
+... 92340603MA2PBQUC3U
+... 92340603MA2PBQX04X
+... 92340603MA2PBQY862
+... 92340603MA2PEL613K
+... 92340603MA2PELE65C
+... 92340603MA2PELFF5B
+... 92340603MA2PELHL72
+... 92340603MA2PEM480D
+... 92340603MA2PEN9F2E
+... 92340603MA2PENAP06
+... 92340603MA2PENCQ1M
+... 92340603MA2PEP42XF
+... 92340603MA2PEPBN6L
+... 92340603MA2PEPM83M
+... 92340603MA2UJXYJ3P
+... 92340603MA2UJY0W68
+... 92340603MA2UJY2M7F
+... 92340603MA2UJYUM57
+... 92340603MA2UK0KQ72
+... 92340603MA2UK0ME1G
+... 92340603MA2UK0T79E
+... 92340603MA2UK1NC4L
+... 92340603MA2UK1PX9B
+... 92340603MA2UK1TD00
+... 92340603MA2UK1UE56
+... 92340603MA2UK28G4G
+... 92340603MA2UK2P79U
+... 92340603MA2UK2WX6M
+... 92340603MA2UK2XD94
+... 92340603MA2UK31A3N
+... 92340603MA2UK3CP6U
+... 92340603MA2UK3D673
+... 92340603MA2UK3DF0N
+... 92340603MA2UK3DT5H
+... 92340604MA2PBME53K
+... 92340604MA2PBMQK2P
+... 92340604MA2PBMXF6C
+... 92340604MA2PBNDT64
+... 92340604MA2PBNKR4Y
+... 92340604MA2PBNQNXM
+... 92340604MA2PBNR83C
+... 92340604MA2PBNUL9N
+... 92340604MA2PBNWH99
+... 92340604MA2PBNXH5J
+... 92340604MA2PBP1U3Y
+... 92340604MA2PBP7U1T
+... 92340604MA2PBPHC8R
+... 92340604MA2PBPXJ71
+... 92340604MA2PEM4L7X
+... 92340604MA2PEM5Q4E
+... 92340604MA2PENA300
+... 92340604MA2UJYCE59
+... 92340604MA2UJYPN1K
+... 92340604MA2UK03G7D
+... 92340604MA2UK04L4X
+... 92340604MA2UK07529
+... 92340604MA2UK08Y65
+... 92340621MA2PBKRXXG
+... 92340621MA2PBL318W
+... 92340621MA2PBLW63G
+... 92340621MA2PBLWT1Y
+... 92340621MA2PBLX27E
+... 92340621MA2PBM6286
+... 92340621MA2PBMA318
+... 92340621MA2PBMKK45
+... 92340621MA2PBMNMXM
+... 92340621MA2PBMUH3D
+... 92340621MA2PBN0KXX
+... 92340621MA2PBN145R
+... 92340621MA2PBN1962
+... 92340621MA2PBN1H1T
+... 92340621MA2PBN559X
+... 92340621MA2PBNFH07
+... 92340621MA2PBNJ232
+... 92340621MA2PBNTY9Y
+... 92340621MA2PBP431L
+... 92340621MA2PELD34J
+... 92340621MA2PELFR3H
+... 92340621MA2UJRKE7N
+... 92340621MA2UJRL762
+... 92340621MA2UJT9WXP
+... 92340621MA2UJTCK0M
+... 92340621MA2UJTM785
+... 92340621MA2UJTQ22E
+... 92340621MA2UJTTF8R
+... 92340621MA2UJTY74U
+... 92340621MA2UJW4UXQ
+... 92340621MA2UJW690P
+... 92340621MA2UJW703D
+... 92340621MA2UJWA961
+... 92340621MA2UJWCT2H
+... 92340621MA2UJWEE2G
+... 92340621MA2UJWFB49
+... 92340621MA2UJWGB0J
+... 92340621MA2UJWYPX8
+... 92340621MA2UJX6C8T
+... 92340621MA2UJX968M
+... 92340621MA2UJXLD1M
+... 92340621MA2UJY477E
+... 92340621MA2UJYE11E
+... 92340621MA2UJYG57G
+... 92340621MA2UK02XXW
+... 92340621MA2UK08G9K
+... 92340621MA2UK0DA11
+... 92340621MA2UK0G256
+... 92340621MA2UK0J08Q
+... 92340621MA2UK0JX8N
+... 92340621MA2UK0KR5Y
+... 92340621MA2UK1JY92
+... 92340621MA2UK1L38E
+... 92340621MA2UK1MK35
+... 92340621MA2UK1MN8P
+... 92340621MA2UK1PRX7
+... 92340621MA2UK22G6N
+... 92340621MA2UK25H3F
+... 92340621MA2UK2BU8B
+... 92340621MA2UK2CD59
+... 92340621MA2UK2EP62
+... 92340621MA2UK2GJXF
+... 92340621MA2UK2Q24Y
+... 92340621MA2UK2XX21
+... 92340621MA2UK30C35
+... 92340621MA2UK338XJ
+... 92340621MA2UK3C369
+... 92340621MA2UK3CE6L
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not uscc.is_valid(x)]
+[]
From 4eda3f3535d28e2486745f33504c417ba6837c3a Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Wed, 18 Mar 2020 19:57:48 +0100
Subject: [PATCH 006/276] Add missing vat alias for New Zealand
Closes https://github.com/arthurdejong/python-stdnum/pull/202
---
stdnum/nz/__init__.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/stdnum/nz/__init__.py b/stdnum/nz/__init__.py
index f58d20f6..150057ee 100644
--- a/stdnum/nz/__init__.py
+++ b/stdnum/nz/__init__.py
@@ -19,3 +19,6 @@
# 02110-1301 USA
"""Collection of New Zealand numbers."""
+
+# provide aliases
+from stdnum.nz import ird as vat # noqa: F401
From 0d5b8b154945cc3cdcea5ddfd0676332b4cf5ad4 Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Wed, 18 Mar 2020 20:45:35 +0100
Subject: [PATCH 007/276] Add support for Singapore Unique Entity Number
Closes https://github.com/arthurdejong/python-stdnum/issues/111
Closes https://github.com/arthurdejong/python-stdnum/pull/203
---
stdnum/sg/__init__.py | 24 +++
stdnum/sg/uen.py | 172 ++++++++++++++++++++++
tests/test_sg_uen.doctest | 301 ++++++++++++++++++++++++++++++++++++++
3 files changed, 497 insertions(+)
create mode 100644 stdnum/sg/__init__.py
create mode 100644 stdnum/sg/uen.py
create mode 100644 tests/test_sg_uen.doctest
diff --git a/stdnum/sg/__init__.py b/stdnum/sg/__init__.py
new file mode 100644
index 00000000..1d3e79d3
--- /dev/null
+++ b/stdnum/sg/__init__.py
@@ -0,0 +1,24 @@
+# __init__.py - collection of Singapore numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""Collection of Singapore numbers."""
+
+# provide aliases
+from stdnum.sg import uen as vat # noqa: F401
diff --git a/stdnum/sg/uen.py b/stdnum/sg/uen.py
new file mode 100644
index 00000000..2b49be1f
--- /dev/null
+++ b/stdnum/sg/uen.py
@@ -0,0 +1,172 @@
+# uen.py - functions for handling Singapore UEN numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+# Copyright (C) 2020 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""UEN (Singapore's Unique Entity Number).
+
+The Unique Entity Number (UEN) is a 9 or 10 digit identification issued by
+the government of Singapore to businesses that operate with within Singapore.
+
+
+Accounting and Corporate Regulatory Authority (ACRA)
+
+There are three different formats:
+
+* Business (ROB): It consists of 8 digits followed by a check letter.
+* Local Company (ROC): It consists of 9 digits (the 4 leftmost digits
+ represent the year of issuance) followed by a check letter.
+* Others: Consists of 10 characters, begins with either the R letter, or the
+ S letter or the T letter followed by 2 digits representing the last two
+ digits of the issuance year, followed by two letters representing the
+ entity type, 4 digits and finally a check letter.
+
+More information:
+
+* https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Singapore-TIN.pdf
+* https://www.uen.gov.sg/ueninternet/faces/pages/admin/aboutUEN.jspx
+
+>>> validate('00192200M')
+'00192200M'
+>>> validate('197401143C')
+'197401143C'
+>>> validate('S16FC0121D')
+'S16FC0121D'
+>>> validate('T01FC6132D')
+'T01FC6132D'
+>>> validate('123456')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+"""
+
+# There are some references to special 10-digit (or 7-digit) numbers that
+# start with an F for foreign companies but it is unclear whether this is
+# still current and not even examples of these numbers could be found.
+
+from datetime import datetime
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+OTHER_UEN_ENTITY_TYPES = (
+ 'CC', 'CD', 'CH', 'CL', 'CM', 'CP', 'CS', 'CX', 'DP', 'FB', 'FC', 'FM',
+ 'FN', 'GA', 'GB', 'GS', 'HS', 'LL', 'LP', 'MB', 'MC', 'MD', 'MH', 'MM',
+ 'MQ', 'NB', 'NR', 'PA', 'PB', 'PF', 'RF', 'RP', 'SM', 'SS', 'TC', 'TU',
+ 'VH', 'XL',
+)
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This converts to uppercase and removes surrounding whitespace. It
+ also replaces the whitespace in UEN for foreign companies with
+ zeroes.
+ """
+ return clean(number).upper().strip()
+
+
+def calc_business_check_digit(number):
+ """Calculate the check digit for the Business (ROB) number."""
+ number = compact(number)
+ weights = (10, 4, 9, 3, 8, 2, 7, 1)
+ return 'XMKECAWLJDB'[sum(int(n) * w for n, w in zip(number, weights)) % 11]
+
+
+def _validate_business(number):
+ """Perform validation on UEN - Business (ROB) numbers."""
+ if not isdigits(number[:-1]):
+ raise InvalidFormat()
+ if not number[-1].isalpha():
+ raise InvalidFormat()
+ if number[-1] != calc_business_check_digit(number):
+ raise InvalidChecksum()
+ return number
+
+
+def calc_local_company_check_digit(number):
+ """Calculate the check digit for the Local Company (ROC) number."""
+ number = compact(number)
+ weights = (10, 8, 6, 4, 9, 7, 5, 3, 1)
+ return 'ZKCMDNERGWH'[sum(int(n) * w for n, w in zip(number, weights)) % 11]
+
+
+def _validate_local_company(number):
+ """Perform validation on UEN - Local Company (ROC) numbers."""
+ if not isdigits(number[:-1]):
+ raise InvalidFormat()
+ current_year = str(datetime.now().year)
+ if number[:4] > current_year:
+ raise InvalidComponent()
+ if number[-1] != calc_local_company_check_digit(number):
+ raise InvalidChecksum()
+ return number
+
+
+def calc_other_check_digit(number):
+ """Calculate the check digit for the other entities number."""
+ number = compact(number)
+ alphabet = 'ABCDEFGHJKLMNPQRSTUVWX0123456789'
+ weights = (4, 3, 5, 3, 10, 2, 2, 5, 7)
+ return alphabet[(sum(alphabet.index(n) * w for n, w in zip(number, weights)) - 5) % 11]
+
+
+def _validate_other(number):
+ """Perform validation on other UEN numbers."""
+ if number[0] not in ('R', 'S', 'T'):
+ raise InvalidComponent()
+ if not isdigits(number[1:3]):
+ raise InvalidFormat()
+ current_year = str(datetime.now().year)
+ if number[0] == 'T' and number[1:3] > current_year[2:]:
+ raise InvalidComponent()
+ if number[3:5] not in OTHER_UEN_ENTITY_TYPES:
+ raise InvalidComponent()
+ if not isdigits(number[5:-1]):
+ raise InvalidFormat()
+ if number[-1] != calc_other_check_digit(number):
+ raise InvalidChecksum()
+ return number
+
+
+def validate(number):
+ """Check if the number is a valid Singapore UEN number."""
+ number = compact(number)
+ if len(number) not in (9, 10):
+ raise InvalidLength()
+ if len(number) == 9:
+ return _validate_business(number)
+ if isdigits(number[0]):
+ return _validate_local_company(number)
+ return _validate_other(number)
+
+
+def is_valid(number):
+ """Check if the number is a valid Singapore UEN number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ return compact(number)
diff --git a/tests/test_sg_uen.doctest b/tests/test_sg_uen.doctest
new file mode 100644
index 00000000..caa2d0a6
--- /dev/null
+++ b/tests/test_sg_uen.doctest
@@ -0,0 +1,301 @@
+test_sg_uen.doctest - more detailed doctests for stdnum.sg.uen module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.sg.uen module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.sg import uen
+
+
+Tests for some corner cases.
+
+>>> uen.validate('00192200M')
+'00192200M'
+>>> uen.validate('00192200C')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> uen.validate('197401143C')
+'197401143C'
+>>> uen.validate('S16FC0121D')
+'S16FC0121D'
+>>> uen.validate('T01FC6132D')
+'T01FC6132D'
+>>> uen.format(' 00192200M ')
+'00192200M'
+>>> uen.validate('123456')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> uen.validate('R2345678H')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uen.validate('123456789')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uen.validate('1R3456789H')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uen.validate('999956789H')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> uen.validate('1234567890')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> uen.validate('W23LL6789H')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> uen.validate('S2WLL6789H')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uen.validate('T99LL6789H')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> uen.validate('T02WW6789H')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> uen.validate('T02LL6W89H')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> uen.validate('T02LL67890')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 00416700K
+... 01402200A
+... 03122200E
+... 03989700A
+... 05040200E
+... 05328700B
+... 05346600D
+... 05682800D
+... 05796700L
+... 06108900A
+... 06273700K
+... 06540200J
+... 06905300J
+... 07059900M
+... 07088800X
+... 07330000D
+... 07392800C
+... 07609900L
+... 08301600K
+... 09402000X
+... 10080700C
+... 10185500A
+... 10362000A
+... 10415300L
+... 10482100X
+... 10528100W
+... 10655900A
+... 10839500J
+... 198101793G
+... 199201624D
+... 199409389H
+... 199607747H
+... 199903512M
+... 200001838R
+... 200003956G
+... 200311327H
+... 200402245Z
+... 200509725E
+... 200601141M
+... 200612239R
+... 200613692K
+... 200806526H
+... 200923096R
+... 201001206N
+... 201026348Z
+... 201107298M
+... 201118211H
+... 201221002E
+... 201225997K
+... 201227749M
+... 201312700G
+... 201316157E
+... 201405619W
+... 201421015W
+... 201422211Z
+... 201427857E
+... 201430557E
+... 201434292D
+... 201505714C
+... 201506999D
+... 201507276Z
+... 201509563K
+... 201524437R
+... 201528593H
+... 201530032R
+... 201533374C
+... 201538146W
+... 201539125W
+... 201539692G
+... 201541306Z
+... 201605323H
+... 201608874E
+... 201612228W
+... 201613871H
+... 201616811C
+... 201620388N
+... 201621244C
+... 201626104W
+... 201630570C
+... 201630906R
+... 201703509H
+... 201709179W
+... 201723655Z
+... 201728348W
+... 201729145M
+... 201730487Z
+... 201732074H
+... 201801863N
+... 201810763C
+... 201813990E
+... 201814325Z
+... 201819215N
+... 201828636K
+... 201831257M
+... 201831267E
+... 201902616N
+... 201927572K
+... 201931750M
+... 201933247R
+... 53143018M
+... 53321041X
+... 53322268X
+... 53325701L
+... 53327223L
+... 53328294B
+... 53329644K
+... 53329865B
+... 53333269M
+... 53333709K
+... 53334750E
+... 53336671B
+... 53337313A
+... 53337959L
+... 53338455M
+... 53338593L
+... 53339826J
+... 53340108M
+... 53340486W
+... 53341233A
+... 53343978K
+... 53344927L
+... 53346524M
+... 53346603B
+... 53346756W
+... 53351301D
+... 53354912D
+... 53357813B
+... 53358098J
+... 53358936C
+... 53359192M
+... 53359796W
+... 53360148K
+... 53360367J
+... 53360906B
+... 53365157C
+... 53366537W
+... 53366669D
+... 53368090E
+... 53369142K
+... 53371741L
+... 53372084B
+... 53372845B
+... 53372960B
+... 53373278J
+... 53373376J
+... 53374181E
+... 53374421X
+... 53377389W
+... 53377498E
+... 53377824K
+... 53380578C
+... 53382783C
+... 53383991B
+... 53384227A
+... 53393038C
+... 53393390X
+... 53393519M
+... 53394981E
+... 53395684J
+... 53395867M
+... 53397681B
+... 53398169K
+... 53399589B
+... 53399638D
+... 53399659K
+... S16FC0121D
+... S27FC0556D
+... S64FC1644H
+... S65SS0033F
+... S66SS0041B
+... S68FC1890G
+... S85FC3621C
+... S99FC5759D
+... T01FC6132D
+... T07LL0309A
+... T08LL0003B
+... T08LL0005E
+... T08LL0721A
+... T08LL0979J
+... T10LL1392L
+... T10LL1400J
+... T11LL0668C
+... T11LL1149C
+... T11LL1971L
+... T11LL2079G
+... T12LL0781D
+... T12LL2046J
+... T12LL2127H
+... T14FC0094H
+... T14LL1800D
+... T15LL1753J
+... T15LL1855C
+... T15LL1956A
+... T16LL0695L
+... T16LL1853E
+... T17LL0235L
+... T17LL1494G
+... T17LL2098G
+... T18FC0083E
+... T19LL0797J
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not uen.is_valid(x)]
+[]
From 127fff17bf612ba8457ea84424ce4d99abd62306 Mon Sep 17 00:00:00 2001
From: Christopher Ormaza
Date: Sat, 6 Jun 2020 09:36:37 -0500
Subject: [PATCH 008/276] Support 6 as third digit for foreign people in
Ecuador
Closes https://github.com/arthurdejong/python-stdnum/pull/228
---
stdnum/ec/ci.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/stdnum/ec/ci.py b/stdnum/ec/ci.py
index 6e588518..c97c1937 100644
--- a/stdnum/ec/ci.py
+++ b/stdnum/ec/ci.py
@@ -62,7 +62,7 @@ def validate(number):
raise InvalidFormat()
if (number[:2] < '01' or number[:2] > '24') and (number[:2] not in ('30', '50')):
raise InvalidComponent() # invalid province code
- if number[2] > '5':
+ if number[2] > '6':
raise InvalidComponent() # third digit wrong
if _checksum(number) != 0:
raise InvalidChecksum()
From b3891f1eff22c46d0856b1b303781f911c2b2e5a Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Sat, 7 Mar 2020 20:56:13 +0100
Subject: [PATCH 009/276] Add support for South Korea Business Registration
Number
Closes https://github.com/arthurdejong/python-stdnum/pull/197
Closes https://github.com/arthurdejong/python-stdnum/issues/101
---
stdnum/kr/__init__.py | 3 +
stdnum/kr/brn.py | 85 +++++++++++
tests/test_kr_brn.doctest | 303 ++++++++++++++++++++++++++++++++++++++
3 files changed, 391 insertions(+)
create mode 100644 stdnum/kr/brn.py
create mode 100644 tests/test_kr_brn.doctest
diff --git a/stdnum/kr/__init__.py b/stdnum/kr/__init__.py
index 03cbe0f2..b8d75f2f 100644
--- a/stdnum/kr/__init__.py
+++ b/stdnum/kr/__init__.py
@@ -19,3 +19,6 @@
# 02110-1301 USA
"""Collection of South Korean numbers."""
+
+# provide aliases
+from stdnum.kr import brn as vat # noqa: F401
diff --git a/stdnum/kr/brn.py b/stdnum/kr/brn.py
new file mode 100644
index 00000000..c004aa98
--- /dev/null
+++ b/stdnum/kr/brn.py
@@ -0,0 +1,85 @@
+# brn.py - functions for handling South Korean BRN
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""BRN (사업자 등록 번호, South Korea Business Registration Number).
+
+The Business Registration Number is issued by the district tax office in the
+local jurisdiction for tax purposes. The number consists of 10 digits and
+contain the tax office number (3 digits), the type of business (2 digits), a
+serially assigned value (4 digits) and a single check digit.
+
+More information:
+
+* https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Korea-TIN.pdf
+
+>>> validate('116-82-00276')
+'1168200276'
+>>> validate('1168200276')
+'1168200276'
+>>> validate(' 116 - 82 - 00276 ')
+'1168200276'
+>>> validate('123456789')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> format('1348672683')
+'134-86-72683'
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This strips the number of any valid separators and removes surrounding
+ whitespace.
+ """
+ return clean(number, ' -').strip()
+
+
+def validate(number):
+ """Check if the number is a valid South Korea BRN number.
+
+ This checks the length and formatting.
+ """
+ number = compact(number)
+ if len(number) != 10:
+ raise InvalidLength()
+ if not isdigits(number):
+ raise InvalidFormat()
+ if number[:3] < '101' or number[3:5] == '00' or number[5:-1] == '0000':
+ raise InvalidComponent()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid South Korea BRN number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ number = compact(number)
+ return '-'.join([number[:3], number[3:5], number[5:]])
diff --git a/tests/test_kr_brn.doctest b/tests/test_kr_brn.doctest
new file mode 100644
index 00000000..668a9751
--- /dev/null
+++ b/tests/test_kr_brn.doctest
@@ -0,0 +1,303 @@
+test_kr_brn.doctest - more detailed doctests for stdnum.kr.brn module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.kr.brn module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.kr import brn
+
+
+Tests for some corner cases.
+
+>>> brn.validate('2098206382')
+'2098206382'
+>>> brn.validate('211-86-08983')
+'2118608983'
+>>> brn.validate('317 - 81 - 11175')
+'3178111175'
+>>> brn.validate('220 88 69974')
+'2208869974'
+>>> brn.format('1304717700')
+'130-47-17700'
+>>> brn.validate('80123456785')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> brn.validate('FF34567890')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> brn.validate('100-86-08983')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> brn.validate('211-00-08983')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> brn.validate('211-86-00003')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 101-82-13065
+... 102-81-03525
+... 102-81-42945
+... 104-81-25258
+... 104-81-36565
+... 104-84-03406
+... 105-17-41513
+... 105-86-61489
+... 106-82-07200
+... 107-82-09351
+... 107-87-13471
+... 107-87-70962
+... 108-19-83613
+... 109-81-33637
+... 109-81-39795
+... 109-81-62393
+... 110-12-39727
+... 110-14-16596
+... 110-81-05034
+... 110-81-07390
+... 110-81-40725
+... 110-84-02173
+... 112-81-30811
+... 113-02-43949
+... 113-81-92367
+... 113-85-26486
+... 113-86-21886
+... 113-86-38602
+... 113-86-46500
+... 113-86-60856
+... 114-81-44645
+... 114-82-62150
+... 114-86-00579
+... 114-86-04968
+... 114-86-61464
+... 116-82-00276
+... 117-81-77714
+... 118-81-09714
+... 119-02-43947
+... 119-19-96781
+... 119-82-08146
+... 119-82-63265
+... 119-86-44529
+... 119-86-79111
+... 119-87-08063
+... 120-81-57465
+... 120-86-39706
+... 1208200052
+... 121-81-25326
+... 121-81-42209
+... 121-81-78347
+... 122-81-62455
+... 124-81-79802
+... 124-86-13144
+... 124-86-65341
+... 124-86-85333
+... 127-11-87351
+... 128-02-41206
+... 128-39-49844
+... 128-81-63302
+... 128-81-77295
+... 129-81-16573
+... 129-81-23356
+... 129-81-30691
+... 129-81-85385
+... 129-86-38970
+... 129-86-39907
+... 130-47-17700
+... 130-81-92528
+... 130-86-35857
+... 130-86-79710
+... 130-86-89294
+... 131-82-00372
+... 131-86-40843
+... 132-81-38608
+... 132-86-04520
+... 133-81-29441
+... 133-81-32077
+... 133-81-40621
+... 134-81-06679
+... 134-86-24634
+... 134-86-44004
+... 134-86-72683
+... 135-09-24640
+... 135-29-80067
+... 135-81-06333
+... 137-86-39058
+... 138-81-03499
+... 138-81-44092
+... 138-81-44277
+... 140-81-67744
+... 141-81-18585
+... 143-81-10463
+... 144-81-25090
+... 148-05-00404
+... 156-23-00883
+... 169-86-00394
+... 183-98-00113
+... 187-82-00055
+... 193-86-00010
+... 201-81-54845
+... 201-81-76228
+... 201-81-99798
+... 201-85-17396
+... 201-86-25781
+... 202-81-04367
+... 202-81-42420
+... 204-06-91556
+... 204-86-46427
+... 205-81-26341
+... 206-18-12345
+... 206-86-50913
+... 208-81-24115
+... 209-82-05326
+... 209-82-06382
+... 211-86-08983
+... 211-86-23306
+... 211-86-39754
+... 211-87-67960
+... 214-11-58465
+... 214-81-04230
+... 214-87-78980
+... 214-87-98889
+... 214-87-99743
+... 214-88-49333
+... 214-88-51159
+... 215-87-86862
+... 217-81-14493
+... 219-01-39810
+... 220 88 69974
+... 220-81-66148
+... 220-81-83676
+... 220-82-05060
+... 220-87-18070
+... 220-87-57205
+... 220-88-75699
+... 220-88-88699
+... 221-81-32210
+... 221-83-01195
+... 222-81-03192
+... 224-81-41168
+... 231-81-02896
+... 275-87-01259
+... 279-81-01263
+... 280-86-01410
+... 301-81-14992
+... 301-81-91475
+... 301-82-62166
+... 301-86-12266
+... 303-12-73313
+... 303-81-44911
+... 303-82-07378
+... 305-81-38564
+... 305-81-70638
+... 305-81-87876
+... 306-81-22629
+... 306-82-00417
+... 308-81-41001
+... 311-81-22413
+... 312-12-25168
+... 312-30-06675
+... 312-81-95317
+... 314-81-25684
+... 314-82-01980
+... 314-86-00956
+... 314-86-42432
+... 314-86-53230
+... 314-86-63209
+... 317 - 81 - 11175
+... 317-81-04543
+... 318-81-02096
+... 321-81-00982
+... 348-13-00692
+... 364-81-00669
+... 374-81-01516
+... 375-10-00859
+... 375-88-00519
+... 383-37-00143
+... 394-92-00410
+... 398-85-00113
+... 402-82-15272
+... 409-86-33769
+... 410-25-53731
+... 410-82-83844
+... 410-86-53770
+... 415-06-83258
+... 415-81-19511
+... 415-82-11025
+... 416-81-48042
+... 417-85-07912
+... 420-87-00883
+... 501-26-78904
+... 503-86-09407
+... 504-81-85233
+... 504-85-11802
+... 506-82-06755
+... 514-81-68599
+... 515-04-62016
+... 515-05-32580
+... 515-07-68272
+... 515-81-10315
+... 515-81-40648
+... 533-85-00526
+... 533-87-01306
+... 568-41-00305
+... 580-21-00836
+... 582-90-00497
+... 602-81-66559
+... 603-81-24270
+... 606-81-54507
+... 606-86-06989
+... 609-81-99124
+... 610-09-84339
+... 610-81-04971
+... 615-82-11718
+... 615-86-09068
+... 616-24-46281
+... 616-25-12643
+... 617-86-11575
+... 621-15-41743
+... 632-11-01006
+... 639-86-00985
+... 649-82-00117
+... 669-81-00996
+... 680-87-00210
+... 682-85-00885
+... 728-86-00316
+... 735-85-00501
+... 760-06-00079
+... 766-88-00563
+... 782-86-00130
+... 809-81-01574
+... 816-81-00840
+... 884-17-01026
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not brn.is_valid(x)]
+[]
From 1b7e985ff7dbf60b7f41d004fe39292c25bd2ae5 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sat, 16 May 2020 16:04:21 +0200
Subject: [PATCH 010/276] Add an online check for the South Korean BRN
---
stdnum/kr/GPKIRootCA1.crt | 21 ++++++++++++++++++
stdnum/kr/brn.py | 17 +++++++++++++++
tests/test_kr_brn.py | 46 +++++++++++++++++++++++++++++++++++++++
3 files changed, 84 insertions(+)
create mode 100644 stdnum/kr/GPKIRootCA1.crt
create mode 100644 tests/test_kr_brn.py
diff --git a/stdnum/kr/GPKIRootCA1.crt b/stdnum/kr/GPKIRootCA1.crt
new file mode 100644
index 00000000..20fc1c78
--- /dev/null
+++ b/stdnum/kr/GPKIRootCA1.crt
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDXTCCAkWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBQMQswCQYDVQQGEwJLUjEc
+MBoGA1UECgwTR292ZXJubWVudCBvZiBLb3JlYTENMAsGA1UECwwER1BLSTEUMBIG
+A1UEAwwLR1BLSVJvb3RDQTEwHhcNMTEwODAzMDY1MjMwWhcNMzEwODAzMDY1MjMw
+WjBQMQswCQYDVQQGEwJLUjEcMBoGA1UECgwTR292ZXJubWVudCBvZiBLb3JlYTEN
+MAsGA1UECwwER1BLSTEUMBIGA1UEAwwLR1BLSVJvb3RDQTEwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCh/m8EBbDJhGQyN2+g5dTlsgjtaRKqhgj3gkYK
+BgtuXsXkaTVxbf99AvbN3QE8+WCIaPJUd0091UGmLzaBVyW4ct+iUNrX/FXyzjaf
+bNbbl1nfHhaZhkiOTVQhmY5zuj96evEtJMevnxe6iRADOPWnqp+CxT2IzcSFkQCq
+7L2qn8hU2/LpXUvnAYglJZi8t6Ef+r03P1r8dA5OzZ8yV3qhD1R1wsNQtCzMgwcE
+rFRZhFZYuxpfmS5y0fZW0seeTjcdxHiR3whYI5U6AI7DjdWIrT9Cd9ByV4aevkBh
+qkePPIYGmUPXnnqCkdHdnzkMH0WP9TBhD2jTXZKdcFtTyEJrAgMBAAGjQjBAMB0G
+A1UdDgQWBBR4A+sMjKbTVXWkh7Tr0ZpmD0xzizAOBgNVHQ8BAf8EBAMCAQYwDwYD
+VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEARGJWATwo81x7UEQugNbi
+cL8IWXoV51SZVH3kz49fNUjVoq1n2yzfaMddlblbflDNObp/68DxTlSXCeqFHkgi
+/WvyVHERRECXnF0WeeelI+Q8XdF3IJZLT3u5Ss0VAB2loCuC+4hBWSRQu2WZu2Yk
+s9eBN0x6NmtopRmnf2d6VrcFA+WOgUeTjXiDkG52IaPw0w1uTfmRw5epky5idyY2
+bfJ1JeVUINMJnOWpgLkOH3xxakoD8F1Fbi6C3t7MmKupojUq/toUDms6zTk3DIkc
+wd7PALNWL5U8TxNLoroTHSf/lzaOv3o9KDRa0FQo58bPI7MdbRWE4F3mS/ZIrnv7
+jQ==
+-----END CERTIFICATE-----
diff --git a/stdnum/kr/brn.py b/stdnum/kr/brn.py
index c004aa98..652ecf39 100644
--- a/stdnum/kr/brn.py
+++ b/stdnum/kr/brn.py
@@ -2,6 +2,7 @@
# coding: utf-8
#
# Copyright (C) 2020 Leandro Regueiro
+# Copyright (C) 2020 Arthur de Jong
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -83,3 +84,19 @@ def format(number):
"""Reformat the number to the standard presentation format."""
number = compact(number)
return '-'.join([number[:3], number[3:5], number[5:]])
+
+
+def check_ftc(number, timeout=30): # pragma: no cover
+ """Check the number against the Korea Fair Trade Commission website."""
+ from pkg_resources import resource_filename
+ import lxml.html
+ import requests
+ number = compact(number)
+ url = 'https://www.ftc.go.kr/bizCommPop.do'
+ certificate = resource_filename(__name__, 'GPKIRootCA1.crt')
+ document = lxml.html.fromstring(
+ requests.get(url, params={'wrkr_no': number}, timeout=timeout, verify=certificate).text)
+ data = dict(zip(
+ [(x.text or '').strip() for x in document.findall('.//th')],
+ [(x.text or '').strip() for x in document.findall('.//td')]))
+ return data or None
diff --git a/tests/test_kr_brn.py b/tests/test_kr_brn.py
new file mode 100644
index 00000000..31cd9d6a
--- /dev/null
+++ b/tests/test_kr_brn.py
@@ -0,0 +1,46 @@
+# test_kr_brn.py - functions for testing the online BRN validation
+# coding: utf-8
+#
+# Copyright (C) 2020 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+# This is a separate test file because it should not be run regularly
+# because it could negatively impact the online service.
+
+"""Extra tests for the stdnum.kr.brn module."""
+
+import os
+import unittest
+
+from stdnum.kr import brn
+
+
+@unittest.skipIf(
+ not os.environ.get('ONLINE_TESTS'),
+ 'Do not overload online services')
+class TestFTC(unittest.TestCase):
+ """Test the check provided based on the Korea Fair Trade Commission
+ website."""
+
+ def test_check_ftc(self):
+ """Test stdnum.kr.brn.check_ftc()"""
+ # Test a normal valid number
+ result = brn.check_ftc('109-81-39795')
+ self.assertTrue(result)
+ # Test an invalid number
+ result = brn.check_ftc('109-81-39796')
+ self.assertIsNone(result)
From a34a76dc657e6213e5116fdb399cba75bdba67cb Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Sat, 18 Apr 2020 18:29:16 +0200
Subject: [PATCH 011/276] Add support for Vietnam TIN number
Closes https://github.com/arthurdejong/python-stdnum/issues/217
Closes https://github.com/arthurdejong/python-stdnum/pull/218
---
stdnum/vn/__init__.py | 24 ++++
stdnum/vn/mst.py | 114 +++++++++++++++++++
tests/test_vn_mst.doctest | 230 ++++++++++++++++++++++++++++++++++++++
3 files changed, 368 insertions(+)
create mode 100644 stdnum/vn/__init__.py
create mode 100644 stdnum/vn/mst.py
create mode 100644 tests/test_vn_mst.doctest
diff --git a/stdnum/vn/__init__.py b/stdnum/vn/__init__.py
new file mode 100644
index 00000000..62552bce
--- /dev/null
+++ b/stdnum/vn/__init__.py
@@ -0,0 +1,24 @@
+# __init__.py - collection of Vietnam numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""Collection of Vietnam numbers."""
+
+# provide aliases
+from stdnum.vn import mst as vat # noqa: F401
diff --git a/stdnum/vn/mst.py b/stdnum/vn/mst.py
new file mode 100644
index 00000000..a8cc4175
--- /dev/null
+++ b/stdnum/vn/mst.py
@@ -0,0 +1,114 @@
+# nit.py - functions for handling Vietnam MST numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""MST (Mã số thuế, Vietnam tax number).
+
+This number consists of 10 digits. Branches have a 13 digit number,
+where the first ten digits are the same as the parent company's.
+
+The first two digits is the province code where the business was
+established. If an enterprise relocates its head office from one
+province to another, ths MST will remain unchanged.
+
+The following seven digits are a sequential number from 0000001 to
+9999999.
+
+The tenth digit is the check digit for the first nine digits, which is
+used to verify the number was correctly typed.
+
+The last optional three digits are a sequence from 001 to 999
+indicating branches of the enterprise. These digits are usually
+separated from the first ten digits using a dash (-)
+
+More information:
+
+* https://vi.wikipedia.org/wiki/Thuế_Việt_Nam#Mã_số_thuế_(MST)_của_doanh_nghiệp
+* https://easyinvoice.vn/ma-so-thue/
+* https://ub.com.vn/threads/huong-dan-tra-cuu-ma-so-thue-doanh-nghiep-moi-nhat.261393/
+
+>>> validate('0100233488')
+'0100233488'
+>>> validate('0314409058-002')
+'0314409058002'
+>>> validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> validate('0100233480')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> format('01.00.112.437')
+'0100112437'
+>>> format('0312 68 78 78 - 001')
+'0312687878-001'
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This strips the number of any valid separators and removes surrounding
+ whitespace.
+ """
+ return clean(number, ' -.').strip()
+
+
+def calc_check_digit(number):
+ """Calculate the check digit."""
+ weights = (31, 29, 23, 19, 17, 13, 7, 5, 3)
+ total = sum(w * int(n) for w, n in zip(weights, number))
+ return str(10 - (total % 11))
+
+
+def validate(number):
+ """Check if the number is a valid Vietnam MST number.
+
+ This checks the length, formatting and check digit.
+ """
+ number = compact(number)
+ if len(number) not in (10, 13):
+ raise InvalidLength()
+ if not isdigits(number):
+ raise InvalidFormat()
+ if number[2:9] == '0000000':
+ raise InvalidComponent()
+ if len(number) == 13 and number[-3:] == '000':
+ raise InvalidComponent()
+ if number[9] != calc_check_digit(number):
+ raise InvalidChecksum()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid Vietnam MST number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ number = compact(number)
+ return number if len(number) == 10 else '-'.join([number[:10], number[10:]])
diff --git a/tests/test_vn_mst.doctest b/tests/test_vn_mst.doctest
new file mode 100644
index 00000000..54789c9b
--- /dev/null
+++ b/tests/test_vn_mst.doctest
@@ -0,0 +1,230 @@
+test_vn_mst.doctest - more detailed doctests for stdnum.vn.mst module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.vn.mst module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.vn import mst
+
+
+Tests for some corner cases.
+
+>>> mst.validate('0100233488')
+'0100233488'
+>>> mst.validate('0314409058-002')
+'0314409058002'
+>>> mst.validate('0312 68 78 78 - 001')
+'0312687878001'
+>>> mst.format('01.00.112.437')
+'0100112437'
+>>> mst.format('0312 68 78 78 - 001')
+'0312687878-001'
+>>> mst.validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> mst.validate('VV34567890')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> mst.validate('0100000008')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> mst.validate('0314409058-000')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> mst.validate('0100233480')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 01.00.112.437
+... 0100112437011
+... 0100233488
+... 0101245486
+... 0102182292
+... 0102278149
+... 0102328512
+... 0102638049
+... 0102641429-066
+... 0102721191-001
+... 0102723382
+... 0103131621
+... 0103326250
+... 0103581701
+... 0105022466
+... 0105330703
+... 0105869220
+... 0105958840
+... 0106142205
+... 0106713191
+... 0106824279
+... 0106897051
+... 0106929352
+... 0107338930
+... 0107371744
+... 0107408553
+... 0107430703
+... 0107526719
+... 0107568451
+... 0107959889
+... 0107984081
+... 0108024302
+... 0108100828
+... 0108200276
+... 0108256430
+... 0108747679
+... 0108880215
+... 0109120150
+... 0109161862
+... 0200747399
+... 0201900138
+... 0201909807
+... 0201910834
+... 0300533351
+... 0301471348
+... 0302082048
+... 0302787672
+... 0302971199
+... 0303025606
+... 0303104343
+... 0303177976
+... 0303217354
+... 0303789707
+... 0304436870
+... 0304475742
+... 0304541339
+... 0305000124
+... 0305060028
+... 0305322160
+... 0305338315
+... 0305592294
+... 0306404183
+... 0308023320
+... 0309485335
+... 0310213840
+... 0310350004
+... 0311 916 028
+... 0311592398
+... 0311693854
+... 0311892472
+... 0311933841
+... 0312 68 78 78 - 001
+... 0312273838
+... 0312386285
+... 0312615305
+... 0312971744
+... 0313322647
+... 0313511637
+... 0313547048
+... 0313752826
+... 0313844499
+... 0313883096
+... 0314179100
+... 0314390745
+... 0314409058-002
+... 0314425155
+... 0314715626
+... 0314797650
+... 0314817730
+... 0315406620
+... 0315427476
+... 0315469356
+... 0315615423
+... 0315641254
+... 0315649013
+... 0315675711
+... 0316079077
+... 0316095304
+... 0316110224
+... 0400129230
+... 0400583250
+... 0401 443 048
+... 0401958914
+... 0700790272
+... 0900283167
+... 1201480559
+... 1300440846-008
+... 1600255033-006
+... 1600699712-004
+... 1601223524
+... 1801314923
+... 2000102580
+... 2000102580-001
+... 2000102580-002
+... 2000102580-003
+... 2000102580-004
+... 2000102580-005
+... 2000730546-015
+... 2000961769-009
+... 2100624710
+... 2300376864
+... 2500291713
+... 2800886119
+... 2901807716
+... 3100104093-009
+... 3200707377
+... 3300273243-005
+... 3301595028
+... 3400416992-007
+... 3500748818
+... 3500865800
+... 3600532315
+... 3602404615
+... 3603277021
+... 3603718156
+... 3700635642
+... 3700751416
+... 3701398754
+... 3702499152
+... 3702642596
+... 3900260711
+... 3900956516
+... 3901166775
+... 3901203321
+... 4000107409
+... 4001100318
+... 4001170925
+... 4200919944
+... 4201783848
+... 4401031161
+... 4900224296
+... 4900813164
+... 5200327611
+... 5200869050
+... 5400478872
+... 5500340437
+... 5701424091
+... 5800199577-002
+... 5900705097
+... 8037630690
+... 8463763902
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not mst.is_valid(x)]
+[]
From 71128746b8215568d1ea15d2577b3408670f4892 Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Sun, 8 Mar 2020 13:36:16 +0100
Subject: [PATCH 012/276] Add support for Indonesian NPWP
Closes https://github.com/arthurdejong/python-stdnum/issues/106
Closes https://github.com/arthurdejong/python-stdnum/pull/198
---
stdnum/id/__init__.py | 24 ++++++
stdnum/id/npwp.py | 87 ++++++++++++++++++++
tests/test_id_npwp.doctest | 160 +++++++++++++++++++++++++++++++++++++
3 files changed, 271 insertions(+)
create mode 100644 stdnum/id/__init__.py
create mode 100644 stdnum/id/npwp.py
create mode 100644 tests/test_id_npwp.doctest
diff --git a/stdnum/id/__init__.py b/stdnum/id/__init__.py
new file mode 100644
index 00000000..a574bd54
--- /dev/null
+++ b/stdnum/id/__init__.py
@@ -0,0 +1,24 @@
+# __init__.py - collection of Indonesian numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""Collection of Indonesian numbers."""
+
+# provide aliases
+from stdnum.id import npwp as vat # noqa: F401
diff --git a/stdnum/id/npwp.py b/stdnum/id/npwp.py
new file mode 100644
index 00000000..de14a545
--- /dev/null
+++ b/stdnum/id/npwp.py
@@ -0,0 +1,87 @@
+# npwp.py - functions for handling Indonesian NPWP numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number).
+
+The Nomor Pokok Wajib Pajak (NPWP) is assigned to organisations and
+individuals (families) by the Indonesian Tax Office after registration by the
+tax payers.
+
+The number consists of 15 digits of which the first 2 denote the type of
+entity, 6 digits to identify the tax payer, a check digit over the first 8
+digits followed by 3 digits to identify the local tax office and 3 digits for
+branch code.
+
+More information:
+
+* https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Indonesia-TIN.pdf
+* https://metacpan.org/pod/Business::ID::NPWP
+* https://wiki.scn.sap.com/wiki/display/CRM/Indonesia
+
+>>> validate('01.312.166.0-091.000')
+'013121660091000'
+>>> validate('016090524017000')
+'016090524017000'
+>>> validate('123456789')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> format('013000666091000')
+'01.300.066.6-091.000'
+"""
+
+from stdnum import luhn
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This strips the number of any valid separators and removes
+ surrounding whitespace.
+ """
+ return clean(number, ' -.').strip()
+
+
+def validate(number):
+ """Check if the number is a valid Indonesia NPWP number."""
+ number = compact(number)
+ if len(number) != 15:
+ raise InvalidLength()
+ if not isdigits(number):
+ raise InvalidFormat()
+ luhn.validate(number[:9])
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid Indonesia NPWP number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ number = compact(number)
+ return '%s.%s.%s.%s-%s.%s' % (
+ number[:2], number[2:5], number[5:8], number[8], number[9:12], number[12:])
diff --git a/tests/test_id_npwp.doctest b/tests/test_id_npwp.doctest
new file mode 100644
index 00000000..13a78d9e
--- /dev/null
+++ b/tests/test_id_npwp.doctest
@@ -0,0 +1,160 @@
+test_id_npwp.doctest - more detailed doctests for stdnum.id.npwp module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.id.npwp module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.id import npwp
+
+
+Tests for some corner cases.
+
+>>> npwp.validate('023869720091000')
+'023869720091000'
+>>> npwp.validate('01.451.869.0-054.000')
+'014518690054000'
+>>> npwp.validate('02 . 433 . 917 . 8 - 011 . 000')
+'024339178011000'
+>>> npwp.format('013319595054000')
+'01.331.959.5-054.000'
+>>> npwp.validate('12345678901234')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> npwp.validate('FF3456789012345')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> npwp.validate('01.451.869.7-054.000')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 01.001.610.3-051.000
+... 01.001.634.3-093.000
+... 01.105.197.6-424.000
+... 01.112.397.3-441.000
+... 01.125.612.0-805.000
+... 01.129.154.9-201.000
+... 01.216.271.5-441.000
+... 01.258.022.1-201.000
+... 01.268.426.2-201.000
+... 01.311.830.2-073.000
+... 01.318.451.0-054.000
+... 01.334.427.0-054.000
+... 01.347.428.3-018.000
+... 01.360.902.9-054.000
+... 01.436.246.1-441.000
+... 01.452.340.1-101.000
+... 01.455.616.1-441.000
+... 01.457.751.4-426.000
+... 01.464.753.1-542.000
+... 01.482.738.0-424.000
+... 01.504.513.1-054.000
+... 01.546.704.6-012.000
+... 01.546.836.6-013.000
+... 01.548.436.3-423.000
+... 01.555.547.7-429.000
+... 01.562.420.8-805.000
+... 01.575.888.1-101.000
+... 01.580.769.6-201.000
+... 01.627.251.0-404.000
+... 01.657.878.3-101.000
+... 01.671.242.4-054.000
+... 01.677.930.8-429.000
+... 01.690.679.4-801.000
+... 01.709.626.4-054.000
+... 01.721.123.6-054.000
+... 01.773.770.1-805.000
+... 01.796.259.8-805.000
+... 01.815.656.2-807.000
+... 01.931.919.3-101.000
+... 01.966.099.2-801.000
+... 01.997.870.9-038.000
+... 010692903641000
+... 017048299643001
+... 02.037.103.5-502.000
+... 02.071.326.9-101.000
+... 02.071.363.2-101.000
+... 02.081.228.5-424.000
+... 02.098.700.4-013.000
+... 02.098.788.9-013.000
+... 02.102.011.0-101.000
+... 02.151.039.1-106.000
+... 02.173.740.8-002.000
+... 02.203.654.5-429.000
+... 02.333.122.6-441.000
+... 02.367.986.3-426.000
+... 02.399.244.9-091.000
+... 02.446.000.8-429.000
+... 02.480.884.2-444.000
+... 02.504.191.4-054.000
+... 02.527.123.0-017.000
+... 02.547.885.0-805.000
+... 02.564.234.9-421.000
+... 02.585.033.0-216.000
+... 02.643.101.5-805.000
+... 02.650.677.4-101.000
+... 02.679.257.2-801.000
+... 02.719.242.6-106.000
+... 02.755.249.6-541.000
+... 02.790.820.1-428.000
+... 02.887.783.5-105.000
+... 02.910.648.1-805.000
+... 02.932.094.2-101.000
+... 02.956.222.0-106.000
+... 02.956.223.8-106.000
+... 02.972.041.4-428.000
+... 02.976.331.5-103.000
+... 02.984.042.8-201.000
+... 03.026.787.6-805.000
+... 03.195.088.4-801.000
+... 03.217.024.3-805.000
+... 21.078.367.6-424.000
+... 31.294.519.9-424.000
+... 31.470.209.3-428.000
+... 31.496.676.3-106.000
+... 31.578.913.1-201.000
+... 31.682.116.4-201.000
+... 31.696.264.6-201.000
+... 31.729.429.6-542.000
+... 66.487.591.1-071.000
+... 70.838.297.3-201.000
+... 71.269.216.9-203.000
+... 75.193.535.4-805.000
+... 755023033513000
+... 762278075077000
+... 764038907023000
+... 811145994124000
+... 813195435017000
+... 83.132.665.7-201.000
+... 84.054.217.9-609.000
+... 846150324629000
+... 90.004.581.6-201.000
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not npwp.is_valid(x)]
+[]
From 291b8311898b103d5d6c0e38fd2ae3dcde48c4c1 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 5 Jul 2020 19:04:49 +0200
Subject: [PATCH 013/276] Avoid newer isort for flake8 tests
Do not install the latest isort because it currently breaks
flake8-isort. This pinning should be removed as soon as
https://github.com/gforcada/flake8-isort/issues/88 is resolved.
---
tox.ini | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tox.ini b/tox.ini
index 98e2735f..120baece 100644
--- a/tox.ini
+++ b/tox.ini
@@ -31,6 +31,9 @@ deps = flake8
flake8-tidy-imports
flake8-tuple
pep8-naming
+ # keep the following until this is fixed:
+ # https://github.com/gforcada/flake8-isort/issues/88
+ isort<5
commands = flake8 stdnum tests update setup.py
[testenv:docs]
From dab926cfd86b6dc85f688de59b398ca98320b577 Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Sun, 5 Apr 2020 20:30:43 +0200
Subject: [PATCH 014/276] Add support for Taiwan TIN number
Closes https://github.com/arthurdejong/python-stdnum/pull/214
Closes https://github.com/arthurdejong/python-stdnum/issues/209
---
stdnum/tw/__init__.py | 24 +++++
stdnum/tw/ubn.py | 93 +++++++++++++++++
tests/test_tw_ubn.doctest | 208 ++++++++++++++++++++++++++++++++++++++
3 files changed, 325 insertions(+)
create mode 100644 stdnum/tw/__init__.py
create mode 100644 stdnum/tw/ubn.py
create mode 100644 tests/test_tw_ubn.doctest
diff --git a/stdnum/tw/__init__.py b/stdnum/tw/__init__.py
new file mode 100644
index 00000000..d79cc3db
--- /dev/null
+++ b/stdnum/tw/__init__.py
@@ -0,0 +1,24 @@
+# __init__.py - collection of Taiwanese numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""Collection of Taiwanese numbers."""
+
+# provide aliases
+from stdnum.tw import ubn as vat # noqa: F401
diff --git a/stdnum/tw/ubn.py b/stdnum/tw/ubn.py
new file mode 100644
index 00000000..efae7406
--- /dev/null
+++ b/stdnum/tw/ubn.py
@@ -0,0 +1,93 @@
+# ubn.py - functions for handling Taiwanese UBN numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""UBN (Unified Business Number, 統一編號, Taiwanese tax number).
+
+The Unified Business Number (UBN, 統一編號) is the number assigned to businesses
+within Taiwan for tax (VAT) purposes. The number consists of 8 digits, the
+last being a check digit.
+
+More information:
+
+* https://zh.wikipedia.org/wiki/統一編號
+* https://findbiz.nat.gov.tw/fts/query/QueryBar/queryInit.do?request_locale=en
+
+>>> validate('00501503')
+'00501503'
+>>> validate('00501502')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+>>> validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> format(' 0050150 3 ')
+'00501503'
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation.
+
+ This strips the number of any valid separators and removes surrounding
+ whitespace.
+ """
+ return clean(number, ' -').strip()
+
+
+def calc_checksum(number):
+ """Calculate the checksum over the number."""
+ # convert to numeric first, then sum individual digits
+ weights = (1, 2, 1, 2, 1, 2, 4, 1)
+ number = ''.join(str(w * int(n)) for w, n in zip(weights, number))
+ return sum(int(n) for n in number) % 10
+
+
+def validate(number):
+ """Check if the number is a valid Taiwan UBN number.
+
+ This checks the length, formatting and check digit.
+ """
+ number = compact(number)
+ if len(number) != 8:
+ raise InvalidLength()
+ if not isdigits(number):
+ raise InvalidFormat()
+ checksum = calc_checksum(number)
+ if not (checksum == 0 or (checksum == 9 and number[6] == '7')):
+ raise InvalidChecksum()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid Taiwan UBN number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
+
+
+def format(number):
+ """Reformat the number to the standard presentation format."""
+ return compact(number)
diff --git a/tests/test_tw_ubn.doctest b/tests/test_tw_ubn.doctest
new file mode 100644
index 00000000..127f636d
--- /dev/null
+++ b/tests/test_tw_ubn.doctest
@@ -0,0 +1,208 @@
+test_tw_ubn.doctest - more detailed doctests for stdnum.tw.ubn module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.tw.ubn module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.tw import ubn
+
+
+Tests for some corner cases.
+
+>>> ubn.validate('00277104')
+'00277104'
+>>> ubn.validate(' 0027710-4 ')
+'00277104'
+>>> ubn.format(' 0027710-4 ')
+'00277104'
+>>> ubn.validate('12345')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> ubn.validate('FF277104')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> ubn.validate('00277103')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... 00501503
+... 00508203
+... 00520500
+... 00965067
+... 00992156
+... 01006018
+... 01012715
+... 01013257
+... 01031918
+... 01671049
+... 01819129
+... 02255149
+... 02612809
+... 02695934
+... 02810218
+... 02810370
+... 02810478
+... 02811286
+... 02811574
+... 03729709
+... 03731705
+... 03734203
+... 03734246
+... 03734301
+... 03735202
+... 03737200
+... 03753600
+... 03787502
+... 03807654
+... 04173812
+... 05600361
+... 06313774
+... 06476734
+... 08149429
+... 08551977
+... 09561093
+... 11337775
+... 12800766
+... 14293457
+... 21100531
+... 22822281
+... 24718587
+... 24932469
+... 25329369
+... 27940723
+... 28148905
+... 28674499
+... 29116418
+... 29137568
+... 40407602
+... 45000103
+... 45888690
+... 46804706
+... 46804804
+... 50872698
+... 52011008
+... 52020800
+... 52697649
+... 53020997
+... 53084078
+... 53235414
+... 53412564
+... 54381049
+... 54663032
+... 54664996
+... 55508115
+... 57301337
+... 57302906
+... 58815405
+... 59372104
+... 60004108
+... 60004304
+... 61611307
+... 61611405
+... 61611502
+... 64004306
+... 64967512
+... 66018608
+... 66019206
+... 66019304
+... 69115908
+... 69116202
+... 69116408
+... 69116701
+... 71802305
+... 71803607
+... 71804508
+... 73761420
+... 76001900
+... 77495542
+... 78962740
+... 80158777
+... 84846045
+... 86521248
+... 87402608
+... 87814088
+... 88504104
+... 88507003
+... 89398405
+... 91003907
+... 91004005
+... 91605801
+... 91746936
+... 93504202
+... 93504408
+... 95927022
+... 99033073
+... 99326850
+... 99595290
+... 99595989
+... 99596220
+... 99596468
+... 99651948
+... 99653306
+... 99663965
+... 99665979
+... 99667982
+... 99668027
+... 99668336
+... 99669193
+... 99685399
+... 99688662
+... 99696641
+... 99736030
+... 99745468
+... 99749204
+... 99756176
+... 99757338
+... 99786158
+... 99809976
+... 99830984
+... 99833899
+... 99841053
+... 99842031
+... 99848387
+... 99849512
+... 99853521
+... 99855648
+... 99856230
+... 99861923
+... 99879748
+... 99884812
+... 99892600
+... 99894425
+... 99904177
+... 99924856
+... 99931596
+... 99936918
+... 99937037
+... 99940188
+... 99963479
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not ubn.is_valid(x)]
+[]
From feca1fe4e717ff69d6471119082f4435e16adcae Mon Sep 17 00:00:00 2001
From: evaldez89
Date: Fri, 31 Jul 2020 21:48:03 -0400
Subject: [PATCH 015/276] Scape new line character
Closes https://github.com/arthurdejong/python-stdnum/pull/233
Closes https://github.com/arthurdejong/python-stdnum/issues/232
---
stdnum/do/rnc.py | 2 +-
tests/test_do_rnc.py | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/stdnum/do/rnc.py b/stdnum/do/rnc.py
index 6bac651b..ddc6c3b6 100644
--- a/stdnum/do/rnc.py
+++ b/stdnum/do/rnc.py
@@ -112,7 +112,7 @@ def _convert_result(result): # pragma: no cover
}
return dict(
(translation.get(key, key), value)
- for key, value in json.loads(result.replace('\t', '\\t')).items())
+ for key, value in json.loads(result.replace('\n', '\\n').replace('\t', '\\t')).items())
def check_dgii(number, timeout=30): # pragma: no cover
diff --git a/tests/test_do_rnc.py b/tests/test_do_rnc.py
index fd2336a7..9ea06c93 100644
--- a/tests/test_do_rnc.py
+++ b/tests/test_do_rnc.py
@@ -53,6 +53,10 @@ def test_check_dgii(self):
# Test a number on the whitelist
result = rnc.check_dgii('501658167')
self.assertEqual(result['rnc'], '501658167')
+ # Test the output unescaping (\t and \n) of the result so JSON
+ # deserialisation works
+ result = rnc.check_dgii('132070801')
+ self.assertEqual(result['rnc'], '132070801')
def test_search_dgii(self):
"""Test stdnum.do.rnc.search_dgii()"""
From 51a122db946d3a1db04e9001d0de3c9fc38d2633 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 2 Aug 2020 16:56:42 +0200
Subject: [PATCH 016/276] Remove custom CA certificate for www.ftc.go.kr
This certificate is not needed any more because the site now uses a
different certificate that is signed by a known CA.
---
stdnum/kr/GPKIRootCA1.crt | 21 ---------------------
stdnum/kr/brn.py | 4 +---
2 files changed, 1 insertion(+), 24 deletions(-)
delete mode 100644 stdnum/kr/GPKIRootCA1.crt
diff --git a/stdnum/kr/GPKIRootCA1.crt b/stdnum/kr/GPKIRootCA1.crt
deleted file mode 100644
index 20fc1c78..00000000
--- a/stdnum/kr/GPKIRootCA1.crt
+++ /dev/null
@@ -1,21 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDXTCCAkWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBQMQswCQYDVQQGEwJLUjEc
-MBoGA1UECgwTR292ZXJubWVudCBvZiBLb3JlYTENMAsGA1UECwwER1BLSTEUMBIG
-A1UEAwwLR1BLSVJvb3RDQTEwHhcNMTEwODAzMDY1MjMwWhcNMzEwODAzMDY1MjMw
-WjBQMQswCQYDVQQGEwJLUjEcMBoGA1UECgwTR292ZXJubWVudCBvZiBLb3JlYTEN
-MAsGA1UECwwER1BLSTEUMBIGA1UEAwwLR1BLSVJvb3RDQTEwggEiMA0GCSqGSIb3
-DQEBAQUAA4IBDwAwggEKAoIBAQCh/m8EBbDJhGQyN2+g5dTlsgjtaRKqhgj3gkYK
-BgtuXsXkaTVxbf99AvbN3QE8+WCIaPJUd0091UGmLzaBVyW4ct+iUNrX/FXyzjaf
-bNbbl1nfHhaZhkiOTVQhmY5zuj96evEtJMevnxe6iRADOPWnqp+CxT2IzcSFkQCq
-7L2qn8hU2/LpXUvnAYglJZi8t6Ef+r03P1r8dA5OzZ8yV3qhD1R1wsNQtCzMgwcE
-rFRZhFZYuxpfmS5y0fZW0seeTjcdxHiR3whYI5U6AI7DjdWIrT9Cd9ByV4aevkBh
-qkePPIYGmUPXnnqCkdHdnzkMH0WP9TBhD2jTXZKdcFtTyEJrAgMBAAGjQjBAMB0G
-A1UdDgQWBBR4A+sMjKbTVXWkh7Tr0ZpmD0xzizAOBgNVHQ8BAf8EBAMCAQYwDwYD
-VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEARGJWATwo81x7UEQugNbi
-cL8IWXoV51SZVH3kz49fNUjVoq1n2yzfaMddlblbflDNObp/68DxTlSXCeqFHkgi
-/WvyVHERRECXnF0WeeelI+Q8XdF3IJZLT3u5Ss0VAB2loCuC+4hBWSRQu2WZu2Yk
-s9eBN0x6NmtopRmnf2d6VrcFA+WOgUeTjXiDkG52IaPw0w1uTfmRw5epky5idyY2
-bfJ1JeVUINMJnOWpgLkOH3xxakoD8F1Fbi6C3t7MmKupojUq/toUDms6zTk3DIkc
-wd7PALNWL5U8TxNLoroTHSf/lzaOv3o9KDRa0FQo58bPI7MdbRWE4F3mS/ZIrnv7
-jQ==
------END CERTIFICATE-----
diff --git a/stdnum/kr/brn.py b/stdnum/kr/brn.py
index 652ecf39..3bdea1d7 100644
--- a/stdnum/kr/brn.py
+++ b/stdnum/kr/brn.py
@@ -88,14 +88,12 @@ def format(number):
def check_ftc(number, timeout=30): # pragma: no cover
"""Check the number against the Korea Fair Trade Commission website."""
- from pkg_resources import resource_filename
import lxml.html
import requests
number = compact(number)
url = 'https://www.ftc.go.kr/bizCommPop.do'
- certificate = resource_filename(__name__, 'GPKIRootCA1.crt')
document = lxml.html.fromstring(
- requests.get(url, params={'wrkr_no': number}, timeout=timeout, verify=certificate).text)
+ requests.get(url, params={'wrkr_no': number}, timeout=timeout).text)
data = dict(zip(
[(x.text or '').strip() for x in document.findall('.//th')],
[(x.text or '').strip() for x in document.findall('.//td')]))
From 505521e2341306700958d698b8f73a608e687191 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 2 Aug 2020 17:30:20 +0200
Subject: [PATCH 017/276] Support foreign residents for Romanian CNP
This supports 7 or 8 as first digits in the CNP which are apparently
used to identify foreign residents.
This also changes the exception for an incorrect first digit from
InvalidFormat to InvalidComponent which is a little clearer.
Closes https://github.com/arthurdejong/python-stdnum/issues/230
---
stdnum/ro/cnp.py | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/stdnum/ro/cnp.py b/stdnum/ro/cnp.py
index e6bf8672..9247c9ab 100644
--- a/stdnum/ro/cnp.py
+++ b/stdnum/ro/cnp.py
@@ -1,7 +1,7 @@
# cnp.py - functions for handling Romanian CNP numbers
# coding: utf-8
#
-# Copyright (C) 2012-2019 Arthur de Jong
+# Copyright (C) 2012-2020 Arthur de Jong
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -23,12 +23,16 @@
The CNP is a 13 digit number that includes information on the person's
gender, birth date and country zone.
+More information:
+
+* https://ro.wikipedia.org/wiki/Cod_numeric_personal
+
>>> validate('1630615123457')
'1630615123457'
->>> validate('8800101221144') # invalid first digit
+>>> validate('0800101221142') # invalid first digit
Traceback (most recent call last):
...
-InvalidFormat: ...
+InvalidComponent: ...
>>> validate('1632215123457') # invalid date
Traceback (most recent call last):
...
@@ -52,8 +56,7 @@ def compact(number):
def calc_check_digit(number):
- """Calculate the check digit for personal codes. The number passed
- should not have the check digit included."""
+ """Calculate the check digit for personal codes."""
# note that this algorithm has not been confirmed by an independent source
weights = (2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9)
check = sum(w * int(n) for w, n in zip(weights, number)) % 11
@@ -79,9 +82,12 @@ def validate(number):
"""Check if the number is a valid VAT number. This checks the length,
formatting and check digit."""
number = compact(number)
- # first digit should be a known one (9=foreigner)
- if not isdigits(number) or number[0] not in '1234569':
+ if not isdigits(number):
raise InvalidFormat()
+ # first digit should be a known one
+ # (7,8=foreign resident, 9=other foreigner but apparently only as NIF)
+ if number[0] not in '123456789':
+ raise InvalidComponent()
if len(number) != 13:
raise InvalidLength()
# check if birth date is valid
From 94e2c6373e191e26beee6153ef2f99adcf31cf45 Mon Sep 17 00:00:00 2001
From: Mohammed Salman
Date: Tue, 2 Jun 2020 15:11:05 +0300
Subject: [PATCH 018/276] Add English Unique Tax Reference
Closes https://github.com/arthurdejong/python-stdnum/pull/227
---
stdnum/gb/utr.py | 72 +++++++++++++++++++++++++++++++++++++++
tests/test_gb_utr.doctest | 46 +++++++++++++++++++++++++
2 files changed, 118 insertions(+)
create mode 100644 stdnum/gb/utr.py
create mode 100644 tests/test_gb_utr.doctest
diff --git a/stdnum/gb/utr.py b/stdnum/gb/utr.py
new file mode 100644
index 00000000..958c7230
--- /dev/null
+++ b/stdnum/gb/utr.py
@@ -0,0 +1,72 @@
+# upn.py - functions for handling English UTRs
+#
+# Copyright (C) 2020 Holvi Payment Services
+# Copyright (C) 2020 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""UTR (United Kingdom Unique Taxpayer Reference).
+
+A UTR (unique taxpayer reference) is a 10 digit number used to identify UK
+taxpayers who have to submit a tax return.
+
+More information:
+
+* https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/UK-TIN.pdf
+
+>>> validate('1955839661')
+'1955839661'
+>>> validate('2955839661')
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ..
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean, isdigits
+
+
+def compact(number):
+ """Convert the number to the minimal representation. This strips the
+ number of any valid separators and removes surrounding whitespace."""
+ return clean(number, ' ').upper().strip().lstrip('K')
+
+
+def calc_check_digit(number):
+ """Calculate the check digit for the number. The passed number should not
+ have the check digit (the first one) included."""
+ weights = (6, 7, 8, 9, 10, 5, 4, 3, 2)
+ return '21987654321'[sum(int(n) * w for n, w in zip(number, weights)) % 11]
+
+
+def validate(number):
+ """Check if the number is a valid UTR."""
+ number = compact(number)
+ if not isdigits(number):
+ raise InvalidFormat()
+ if not len(number) == 10:
+ raise InvalidLength()
+ if number[0] != calc_check_digit(number[1:]):
+ raise InvalidChecksum()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid UTR."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
diff --git a/tests/test_gb_utr.doctest b/tests/test_gb_utr.doctest
new file mode 100644
index 00000000..93637cca
--- /dev/null
+++ b/tests/test_gb_utr.doctest
@@ -0,0 +1,46 @@
+test_gb_utr.doctest - more detailed doctests for stdnum.gb.utr module
+
+Copyright (C) 2020 Arthur de Jong
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.gb.utr module. It
+tries to test more corner cases and detailed functionality that is not really
+useful as module documentation.
+
+>>> from stdnum.gb import utr
+
+
+These numbers have been generated but have been confirmed to be correct using
+a different validator (they have not been confirmed to be assigned).
+
+>>> numbers = '''
+...
+... 1234567895
+... 1478641088
+... 1955839661
+... 2172858530
+... 2234567890
+... 4748949890
+... 5179265754
+... 5816619590
+... 8258106771
+... 9624088948
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not utr.is_valid(x)]
+[]
From c2284f322679e9527794aaa81e8fbb57792c5a21 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 2 Aug 2020 17:45:46 +0200
Subject: [PATCH 019/276] Add Romanian Trade Register identifier
Closes https://github.com/arthurdejong/python-stdnum/issues/229
Closes https://github.com/arthurdejong/python-stdnum/pull/234
---
stdnum/ro/onrc.py | 99 ++++++++++++++
tests/test_ro_onrc.doctest | 274 +++++++++++++++++++++++++++++++++++++
2 files changed, 373 insertions(+)
create mode 100644 stdnum/ro/onrc.py
create mode 100644 tests/test_ro_onrc.doctest
diff --git a/stdnum/ro/onrc.py b/stdnum/ro/onrc.py
new file mode 100644
index 00000000..da153e92
--- /dev/null
+++ b/stdnum/ro/onrc.py
@@ -0,0 +1,99 @@
+# onrc.py - functions for handling Romanian ONRC numbers
+# coding: utf-8
+#
+# Copyright (C) 2020 Dimitrios Josef Moustos
+# Copyright (C) 2020 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier).
+
+All businesses in Romania have the to register with the National Trade
+Register Office to receive a registration number. The number contains
+information about the type of company, county, a sequence number and
+registration year.
+
+>>> validate('J52/750/2012')
+'J52/750/2012'
+>>> validate('X52/750/2012')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+"""
+
+import datetime
+import re
+
+from stdnum.exceptions import *
+from stdnum.util import clean
+
+
+# These characters should all be replaced by slashes
+_cleanup_re = re.compile(r'[ /\\-]+')
+
+# This pattern should match numbers that for some reason have a full date
+# as last field
+_onrc_fulldate_re = re.compile(r'^([A-Z][0-9]+/[0-9]+/)\d{2}[.]\d{2}[.](\d{4})$')
+
+# This pattern should match all valid numbers
+_onrc_re = re.compile(r'^[A-Z][0-9]+/[0-9]+/[0-9]+$')
+
+# List of valid counties
+_counties = set(list(range(1, 41)) + [51, 52])
+
+
+def compact(number):
+ """Convert the number to the minimal representation. This strips the
+ number of any valid separators and removes surrounding whitespace."""
+ number = _cleanup_re.sub('/', clean(number).upper().strip())
+ # remove optional slash between first letter and county digits
+ if number[1:2] == '/':
+ number = number[:1] + number[2:]
+ # normalise county number to two digits
+ if number[2:3] == '/':
+ number = number[:1] + '0' + number[1:]
+ # convert trailing full date to year only
+ m = _onrc_fulldate_re.match(number)
+ if m:
+ number = ''.join(m.groups())
+ return number
+
+
+def validate(number):
+ """Check if the number is a valid ONRC."""
+ number = compact(number)
+ if not _onrc_re.match(number):
+ raise InvalidFormat()
+ if number[:1] not in 'JFC':
+ raise InvalidComponent()
+ county, serial, year = number[1:].split('/')
+ if len(serial) > 5:
+ raise InvalidLength()
+ if len(county) not in (1, 2) or int(county) not in _counties:
+ raise InvalidComponent()
+ if len(year) != 4:
+ raise InvalidLength()
+ if int(year) < 1990 or int(year) > datetime.date.today().year:
+ raise InvalidComponent()
+ return number
+
+
+def is_valid(number):
+ """Check if the number is a valid ONRC."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
diff --git a/tests/test_ro_onrc.doctest b/tests/test_ro_onrc.doctest
new file mode 100644
index 00000000..6b47a5fd
--- /dev/null
+++ b/tests/test_ro_onrc.doctest
@@ -0,0 +1,274 @@
+test_ro_onrc.doctest - more detailed doctests for the stdnum.ro.onrc module
+
+Copyright (C) 2020 Arthur de Jong
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.ro.onrc module.
+
+>>> from stdnum.ro import onrc
+>>> from stdnum.exceptions import *
+
+
+Test some corner cases.
+
+>>> onrc.validate('J/52/750/2012')
+'J52/750/2012'
+>>> onrc.validate('J52/750/22.11.2012') # valid, strip date, leave year
+'J52/750/2012'
+>>> onrc.validate('J 52 / 750 / 2012')
+'J52/750/2012'
+>>> onrc.validate('F 26 1132/2007')
+'F26/1132/2007'
+>>> onrc.validate('J22-1515-2007')
+'J22/1515/2007'
+>>> onrc.validate('X52/750/2012') # fist letter invalid
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> onrc.validate('J52/100000/2012') # second number too large
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> onrc.validate('J 52 / 750 / 200') # year too short
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> onrc.validate('J/2/750/2012') # county is normalised to two digits
+'J02/750/2012'
+>>> onrc.validate('J49/750/2012') # invalid county
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> onrc.validate('J002 /123 /2015') # invalid county
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> onrc.validate('J/52/750/2112') # year in the future
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+
+
+These have been found online and should all be valid numbers.
+
+>>> numbers = '''
+...
+... C04/32/2005
+... C22/4/2018
+... C30/2/2009
+... F01 /592 /2013
+... F01/1477/2011
+... F04/876/2004
+... F05/696/2006
+... F06/340/2011
+... F07/176/2010
+... F07/477/2003
+... F08/1095/2005
+... F10/841/2012
+... F11/78/2012
+... F12/617/2011
+... F13/1917/2005
+... F14/217/2013
+... F14/218/2016
+... F18/1032/2011
+... F20/491/2013
+... F30/98/2008
+... F31/786/2011
+... F32/639/2013
+... F36/64/2008
+... F37/832/2013
+... F40/682/2004
+... F5/1055/2013
+... F5/2659/2013
+... F5/550/2012
+... F5/678/2013
+... F6/496/2015
+... F8/1302/2013
+... F8/672/2012
+... J 01/585/2002
+... J 40/1323/2005
+... J01/173/2004
+... J01/568/2015
+... J02/1253/2008
+... J02/143/2011
+... J02/169/01.02.2006
+... J02/238/2012
+... J02/310/2004
+... J03/1336/2007
+... J03/179/2004
+... J03/2299/1992
+... J03/442/2002
+... J03/630/2002
+... J03/803/2009
+... J03/920/2002
+... J04/368/2006
+... J04/822/1994
+... J05/1117/2004
+... J05/1464/2011
+... J05/1729/09.09.1991
+... J05/256/2010
+... J05/5114/1994
+... J05/582/2011
+... J06/1282/1994
+... J06/307/2009
+... J06/330/2003
+... J06/52/2001
+... J06/837/2008
+... J07/147/2001
+... J07/208/1998
+... J08/1233/2005
+... J08/1617/1997
+... J08/1716/1997
+... J08/215/27.02.1998
+... J08/2679/2008
+... J08/2720/2007
+... J08/545/2001
+... J08/61/2010
+... J08/68/2003
+... J08/926/2008
+... J09/2118/1994
+... J1/384/13.05.2015
+... J1/398/2005
+... J1/499/2012
+... J1/628/2016
+... J10/460/2012
+... J12/1103/2003
+... J12/1366/2003
+... J12/1701/16.10.1996
+... J12/1811/2002
+... J12/1816/2007
+... J12/1932/1993
+... J12/2322/2002
+... J12/2553/1992
+... J12/3388/2016
+... J12/3828/16.06.2017
+... J12/4365/2006
+... J12/487/2012
+... J12/573/2010
+... J12/595/1991
+... J12/633/2012
+... J12/850/2014
+... J13/197/2012
+... J13/2949/1991
+... J13/529/2006
+... J13/60/2005
+... J13/674/2016
+... J15/1279/1993
+... J15/680/2005
+... J16/1148/2005
+... J16/1930/2013
+... J16/2036/2011
+... J17/1241/1992
+... J17/2697/1992
+... J17/861/2012
+... J18/583/2015
+... J18/877/2006
+... J19/230/2007
+... J19/55/2002
+... J20/2034/1993
+... J21/512/2016
+... J21/565/1992
+... J22/1249/2012
+... J22/1774/2008
+... J22/3673/1994
+... J22/874/1996
+... J22/930/2016
+... J23/134/27.01.2006
+... J23/1657/14.06.2012
+... J23/461/2009
+... J23/4802/2017
+... J23/864/2017
+... J24/1082/2015
+... J24/246/2005
+... J24/908/2006
+... J26/1077/2008
+... J29/264/2014
+... J30/428/1993
+... J30/477/2014
+... J30/482/2014
+... J30/722/08.08.2016
+... J30/734/2014
+... J30/855/1993
+... J30/99/2009
+... J31 / 248 / 1994
+... J32/2241/1994
+... J32/331/2011
+... J32/631/2013
+... J33/277/2011
+... J33/451/2012
+... J35/1056/2008
+... J35/48/2013
+... J35/625/2003
+... J36/25/2001
+... J36/284/2017
+... J36/369/2015
+... J36/637/2018
+... J36/691/2008
+... J37/384/2009
+... J38/163/23.02.2006
+... J39 /771 /2005
+... J40/10944/2006
+... J40/11566/2011
+... J40/11591/2003
+... J40/11591/2009
+... J40/1293/23.10.2014
+... J40/13920/2003
+... J40/1472/1992
+... J40/1498/2010
+... J40/1667/2010
+... J40/17202/2006
+... J40/19473/2006
+... J40/19754/2007
+... J40/20281/2004
+... J40/23948/14.12.1994
+... J40/24874/1994
+... J40/2810/2017
+... J40/2867/2004
+... J40/3758/2008
+... J40/3905/30.03.2015
+... J40/4206/2008
+... J40/4463/2008
+... J40/4502/2011
+... J40/467/1998
+... J40/5139/1998
+... J40/7613/2003
+... J40/7888/1999
+... J40/8005/1995
+... J40/8577/2006
+... J40/8633/2013
+... J40/8910/2007
+... J40/8998/2010
+... J40/9712/2008
+... J5/1243/2016
+... J5/2916/03.09.1993
+... J51/159/2016
+... J51/229/2011
+... J51/74/2009
+... J52/128/2014
+... J52/474/1994
+... J52/60/2004
+... J6/974/2016
+... J7/2/2005
+... j05/1455/2012
+... j30/61/2010
+... j39/151/2019
+... j40/3674/2002
+...
+... '''
+>>> [x for x in numbers.splitlines() if x and not onrc.is_valid(x)]
+[]
From 180788af207f394e38b458ad14fb68f4853f4a9a Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sat, 8 Aug 2020 15:44:08 +0200
Subject: [PATCH 020/276] Add GS1-128 format
This adds validation, parsing and encoding functions for GS1-128. It is
based on the lists of formats as published by the GS1 organisation.
Based on the implementation provided by Sergi Almacellas Abellana
.
Closes https://github.com/arthurdejong/python-stdnum/pull/144
---
stdnum/gs1_128.py | 269 +++++++++++++++++++++++++++++++++++++
stdnum/gs1_ai.dat | 170 +++++++++++++++++++++++
tests/test_gs1_128.doctest | 148 ++++++++++++++++++++
update/gs1_ai.py | 82 +++++++++++
4 files changed, 669 insertions(+)
create mode 100644 stdnum/gs1_128.py
create mode 100644 stdnum/gs1_ai.dat
create mode 100644 tests/test_gs1_128.doctest
create mode 100755 update/gs1_ai.py
diff --git a/stdnum/gs1_128.py b/stdnum/gs1_128.py
new file mode 100644
index 00000000..aee11d27
--- /dev/null
+++ b/stdnum/gs1_128.py
@@ -0,0 +1,269 @@
+# gs1_128.py - functions for handling GS1-128 codes
+#
+# Copyright (C) 2019 Sergi Almacellas Abellana
+# Copyright (C) 2020 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""GS1-128 (Standard to encode product information in Code 128 barcodes).
+
+The GS1-128 (also called EAN-128, UCC/EAN-128 or UCC-128) is an international
+standard for embedding data such as best before dates, weights, etc. with
+Application Identifiers (AI).
+
+The GS1-128 standard is used as a product identification code on bar codes.
+It embeds data with Application Identifiers (AI) that defines the kind of
+data, the type and length. The standard is also known as UCC/EAN-128, UCC-128
+and EAN-128.
+
+GS1-128 is a subset of Code 128 symbology.
+
+More information:
+
+* https://en.wikipedia.org/wiki/GS1-128
+* https://www.gs1.org/standards/barcodes/application-identifiers
+* https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf
+
+>>> compact('(01)38425876095074(17)181119(37)1 ')
+'013842587609507417181119371'
+>>> encode({'01': '38425876095074'})
+'0138425876095074'
+>>> info('0138425876095074')
+{'01': '38425876095074'}
+>>> validate('(17)181119(01)38425876095074(37)1')
+'013842587609507417181119371'
+"""
+
+import datetime
+import decimal
+import re
+
+from stdnum import numdb
+from stdnum.exceptions import *
+from stdnum.util import clean
+
+
+# our open copy of the application identifier database
+_gs1_aidb = numdb.get('gs1_ai')
+
+
+# Extra validation modules based on the application identifier
+_ai_validators = {
+ '01': 'stdnum.ean',
+ '02': 'stdnum.ean',
+ '8007': 'stdnum.iban',
+}
+
+
+def compact(number):
+ """Convert the GS1-128 to the minimal representation.
+
+ This strips the number of any valid separators and removes surrounding
+ whitespace. For a more consistent compact representation use
+ :func:`validate()`.
+ """
+ return clean(number, '()').strip()
+
+
+def _encode_value(fmt, _type, value):
+ """Encode the specified value given the format and type."""
+ if _type == 'decimal':
+ if isinstance(value, (list, tuple)) and fmt.startswith('N3+'):
+ number = _encode_value(fmt[3:], _type, value[1])
+ return number[0] + value[0].rjust(3, '0') + number[1:]
+ value = str(value)
+ if fmt.startswith('N..'):
+ length = int(fmt[3:])
+ value = value[:length + 1]
+ number, digits = (value.split('.') + [''])[:2]
+ digits = digits[:9]
+ return str(len(digits)) + number + digits
+ else:
+ length = int(fmt[1:])
+ value = value[:length + 1]
+ number, digits = (value.split('.') + [''])[:2]
+ digits = digits[:9]
+ return str(len(digits)) + (number + digits).rjust(length, '0')
+ elif _type == 'date':
+ if isinstance(value, (list, tuple)) and fmt == 'N6..12':
+ return '%s%s' % (
+ _encode_value('N6', _type, value[0]),
+ _encode_value('N6', _type, value[1]))
+ elif isinstance(value, datetime.date):
+ if fmt == 'N10':
+ return value.strftime('%y%m%d%H%M')
+ elif fmt == 'N8+N..4':
+ value = datetime.datetime.strftime(value, '%y%m%d%H%M%S')
+ if value.endswith('00'):
+ value = value[:-2]
+ if value.endswith('00'):
+ value = value[:-2]
+ return value
+ return value.strftime('%y%m%d')
+ return str(value)
+
+
+def _max_length(fmt, _type):
+ """Determine the maximum length based on the format ad type."""
+ length = sum(int(re.match(r'^[NXY][0-9]*?[.]*([0-9]+)$', x).group(1)) for x in fmt.split('+'))
+ if _type == 'decimal':
+ length += 1
+ return length
+
+
+def _pad_value(fmt, _type, value):
+ """Pad the value to the maximum length for the format."""
+ if _type in ('decimal', 'int'):
+ return value.rjust(_max_length(fmt, _type), '0')
+ return value.ljust(_max_length(fmt, _type))
+
+
+def _decode_value(fmt, _type, value):
+ """Decode the specified value given the fmt and type."""
+ if _type == 'decimal':
+ if fmt.startswith('N3+'):
+ return (value[1:4], _decode_value(fmt[3:], _type, value[0] + value[4:]))
+ digits = int(value[0])
+ value = value[1:]
+ if digits:
+ value = value[:-digits] + '.' + value[-digits:]
+ return decimal.Decimal(value)
+ elif _type == 'date':
+ if fmt == 'N8+N..4':
+ return datetime.datetime.strptime(value, '%y%m%d%H%M%S'[:len(value)])
+ elif len(value) == 10:
+ return datetime.datetime.strptime(value, '%y%m%d%H%M')
+ elif len(value) == 12:
+ return (_decode_value(fmt, _type, value[:6]), _decode_value(fmt, _type, value[6:]))
+ return datetime.datetime.strptime(value, '%y%m%d').date()
+ elif _type == 'int':
+ return int(value)
+ return value.strip()
+
+
+def info(number, separator=''):
+ """Return a dictionary containing the information from the GS1-128 code.
+
+ The returned dictionary maps application identifiers to values with the
+ appropriate type (`str`, `int`, `Decimal`, `datetime.date` or
+ `datetime.datetime`).
+
+ If a `separator` is provided it will be used as FNC1 to determine the end
+ of variable-sized values.
+ """
+ number = compact(number)
+ data = {}
+ identifier = ''
+ # skip separator
+ if separator and number.startswith(separator):
+ number = number[len(separator):]
+ while number:
+ # extract the application identifier
+ ai, info = _gs1_aidb.info(number)[0]
+ if not info or not number.startswith(ai):
+ raise InvalidComponent()
+ number = number[len(ai):]
+ # figure out the value part
+ value = number[:_max_length(info['format'], info['type'])]
+ if separator and info.get('fnc1', False):
+ idx = number.find(separator)
+ if idx > 0:
+ value = number[:idx]
+ number = number[len(value):]
+ # validate the value if we have a custom module for it
+ if ai in _ai_validators:
+ mod = __import__(_ai_validators[ai], globals(), locals(), ['validate'])
+ mod.validate(value)
+ # convert the number
+ data[ai] = _decode_value(info['format'], info['type'], value)
+ # skip separator
+ if separator and number.startswith(separator):
+ number = number[len(separator):]
+ return data
+
+
+def encode(data, separator='', parentheses=False):
+ """Generate a GS1-128 for the application identifiers supplied.
+
+ The provided dictionary is expected to map application identifiers to
+ values. The supported value types and formats depend on the application
+ identifier.
+
+ If a `separator` is provided it will be used as FNC1 representation,
+ otherwise variable-sized values will be expanded to their maximum size
+ with appropriate padding.
+
+ If `parentheses` is set the application identifiers will be surrounded
+ by parentheses for readability.
+ """
+ ai_fmt = '(%s)' if parentheses else '%s'
+ # we keep items sorted and keep fixed-sized values separate tot output
+ # them first
+ fixed_values = []
+ variable_values = []
+ for inputai, value in sorted(data.items()):
+ ai, info = _gs1_aidb.info(inputai)[0]
+ if not info:
+ raise InvalidComponent()
+ # validate the value if we have a custom module for it
+ if ai in _ai_validators:
+ mod = __import__(_ai_validators[ai], globals(), locals(), ['validate'])
+ mod.validate(value)
+ value = _encode_value(info['format'], info['type'], value)
+ # store variable-sized values separate from fixed-size values
+ if info.get('fnc1', False):
+ variable_values.append((ai_fmt % ai, info['format'], info['type'], value))
+ else:
+ fixed_values.append(ai_fmt % ai + value)
+ # we need the separator for all but the last variable-sized value
+ # (or pad values if we don't have a separator)
+ return ''.join(
+ fixed_values + [
+ ai + (value if separator else _pad_value(fmt, _type, value)) + separator
+ for ai, fmt, _type, value in variable_values[:-1]
+ ] + [
+ ai + value
+ for ai, fmt, _type, value in variable_values[-1:]
+ ])
+
+
+def validate(number, separator=''):
+ """Check if the number provided is a valid GS1-128.
+
+ This checks formatting of the number and values and returns a stable
+ representation.
+
+ If a separator is provided it will be used as FNC1 for both parsing the
+ provided number and for encoding the returned number.
+ """
+ try:
+ return encode(info(number, separator), separator)
+ except ValidationError:
+ raise
+ except Exception:
+ # We wrap all other exceptions to ensure that we only return
+ # exceptions that are a subclass of ValidationError
+ # (the info() and encode() functions expect some semblance of valid
+ # input)
+ raise InvalidFormat()
+
+
+def is_valid(number, separator=''):
+ """Check if the number provided is a valid GS1-128."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
diff --git a/stdnum/gs1_ai.dat b/stdnum/gs1_ai.dat
new file mode 100644
index 00000000..0b1ae6c2
--- /dev/null
+++ b/stdnum/gs1_ai.dat
@@ -0,0 +1,170 @@
+# generated from https://www.gs1.org/standards/barcodes/application-identifiers
+# on 2020-07-12 19:36:00.576283
+00 format="N18" type="str" name="SSCC" description="Serial Shipping Container Code (SSCC)"
+01 format="N14" type="str" name="GTIN" description="Global Trade Item Number (GTIN)"
+02 format="N14" type="str" name="CONTENT" description="GTIN of contained trade items"
+10 format="X..20" type="str" fnc1="1" name="BATCH/LOT" description="Batch or lot number"
+11 format="N6" type="date" name="PROD DATE" description="Production date (YYMMDD)"
+12 format="N6" type="date" name="DUE DATE" description="Due date (YYMMDD)"
+13 format="N6" type="date" name="PACK DATE" description="Packaging date (YYMMDD)"
+15 format="N6" type="date" name="BEST BEFORE or BEST BY" description="Best before date (YYMMDD)"
+16 format="N6" type="date" name="SELL BY" description="Sell by date (YYMMDD)"
+17 format="N6" type="date" name="USE BY OR EXPIRY" description="Expiration date (YYMMDD)"
+20 format="N2" type="str" name="VARIANT" description="Internal product variant"
+21 format="X..20" type="str" fnc1="1" name="SERIAL" description="Serial number"
+22 format="X..20" type="str" fnc1="1" name="CPV" description="Consumer product variant"
+235 format="X..28" type="str" fnc1="1" name="TPX" description="Third Party Controlled, Serialised Extension of GTIN (TPX)"
+240 format="X..30" type="str" fnc1="1" name="ADDITIONAL ID" description="Additional product identification assigned by the manufacturer"
+241 format="X..30" type="str" fnc1="1" name="CUST. PART NO." description="Customer part number"
+242 format="N..6" type="str" fnc1="1" name="MTO VARIANT" description="Made-to-Order variation number"
+243 format="X..20" type="str" fnc1="1" name="PCN" description="Packaging component number"
+250 format="X..30" type="str" fnc1="1" name="SECONDARY SERIAL" description="Secondary serial number"
+251 format="X..30" type="str" fnc1="1" name="REF. TO SOURCE" description="Reference to source entity"
+253 format="N13+X..17" type="str" fnc1="1" name="GDTI" description="Global Document Type Identifier (GDTI)"
+254 format="X..20" type="str" fnc1="1" name="GLN EXTENSION COMPONENT" description="GLN extension component"
+255 format="N13+N..12" type="str" fnc1="1" name="GCN" description="Global Coupon Number (GCN)"
+30 format="N..8" type="int" fnc1="1" name="VAR. COUNT" description="Variable count of items (variable measure trade item)"
+310 format="N6" type="decimal" name="NET WEIGHT (kg)" description="Net weight, kilograms (variable measure trade item)"
+311 format="N6" type="decimal" name="LENGTH (m)" description="Length or first dimension, metres (variable measure trade item)"
+312 format="N6" type="decimal" name="WIDTH (m)" description="Width, diameter, or second dimension, metres (variable measure trade item)"
+313 format="N6" type="decimal" name="HEIGHT (m)" description="Depth, thickness, height, or third dimension, metres (variable measure trade item)"
+314 format="N6" type="decimal" name="AREA (m2 )" description="Area, square metres (variable measure trade item)"
+315 format="N6" type="decimal" name="NET VOLUME (l)" description="Net volume, litres (variable measure trade item)"
+316 format="N6" type="decimal" name="NET VOLUME (m3 )" description="Net volume, cubic metres (variable measure trade item)"
+320 format="N6" type="decimal" name="NET WEIGHT (lb)" description="Net weight, pounds (variable measure trade item)"
+321 format="N6" type="decimal" name="LENGTH (in)" description="Length or first dimension, inches (variable measure trade item)"
+322 format="N6" type="decimal" name="LENGTH (ft)" description="Length or first dimension, feet (variable measure trade item)"
+323 format="N6" type="decimal" name="LENGTH (yd)" description="Length or first dimension, yards (variable measure trade item)"
+324 format="N6" type="decimal" name="WIDTH (in)" description="Width, diameter, or second dimension, inches (variable measure trade item)"
+325 format="N6" type="decimal" name="WIDTH (ft)" description="Width, diameter, or second dimension, feet (variable measure trade item)"
+326 format="N6" type="decimal" name="WIDTH (yd)" description="Width, diameter, or second dimension, yards (variable measure trade item)"
+327 format="N6" type="decimal" name="HEIGHT (in)" description="Depth, thickness, height, or third dimension, inches (variable measure trade item)"
+328 format="N6" type="decimal" name="HEIGHT (ft)" description="Depth, thickness, height, or third dimension, feet (variable measure trade item)"
+329 format="N6" type="decimal" name="HEIGHT (yd)" description="Depth, thickness, height, or third dimension, yards (variable measure trade item)"
+330 format="N6" type="decimal" name="GROSS WEIGHT (kg)" description="Logistic weight, kilograms"
+331 format="N6" type="decimal" name="LENGTH (m), log" description="Length or first dimension, metres"
+332 format="N6" type="decimal" name="WIDTH (m), log" description="Width, diameter, or second dimension, metres"
+333 format="N6" type="decimal" name="HEIGHT (m), log" description="Depth, thickness, height, or third dimension, metres"
+334 format="N6" type="decimal" name="AREA (m2 ), log" description="Area, square metres"
+335 format="N6" type="decimal" name="VOLUME (l), log" description="Logistic volume, litres"
+336 format="N6" type="decimal" name="VOLUME (m3 ), log" description="Logistic volume, cubic metres"
+337 format="N6" type="decimal" name="KG PER m2 " description="Kilograms per square metre"
+340 format="N6" type="decimal" name="GROSS WEIGHT (lb)" description="Logistic weight, pounds"
+341 format="N6" type="decimal" name="LENGTH (in), log" description="Length or first dimension, inches"
+342 format="N6" type="decimal" name="LENGTH (ft), log" description="Length or first dimension, feet"
+343 format="N6" type="decimal" name="LENGTH (yd), log" description="Length or first dimension, yards"
+344 format="N6" type="decimal" name="WIDTH (in), log" description="Width, diameter, or second dimension, inches"
+345 format="N6" type="decimal" name="WIDTH (ft), log" description="Width, diameter, or second dimension, feet"
+346 format="N6" type="decimal" name="WIDTH (yd), log" description="Width, diameter, or second dimension, yard"
+347 format="N6" type="decimal" name="HEIGHT (in), log" description="Depth, thickness, height, or third dimension, inches"
+348 format="N6" type="decimal" name="HEIGHT (ft), log" description="Depth, thickness, height, or third dimension, feet"
+349 format="N6" type="decimal" name="HEIGHT (yd), log" description="Depth, thickness, height, or third dimension, yards"
+350 format="N6" type="decimal" name="AREA (in2 )" description="Area, square inches (variable measure trade item)"
+351 format="N6" type="decimal" name="AREA (ft2 )" description="Area, square feet (variable measure trade item)"
+352 format="N6" type="decimal" name="AREA (yd2 )" description="Area, square yards (variable measure trade item)"
+353 format="N6" type="decimal" name="AREA (in2 ), log" description="Area, square inches"
+354 format="N6" type="decimal" name="AREA (ft2 ), log" description="Area, square feet"
+355 format="N6" type="decimal" name="AREA (yd2 ), log" description="Area, square yards"
+356 format="N6" type="decimal" name="NET WEIGHT (t oz)" description="Net weight, troy ounces (variable measure trade item)"
+357 format="N6" type="decimal" name="NET VOLUME (oz)" description="Net weight (or volume), ounces (variable measure trade item)"
+360 format="N6" type="decimal" name="NET VOLUME (qt)" description="Net volume, quarts (variable measure trade item)"
+361 format="N6" type="decimal" name="NET VOLUME (gal.)" description="Net volume, gallons U.S. (variable measure trade item)"
+362 format="N6" type="decimal" name="VOLUME (qt), log" description="Logistic volume, quarts"
+363 format="N6" type="decimal" name="VOLUME (gal.), log" description="Logistic volume, gallons U.S."
+364 format="N6" type="decimal" name="VOLUME (in3 )" description="Net volume, cubic inches (variable measure trade item)"
+365 format="N6" type="decimal" name="VOLUME (ft3 )" description="Net volume, cubic feet (variable measure trade item)"
+366 format="N6" type="decimal" name="VOLUME (yd3 )" description="Net volume, cubic yards (variable measure trade item)"
+367 format="N6" type="decimal" name="VOLUME (in3 ), log" description="Logistic volume, cubic inches"
+368 format="N6" type="decimal" name="VOLUME (ft3 ), log" description="Logistic volume, cubic feet"
+369 format="N6" type="decimal" name="VOLUME (yd3 ), log" description="Logistic volume, cubic yards"
+37 format="N..8" type="int" fnc1="1" name="COUNT" description="Count of trade items or trade item pieces contained in a logistic unit"
+390 format="N..15" type="decimal" fnc1="1" name="AMOUNT" description="Applicable amount payable or Coupon value, local currency"
+391 format="N3+N..15" type="decimal" fnc1="1" name="AMOUNT" description="Applicable amount payable with ISO currency code"
+392 format="N..15" type="decimal" fnc1="1" name="PRICE" description="Applicable amount payable, single monetary area (variable measure trade item)"
+393 format="N3+N..15" type="decimal" fnc1="1" name="PRICE" description="Applicable amount payable with ISO currency code (variable measure trade item)"
+394 format="N4" type="decimal" fnc1="1" name="PRCNT OFF" description="Percentage discount of a coupon"
+400 format="X..30" type="str" fnc1="1" name="ORDER NUMBER" description="Customers purchase order number"
+401 format="X..30" type="str" fnc1="1" name="GINC" description="Global Identification Number for Consignment (GINC)"
+402 format="N17" type="str" fnc1="1" name="GSIN" description="Global Shipment Identification Number (GSIN)"
+403 format="X..30" type="str" fnc1="1" name="ROUTE" description="Routing code"
+410 format="N13" type="str" name="SHIP TO LOC" description="Ship to - Deliver to Global Location Number"
+411 format="N13" type="str" name="BILL TO" description="Bill to - Invoice to Global Location Number"
+412 format="N13" type="str" name="PURCHASE FROM" description="Purchased from Global Location Number"
+413 format="N13" type="str" name="SHIP FOR LOC" description="Ship for - Deliver for - Forward to Global Location Number"
+414 format="N13" type="str" name="LOC No" description="Identification of a physical location - Global Location Number"
+415 format="N13" type="str" name="PAY TO" description="Global Location Number of the invoicing party"
+416 format="N13" type="str" name="PROD/SERV LOC" description="GLN of the production or service location"
+417 format="N13" type="str" name="PARTY" description="Party GLN"
+420 format="X..20" type="str" fnc1="1" name="SHIP TO POST" description="Ship to - Deliver to postal code within a single postal authority"
+421 format="N3+X..9" type="str" fnc1="1" name="SHIP TO POST" description="Ship to - Deliver to postal code with ISO country code"
+422 format="N3" type="int" fnc1="1" name="ORIGIN" description="Country of origin of a trade item"
+423 format="N3+N..12" type="str" fnc1="1" name="COUNTRY - INITIAL PROCESS." description="Country of initial processing"
+424 format="N3" type="int" fnc1="1" name="COUNTRY - PROCESS." description="Country of processing"
+425 format="N3+N..12" type="str" fnc1="1" name="COUNTRY - DISASSEMBLY" description="Country of disassembly"
+426 format="N3" type="int" fnc1="1" name="COUNTRY - FULL PROCESS" description="Country covering full process chain"
+427 format="X..3" type="str" fnc1="1" name="ORIGIN SUBDIVISION" description="Country subdivision Of origin"
+7001 format="N13" type="str" fnc1="1" name="NSN" description="NATO Stock Number (NSN)"
+7002 format="X..30" type="str" fnc1="1" name="MEAT CUT" description="UN/ECE meat carcasses and cuts classification"
+7003 format="N10" type="date" fnc1="1" name="EXPIRY TIME" description="Expiration date and time"
+7004 format="N..4" type="str" fnc1="1" name="ACTIVE POTENCY" description="Active potency"
+7005 format="X..12" type="str" fnc1="1" name="CATCH AREA" description="Catch area"
+7006 format="N6" type="date" fnc1="1" name="FIRST FREEZE DATE" description="First freeze date"
+7007 format="N6..12" type="date" fnc1="1" name="HARVEST DATE" description="Harvest date"
+7008 format="X..3" type="str" fnc1="1" name="AQUATIC SPECIES" description="Species for fishery purposes"
+7009 format="X..10" type="str" fnc1="1" name="FISHING GEAR TYPE" description="Fishing gear type"
+7010 format="X..2" type="str" fnc1="1" name="PROD METHOD" description="Production method"
+7020 format="X..20" type="str" fnc1="1" name="REFURB LOT" description="Refurbishment lot ID"
+7021 format="X..20" type="str" fnc1="1" name="FUNC STAT" description="Functional status"
+7022 format="X..20" type="str" fnc1="1" name="REV STAT" description="Revision status"
+7023 format="X..30" type="str" fnc1="1" name="GIAI - ASSEMBLY" description="Global Individual Asset Identifier (GIAI) of an assembly"
+7030 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 0" description="Number of processor with ISO Country Code"
+7031 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 1" description="Number of processor with ISO Country Code"
+7032 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 2" description="Number of processor with ISO Country Code"
+7033 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 3" description="Number of processor with ISO Country Code"
+7034 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 4" description="Number of processor with ISO Country Code"
+7035 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 5" description="Number of processor with ISO Country Code"
+7036 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 6" description="Number of processor with ISO Country Code"
+7037 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 7" description="Number of processor with ISO Country Code"
+7038 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 8" description="Number of processor with ISO Country Code"
+7039 format="N3+X..27" type="str" fnc1="1" name="PROCESSOR # 9" description="Number of processor with ISO Country Code"
+7040 format="N1+X3" type="str" fnc1="1" name="UIC+EXT" description="GS1 UIC with Extension 1 and Importer index"
+710 format="X..20" type="str" fnc1="1" name="NHRN PZN" description="National Healthcare Reimbursement Number (NHRN) - Germany PZN"
+711 format="X..20" type="str" fnc1="1" name="NHRN CIP" description="National Healthcare Reimbursement Number (NHRN) - France CIP"
+712 format="X..20" type="str" fnc1="1" name="NHRN CN" description="National Healthcare Reimbursement Number (NHRN) - Spain CN"
+713 format="X..20" type="str" fnc1="1" name="NHRN DRN" description="National Healthcare Reimbursement Number (NHRN) - Brasil DRN"
+714 format="X..20" type="str" fnc1="1" name="NHRN AIM" description="National Healthcare Reimbursement Number (NHRN) - Portugal AIM"
+7230 format="X2+X..28" type="str" fnc1="1" name="CERT #1" description="Certification reference"
+7231 format="X2+X..28" type="str" fnc1="1" name="CERT #2" description="Certification reference"
+7232 format="X2+X..28" type="str" fnc1="1" name="CERT #3" description="Certification reference"
+7233 format="X2+X..28" type="str" fnc1="1" name="CERT #4" description="Certification reference"
+7234 format="X2+X..28" type="str" fnc1="1" name="CERT #5" description="Certification reference"
+7235 format="X2+X..28" type="str" fnc1="1" name="CERT #6" description="Certification reference"
+7236 format="X2+X..28" type="str" fnc1="1" name="CERT #7" description="Certification reference"
+7237 format="X2+X..28" type="str" fnc1="1" name="CERT #8" description="Certification reference"
+7238 format="X2+X..28" type="str" fnc1="1" name="CERT #9" description="Certification reference"
+7239 format="X2+X..28" type="str" fnc1="1" name="CERT #10" description="Certification reference"
+7240 format="X..20" type="str" fnc1="1" name="PROTOCOL" description="Protocol ID"
+8001 format="N14" type="str" fnc1="1" name="DIMENSIONS" description="Roll products (width, length, core diameter, direction, splices)"
+8002 format="X..20" type="str" fnc1="1" name="CMT No" description="Cellular mobile telephone identifier"
+8003 format="N14+X..16" type="str" fnc1="1" name="GRAI" description="Global Returnable Asset Identifier (GRAI)"
+8004 format="X..30" type="str" fnc1="1" name="GIAI" description="Global Individual Asset Identifier (GIAI)"
+8005 format="N6" type="str" fnc1="1" name="PRICE PER UNIT" description="Price per unit of measure"
+8006 format="N14+N2+N2" type="str" fnc1="1" name="ITIP" description="Identification of an individual trade item piece"
+8007 format="X..34" type="str" fnc1="1" name="IBAN" description="International Bank Account Number (IBAN)"
+8008 format="N8+N..4" type="date" fnc1="1" name="PROD TIME" description="Date and time of production"
+8009 format="X..50" type="str" fnc1="1" name="OPTSEN" description="Optically Readable Sensor Indicator"
+8010 format="Y..30" type="str" fnc1="1" name="CPID" description="Component/Part Identifier (CPID)"
+8011 format="N..12" type="str" fnc1="1" name="CPID SERIAL" description="Component/Part Identifier serial number (CPID SERIAL)"
+8012 format="X..20" type="str" fnc1="1" name="VERSION" description="Software version"
+8013 format="X..30" type="str" fnc1="1" name="GMN (for medical devices, the default, global data title is BUDI-DI)" description="Global Model Number (GMN)"
+8017 format="N18" type="str" fnc1="1" name="GSRN - PROVIDER" description="Global Service Relation Number to identify the relationship between an organisation offering services and the provider of services"
+8018 format="N18" type="str" fnc1="1" name="GSRN - RECIPIENT" description="Global Service Relation Number to identify the relationship between an organisation offering services and the recipient of services"
+8019 format="N..10" type="str" fnc1="1" name="SRIN" description="Service Relation Instance Number (SRIN)"
+8020 format="X..25" type="str" fnc1="1" name="REF No" description="Payment slip reference number"
+8026 format="N14+N2+N2" type="str" fnc1="1" name="ITIP CONTENT" description="Identification of pieces of a trade item (ITIP) contained in a logistic unit"
+8110 format="X..70" type="str" fnc1="1" name="" description="Coupon code identification for use in North America"
+8111 format="N4" type="str" fnc1="1" name="POINTS" description="Loyalty points of a coupon"
+8112 format="X..70" type="str" fnc1="1" name="" description="Paperless coupon code identification for use in North America"
+8200 format="X..70" type="str" fnc1="1" name="PRODUCT URL" description="Extended Packaging URL"
+90 format="X..30" type="str" fnc1="1" name="INTERNAL" description="Information mutually agreed between trading partners"
+91-99 format="X..90" type="str" fnc1="1" name="INTERNAL" description="Company internal information"
diff --git a/tests/test_gs1_128.doctest b/tests/test_gs1_128.doctest
new file mode 100644
index 00000000..8bfa9af9
--- /dev/null
+++ b/tests/test_gs1_128.doctest
@@ -0,0 +1,148 @@
+test_gs1_128.doctest - more detailed doctests for the stdnum.gs1_128 module
+
+Copyright (C) 2019 Sergi Almacellas Abellaan
+Copyright (C) 2020 Arthur de Jong
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.gs1_128 module. It
+tries to test more corner cases and detailed functionality that is not
+really useful as module documentation.
+
+>>> from decimal import Decimal
+>>> import datetime
+>>> import pprint
+>>> from stdnum import gs1_128
+
+
+>>> gs1_128.compact('(01)38425876095074(17)181119(37)1 ')
+'013842587609507417181119371'
+
+
+We can create a GS1-128 code based on data we provide. Various data types
+will be converted to the correct representation.
+
+>>> gs1_128.encode({'01': '38425876095074', '17': datetime.date(2018, 11, 19), '37': 1}, parentheses=True)
+'(01)38425876095074(17)181119(37)1'
+>>> gs1_128.encode({'02': '98412345678908', '310': 17.23, '37': 32})
+'029841234567890831020017233732'
+>>> gs1_128.encode({'03': '1234'}) # unknown AI
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+
+If we have a separator we use it to separate variable-length values, otherwise
+we pad all variable-length values to the maximum length (except the last one).
+
+>>> gs1_128.encode({'01': '58425876097843', '10': '123456', '37': 18, '390': 42, '392': 12}, parentheses=True)
+'(01)58425876097843(10)123456 (37)00000018(390)0000000000000042(392)012'
+>>> gs1_128.encode({'01': '58425876097843', '10': '123456', '37': 18, '390': 42, '392': 12}, parentheses=True, separator='[FNC1]')
+'(01)58425876097843(10)123456[FNC1](37)18[FNC1](390)042[FNC1](392)012'
+
+Numeric values can be provided in several forms and precision is encoded
+properly.
+
+>>> gs1_128.encode({
+... '310': 17.23, # float
+... '311': 456, # int
+... '312': 1.0 / 3.0, # float with lots of digits
+... '313': '123.456', # str
+... '391': ('123', Decimal('123.456')), # currency number combo
+... }, parentheses=True)
+'(310)2001723(311)0000456(312)5033333(313)3123456(391)3123123456'
+
+We generate dates in various formats, depending on the AI.
+
+>>> gs1_128.encode({
+... '11': datetime.datetime(2018, 11, 19, 0, 0, 0),
+... '12': '181119', # if you provide a string value, it is expected to be correct
+... '7003': datetime.datetime(2018, 11, 19, 12, 45, 13),
+... '7007': (datetime.date(2018, 11, 19), datetime.date(2018, 11, 21)),
+... }, parentheses=True)
+'(11)181119(12)181119(7003)1811191245(7007)181119181121'
+>>> gs1_128.encode({'8008': datetime.datetime(2018, 11, 19, 12, 45, 13)}, parentheses=True)
+'(8008)181119124513'
+>>> gs1_128.encode({'8008': datetime.datetime(2018, 11, 19, 12, 45)}, parentheses=True)
+'(8008)1811191245'
+>>> gs1_128.encode({'8008': datetime.datetime(2018, 11, 19, 12, 0)}, parentheses=True)
+'(8008)18111912'
+>>> gs1_128.encode({'8008': datetime.datetime(2018, 11, 19, 0, 0)}, parentheses=True)
+'(8008)18111900'
+
+If we try to encode an invalid EAN we will get an error.
+
+>>> gs1_128.encode({'01': '38425876095079'}, parentheses=True)
+Traceback (most recent call last):
+ ...
+InvalidChecksum: ...
+
+
+We can decode (parse) the GS1-128 code to a dictionary with information about
+the structure of the number.
+
+pprint.pprint(gs1_128.info('(01)38425876095074(17)181119(37)1 '))
+{'01': '38425876095074', '17': datetime.date(2018, 11, 19), '37': 1}
+>>> pprint.pprint(gs1_128.info('013842587609507417181119371'))
+{'01': '38425876095074', '17': datetime.date(2018, 11, 19), '37': 1}
+>>> pprint.pprint(gs1_128.info('(02)98412345678908(310)3017230(37)32'))
+{'02': '98412345678908', '310': Decimal('17.230'), '37': 32}
+>>> pprint.pprint(gs1_128.info('(01)58425876097843(10)123456 (17)181119(37)18'))
+{'01': '58425876097843', '10': '123456', '17': datetime.date(2018, 11, 19), '37': 18}
+>>> pprint.pprint(gs1_128.info('|(01)58425876097843|(10)123456|(17)181119(37)18', separator='|'))
+{'01': '58425876097843', '10': '123456', '17': datetime.date(2018, 11, 19), '37': 18}
+>>> gs1_128.info('(03)38425876095074') # unknown AI
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+
+We can decode decimal values from various formats.
+
+>>> pprint.pprint(gs1_128.info('(310)5033333'))
+{'310': Decimal('0.33333')}
+>>> pprint.pprint(gs1_128.info('(310)0033333'))
+{'310': Decimal('33333')}
+>>> pprint.pprint(gs1_128.info('(391)3123123456'))
+{'391': ('123', Decimal('123.456'))}
+
+We an decode date files from various formats.
+
+>>> pprint.pprint(gs1_128.info('(11)181119'))
+{'11': datetime.date(2018, 11, 19)}
+>>> pprint.pprint(gs1_128.info('(7003)1811191245'))
+{'7003': datetime.datetime(2018, 11, 19, 12, 45)}
+>>> pprint.pprint(gs1_128.info('(7007)181119'))
+{'7007': datetime.date(2018, 11, 19)}
+>>> pprint.pprint(gs1_128.info('(7007)181119181121'))
+{'7007': (datetime.date(2018, 11, 19), datetime.date(2018, 11, 21))}
+>>> pprint.pprint(gs1_128.info('(8008)18111912'))
+{'8008': datetime.datetime(2018, 11, 19, 12, 0)}
+
+
+While the compact() function can clean up the number somewhat the validate()
+function calls info() and then encode() to ensure an even more compact and
+consistent format.
+
+>>> gs1_128.compact('(01)58425876097843(10)123456 (37)00000018')
+'015842587609784310123456 3700000018'
+>>> gs1_128.validate('(01)58425876097843(10)123456 (37)00000018')
+'015842587609784310123456 3718'
+>>> gs1_128.validate('(01)58425876097843(10)123456 (37)00000018', separator='|')
+'015842587609784310123456|3718'
+>>> gs1_128.validate('30aa')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
diff --git a/update/gs1_ai.py b/update/gs1_ai.py
new file mode 100755
index 00000000..527a1c59
--- /dev/null
+++ b/update/gs1_ai.py
@@ -0,0 +1,82 @@
+#!/usr/bin/env python3
+
+# update/gs1_ai.py - script to get GS1 application identifiers
+#
+# Copyright (C) 2019 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""This script downloads GS1 application identifiers from the GS1 web site."""
+
+import datetime
+import json
+import re
+
+import lxml.html
+import requests
+
+
+# the location of the GS1 application identifiers
+download_url = 'https://www.gs1.org/standards/barcodes/application-identifiers'
+
+
+def fetch_ais():
+ """Download application identifiers frm the GS1 website."""
+ response = requests.get(download_url)
+ document = lxml.html.document_fromstring(response.content)
+ element = document.findall('.//script[@type="application/ld+json"]')[1]
+ for entry in json.loads(element.text)['@graph']:
+ yield (
+ entry['skos:prefLabel'].strip(), # AI
+ entry['gs1meta:formatAIvalue'].strip()[3:], # format
+ entry['gs1meta:requiresFNC1'], # require FNC1
+ [x['@value'] for x in entry['schema:name'] if x['@language'] == 'en'][0].strip(),
+ [x['@value'] for x in entry['schema:description'] if x['@language'] == 'en'][0].strip())
+
+
+def group_ai_ranges():
+ """Combine downloaded application identifiers into ranges."""
+ first = None
+ prev = (None, ) * 5
+ for value in sorted(fetch_ais()):
+ if value[1:] != prev[1:]:
+ if first:
+ yield first, *prev
+ first = value[0]
+ prev = value
+ yield first, *prev
+
+
+if __name__ == '__main__':
+ print('# generated from %s' % download_url)
+ print('# on %s' % datetime.datetime.utcnow())
+ for ai1, ai2, format, require_fnc1, name, description in group_ai_ranges():
+ _type = 'str'
+ if re.match(r'^(N8\+)?N[0-9]*[.]*[0-9]+$', format) and 'date' in description.lower():
+ _type = 'date'
+ elif re.match(r'^N[.]*[0-9]+$', format) and 'count' in description.lower():
+ _type = 'int'
+ ai = ai1
+ if ai1 != ai2:
+ if len(ai1) == 4:
+ ai = ai1[:3]
+ _type = 'decimal'
+ else:
+ ai = '%s-%s' % (ai1, ai2)
+ print('%s format="%s" type="%s"%s name="%s" description="%s"' % (
+ ai, format, _type,
+ ' fnc1="1"' if require_fnc1 else '',
+ name, description))
From b6e43cdd6c137acf57193b749d5ed8950eaf2103 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sat, 8 Aug 2020 16:51:04 +0200
Subject: [PATCH 021/276] Fix Python 3.6 issue in update script
Fixes 180788a
---
update/gs1_ai.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/update/gs1_ai.py b/update/gs1_ai.py
index 527a1c59..06e351bf 100755
--- a/update/gs1_ai.py
+++ b/update/gs1_ai.py
@@ -54,10 +54,10 @@ def group_ai_ranges():
for value in sorted(fetch_ais()):
if value[1:] != prev[1:]:
if first:
- yield first, *prev
+ yield (first, *prev)
first = value[0]
prev = value
- yield first, *prev
+ yield (first, *prev)
if __name__ == '__main__':
From ff188bd5f100c3033b3fc53f186af6c52815a770 Mon Sep 17 00:00:00 2001
From: Leandro Regueiro
Date: Sun, 8 Mar 2020 17:06:25 +0100
Subject: [PATCH 022/276] Add module to check any VAT number
This effectively mimics vatnumber's `check_vat` function, so people can
easily replace the outdated vatnumber library with stdnum.
Closes https://github.com/arthurdejong/python-stdnum/pull/199
---
stdnum/vatin.py | 94 ++++++++++++++++++++++++++++++++++++++++
tests/test_vatin.doctest | 75 ++++++++++++++++++++++++++++++++
2 files changed, 169 insertions(+)
create mode 100644 stdnum/vatin.py
create mode 100644 tests/test_vatin.doctest
diff --git a/stdnum/vatin.py b/stdnum/vatin.py
new file mode 100644
index 00000000..50f587ce
--- /dev/null
+++ b/stdnum/vatin.py
@@ -0,0 +1,94 @@
+# vatin.py - function to validate any given VATIN.
+#
+# Copyright (C) 2020 Leandro Regueiro
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""VATIN (International value added tax identification number)
+
+The number VAT identification number (VATIN) is an identifier used in many
+countries. It starts with an ISO 3166-1 alpha-2 (2 letters) country code
+(except for Greece, which uses EL, instead of GR) and is followed by the
+country-specific the identifier.
+
+This module supports all VAT numbers that are supported in python-stdnum.
+
+More information:
+
+* https://en.wikipedia.org/wiki/VAT_identification_number
+
+>>> validate('FR 40 303 265 045')
+'FR40303265045'
+>>> validate('DE136,695 976')
+'DE136695976'
+>>> validate('BR16.727.230/0001-97')
+'BR16727230000197'
+>>> validate('FR 40 303')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> validate('XX')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+"""
+
+import re
+
+from stdnum.exceptions import *
+from stdnum.util import clean, get_cc_module
+
+
+# Cache of country code modules
+_country_modules = dict()
+
+
+def _get_cc_module(cc):
+ """Get the VAT number module based on the country code."""
+ # Greece uses a "wrong" country code
+ cc = cc.lower().replace('el', 'gr')
+ if not re.match(r'^[a-z]{2}$', cc):
+ raise InvalidFormat()
+ if cc not in _country_modules:
+ _country_modules[cc] = get_cc_module(cc, 'vat')
+ if not _country_modules[cc]:
+ raise InvalidComponent() # unknown/unsupported country code
+ return _country_modules[cc]
+
+
+def compact(number):
+ """Convert the number to the minimal representation."""
+ number = clean(number).strip()
+ module = _get_cc_module(number[:2])
+ return number[:2] + module.compact(number[2:])
+
+
+def validate(number):
+ """Check if the number is a valid VAT number.
+
+ This performs the country-specific check for the number.
+ """
+ number = clean(number, '').strip()
+ module = _get_cc_module(number[:2])
+ return number[:2].upper() + module.validate(number[2:])
+
+
+def is_valid(number):
+ """Check if the number is a valid VAT number."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
diff --git a/tests/test_vatin.doctest b/tests/test_vatin.doctest
new file mode 100644
index 00000000..f0c5f925
--- /dev/null
+++ b/tests/test_vatin.doctest
@@ -0,0 +1,75 @@
+test_vatin.doctest - more detailed doctests for stdnum.vatin module
+
+Copyright (C) 2020 Leandro Regueiro
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+
+This file contains more detailed doctests for the stdnum.vatin module. It
+tries to test more corner cases and detailed functionality that is not
+really useful as module documentation.
+
+>>> from stdnum import vatin
+
+
+Check valid VAT numbers for several countries with existing validation:
+
+>>> vatin.validate('FR 40 303 265 045')
+'FR40303265045'
+>>> vatin.validate('DE136,695 976')
+'DE136695976'
+>>> vatin.validate('BR16.727.230/0001-97')
+'BR16727230000197'
+>>> vatin.validate('el-082857563')
+'EL082857563'
+
+
+Try validating invalid VAT numbers for country with validation:
+
+>>> vatin.compact('FR 40 303')
+'FR40303'
+>>> vatin.validate('FR 40 303')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+>>> vatin.validate('FR')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+
+
+Try validating not specifying a country:
+
+>>> vatin.validate('')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> vatin.validate('00')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+
+
+Try to validate for countries with no VAT validation:
+
+>>> vatin.validate('XX')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
+>>> vatin.validate('US')
+Traceback (most recent call last):
+ ...
+InvalidComponent: ...
From 40fcc2401c29f955ba0b61a1a30e860be948f160 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 9 Aug 2020 17:15:30 +0200
Subject: [PATCH 023/276] Update database files
---
stdnum/be/banks.dat | 11 +-
stdnum/cn/loc.dat | 2 +-
stdnum/eu/nace.dat | 2 +-
stdnum/gs1_ai.dat | 2 +-
stdnum/iban.dat | 2 +-
stdnum/imsi.dat | 672 +++++++++++++----------
stdnum/isbn.dat | 69 +--
stdnum/nz/banks.dat | 35 +-
stdnum/oui.dat | 1252 ++++++++++++++++++++++++++++++++++---------
update/imsi.py | 11 +-
update/nz_banks.py | 2 +-
11 files changed, 1467 insertions(+), 593 deletions(-)
diff --git a/stdnum/be/banks.dat b/stdnum/be/banks.dat
index c8e6a186..464f5f6b 100644
--- a/stdnum/be/banks.dat
+++ b/stdnum/be/banks.dat
@@ -1,6 +1,6 @@
# generated from current_codes.xls downloaded from
# https://www.nbb.be/doc/be/be/protocol/current_codes.xls
-# version 31/12/2019
+# version 24/07/2020
000-000 bic="BPOTBEB1" bank="bpost bank"
001-049 bic="GEBABEBB" bank="BNP Paribas Fortis"
050-099 bic="GKCCBEBB" bank="BELFIUS BANK"
@@ -42,7 +42,7 @@
509-509 bic="ABNABE2AIPC" bank="ABN AMRO Bank N.V."
510-510 bic="VAPEBE22" bank="VAN DE PUT & CO Privaatbankiers"
512-512 bic="DNIBBE21" bank="NIBC BANK"
-513-513 bic="SGPBBE99" bank="ABN AMRO Bank N.V."
+513-513 bic="ABNABE2AIPC" bank="ABN AMRO Bank N.V."
514-514 bic="PUILBEBB" bank="Puilaetco Dewaay Private Bankers"
515-515 bic="IRVTBEBB" bank="The Bank of New York Mellon NV/SA"
521-521 bic="FVLBBE22" bank="F. van Lanschot Bankiers"
@@ -76,7 +76,6 @@
630-631 bic="BBRUBEBB" bank="ING België"
634-636 bic="BNAGBEBB" bank="Bank Nagelmackers"
638-638 bic="GKCCBEBB" bank="BELFIUS BANK"
-639-639 bic="ABNABE2AMYO" bank="ABN AMRO Bank N.V."
640-640 bic="ADIABE22" bank="KBC Bank N.V. Business Center Diamant"
642-642 bic="BBVABEBB" bank="Banco Bilbao Vizcaya Argentaria"
643-643 bic="BMPBBEBB" bank="Aion"
@@ -87,6 +86,7 @@
649-649 bank="Caisse d'Epargne et de Prévoyance Hauts de France"
651-651 bic="KEYTBEBB" bank="Arkéa Direct Bank (nom commercial / commerciële naam: Keytrade Bank)"
652-652 bic="BBRUBEBB" bank="ING België"
+653-653 bank="Barclays Bank Ireland Plc Brussels Branch"
654-654 bank="Crédit foncier et communal d'Alsace et de Lorraine - Banque"
657-657 bic="GKCCBEBB" bank="BELFIUS BANK"
658-658 bic="HABBBEBB" bank="Habib Bank"
@@ -151,8 +151,8 @@
883-884 bic="BBRUBEBB" bank="ING België"
887-888 bic="BBRUBEBB" bank="ING België"
890-899 bic="VDSPBE91" bank="vdk bank"
-906-906 bic="CEKVBE81" bank="Centrale Kredietverlening (C.K.V.)"
-908-908 bic="CEKVBE81" bank="Centrale Kredietverlening (C.K.V.)"
+906-906 bic="CEKVBE88" bank="Centrale Kredietverlening (C.K.V.)"
+908-908 bic="CEKVBE88" bank="Centrale Kredietverlening (C.K.V.)"
910-910 bic="BBRUBEBB" bank="ING België"
911-911 bic="TUNZBEB1" bank="Ingenico Financial Solutions"
912-912 bank="Hi - Media Porte Monnaie Electronique"
@@ -183,6 +183,7 @@
960-960 bic="ABNABE2AIPC" bank="ABN AMRO Bank N.V."
961-961 bic="BBRUBEBB" bank="ING België"
963-963 bic="AXABBE22" bank="AXA Bank Belgium"
+966-966 bic="NEECBEB2" bank="NewB"
967-967 bic="TRWIBEB1" bank="TransferWise"
968-968 bic="ENIBBEBB" bank="Banque Eni"
969-969 bic="PUILBEBB" bank="Puilaetco Dewaay Private Bankers"
diff --git a/stdnum/cn/loc.dat b/stdnum/cn/loc.dat
index f69ccf77..8ae03e5d 100644
--- a/stdnum/cn/loc.dat
+++ b/stdnum/cn/loc.dat
@@ -1,6 +1,6 @@
# generated from National Bureau of Statistics of the People's
# Republic of China, downloaded from https://github.com/cn/GB2260
-# 2020-01-18 17:01:01.298881
+# 2020-08-09 15:08:26.469948
110101 county="东城区" prefecture="市辖区" province="北京市"
110102 county="西城区" prefecture="市辖区" province="北京市"
110103 county="崇文区" prefecture="市辖区" province="北京市"
diff --git a/stdnum/eu/nace.dat b/stdnum/eu/nace.dat
index d0c90b44..2c0ed855 100644
--- a/stdnum/eu/nace.dat
+++ b/stdnum/eu/nace.dat
@@ -1,4 +1,4 @@
-# generated from NACE_REV2_20200118_180104.xml, downloaded from
+# generated from NACE_REV2_20200809_170835.xml, downloaded from
# https://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=ACT_OTH_CLS_DLD&StrNom=NACE_REV2&StrFormat=XML&StrLanguageCode=EN
# NACE_REV2: Statistical Classification of Economic Activities in the European Community, Rev. 2 (2008)
A label="AGRICULTURE, FORESTRY AND FISHING" isic="A"
diff --git a/stdnum/gs1_ai.dat b/stdnum/gs1_ai.dat
index 0b1ae6c2..9f47395b 100644
--- a/stdnum/gs1_ai.dat
+++ b/stdnum/gs1_ai.dat
@@ -1,5 +1,5 @@
# generated from https://www.gs1.org/standards/barcodes/application-identifiers
-# on 2020-07-12 19:36:00.576283
+# on 2020-08-09 15:09:08.187669
00 format="N18" type="str" name="SSCC" description="Serial Shipping Container Code (SSCC)"
01 format="N14" type="str" name="GTIN" description="Global Trade Item Number (GTIN)"
02 format="N14" type="str" name="CONTENT" description="GTIN of contained trade items"
diff --git a/stdnum/iban.dat b/stdnum/iban.dat
index 5096f691..ce656b7b 100644
--- a/stdnum/iban.dat
+++ b/stdnum/iban.dat
@@ -68,7 +68,7 @@ SE country="Sweden" bban="3!n16!n1!n"
SI country="Slovenia" bban="5!n8!n2!n"
SK country="Slovakia" bban="4!n6!n10!n"
SM country="San Marino" bban="1!a5!n5!n12!c"
-ST country="Sao Tome and Principe" bban="4!n4!n11!n2!n"
+ST country="Sao Tome and Principe" bban="8!n11!n2!n"
SV country="El Salvador" bban="4!a20!n"
TL country="Timor-Leste" bban="3!n14!n2!n"
TN country="Tunisia" bban="2!n3!n13!n2!n"
diff --git a/stdnum/imsi.dat b/stdnum/imsi.dat
index 5ebf4962..21aa96eb 100644
--- a/stdnum/imsi.dat
+++ b/stdnum/imsi.dat
@@ -1,8 +1,8 @@
# generated from various sources
# https://en.wikipedia.org/wiki/Mobile_country_code
001
- 001 bands="any" brand="TEST" country="Test networks" operator="Test Network" status="Operational"
- 01 bands="any" brand="TEST" country="Test networks" operator="Test Network" status="Operational"
+ 001 bands="any" brand="TEST" country="Test networks" operator="Test network" status="Operational"
+ 01 bands="any" brand="TEST" country="Test networks" operator="Test network" status="Operational"
202
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Cosmote" cc="gr" country="Greece" operator="COSMOTE - Mobile Telecommunications S.A." status="Operational"
02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Cosmote" cc="gr" country="Greece" operator="COSMOTE - Mobile Telecommunications S.A." status="Operational"
@@ -24,7 +24,7 @@
01 cc="nl" country="Netherlands" operator="RadioAccess Network Services"
02 bands="LTE 800 / LTE 2600" brand="Tele2" cc="nl" country="Netherlands" operator="Tele2 Nederland B.V." status="Operational"
03 bands="MVNE / PrivateGSM 1800" brand="Voiceworks" cc="nl" country="Netherlands" operator="Voiceworks B.V." status="Operational"
- 04 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Vodafone" cc="nl" country="Netherlands" operator="Vodafone Libertel B.V." status="Operational"
+ 04 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600 / 5G 1800" brand="Vodafone" cc="nl" country="Netherlands" operator="Vodafone Libertel B.V." status="Operational"
05 cc="nl" country="Netherlands" operator="Elephant Talk Communications Premium Rate Services"
06 bands="MVNO" brand="Vectone Mobile" cc="nl" country="Netherlands" operator="Mundio Mobile (Netherlands) Ltd" status="Operational"
07 bands="MVNE" cc="nl" country="Netherlands" operator="Teleena (MVNE)" status="Operational"
@@ -32,7 +32,7 @@
09 bands="MVNO" brand="Lycamobile" cc="nl" country="Netherlands" operator="Lycamobile Netherlands Limited" status="Operational"
10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="KPN" cc="nl" country="Netherlands" operator="KPN B.V." status="Operational"
11 cc="nl" country="Netherlands" operator="VoipIT B.V."
- 12 brand="Telfort" cc="nl" country="Netherlands" operator="KPN Mobile The Netherlands B.V." status="Operational"
+ 12 bands="MVNO" brand="Telfort" cc="nl" country="Netherlands" operator="KPN Mobile The Netherlands B.V." status="Operational"
13 cc="nl" country="Netherlands" operator="Unica Installatietechniek B.V."
14 cc="nl" country="Netherlands" operator="6GMOBILE B.V." status="Reserved"
15 bands="LTE 2600" brand="Ziggo" cc="nl" country="Netherlands" operator="Ziggo B.V." status="Operational"
@@ -62,12 +62,13 @@
00-99
206
00 brand="Proximus" cc="be" country="Belgium" operator="Belgacom Mobile" status="Not operational"
- 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Proximus" cc="be" country="Belgium" operator="Belgacom Mobile" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Proximus" cc="be" country="Belgium" operator="Belgacom Mobile" status="Operational"
02 bands="GSM-R" cc="be" country="Belgium" operator="Infrabel" status="Operational"
+ 03 bands="LTE 3500" cc="be" country="Belgium" operator="Citymesh NV" status="Operational"
05 bands="MVNO" brand="Telenet" cc="be" country="Belgium" operator="Telenet" status="Operational"
06 bands="MVNO" brand="Lycamobile" cc="be" country="Belgium" operator="Lycamobile sprl" status="Operational"
07 bands="MVNO" brand="Vectone Mobile" cc="be" country="Belgium" operator="Mundio Mobile Belgium nv" status="Reserved"
- 08 cc="be" country="Belgium" status="Not operational"
+ 08 bands="MVNO" brand="VOO" cc="be" country="Belgium" status="Operational"
09 bands="MVNO" brand="Voxbone" cc="be" country="Belgium" operator="Voxbone mobile" status="Not operational"
10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Orange Belgium" cc="be" country="Belgium" operator="Orange S.A." status="Operational"
15 cc="be" country="Belgium" operator="Elephant Talk Communications Schweiz GmbH" status="Not operational"
@@ -76,9 +77,13 @@
25 bands="TD-LTE 2600" cc="be" country="Belgium" operator="Dense Air Belgium SPRL"
28 cc="be" country="Belgium" operator="BICS"
30 bands="MVNO" brand="Mobile Vikings" cc="be" country="Belgium" operator="Unleashed NV" status="Operational"
- 33 cc="be" country="Belgium" operator="Ericsson NV"
+ 33 cc="be" country="Belgium" operator="Ericsson NV" status="Not operational"
40 bands="MVNO" brand="JOIN" cc="be" country="Belgium" operator="JOIN Experience (Belgium)" status="Not operational"
50 bands="MVNO" cc="be" country="Belgium" operator="IP Nexia" status="Not operational"
+ 71 cc="be" country="Belgium" operator="test" status="Not operational"
+ 72 cc="be" country="Belgium" operator="test" status="Not operational"
+ 73 cc="be" country="Belgium" operator="test" status="Not operational"
+ 74 cc="be" country="Belgium" operator="test" status="Not operational"
00-99
208
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="Orange" cc="fr" country="France" operator="Orange S.A." status="Operational"
@@ -95,8 +100,8 @@
12 bands="MVNO" brand="Truphone" cc="fr" country="France" operator="Truphone France" status="Operational"
13 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="SFR" cc="fr" country="France" operator="Altice" status="Operational"
14 bands="GSM-R" brand="SNCF Réseau" cc="fr" country="France" operator="SNCF Réseau" status="Operational"
- 15 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Free Mobile" cc="fr" country="France" operator="Iliad" status="Operational"
- 16 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Free Mobile" cc="fr" country="France" operator="Iliad" status="Operational"
+ 15 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="Free" cc="fr" country="France" operator="Free Mobile" status="Operational"
+ 16 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="Free" cc="fr" country="France" operator="Free Mobile" status="Operational"
17 brand="LEGOS" cc="fr" country="France" operator="Local Exchange Global Operation Services"
18 bands="MVNO" brand="Voxbone" cc="fr" country="France" operator="Voxbone mobile" status="Not operational"
19 bands="LTE" cc="fr" country="France" operator="Haute-Garonne numérique" status="Operational"
@@ -113,29 +118,32 @@
30 bands="MVNO" cc="fr" country="France" operator="Syma Mobile" status="Operational"
31 bands="MVNO" brand="Vectone Mobile" cc="fr" country="France" operator="Mundio Mobile" status="Operational"
32 brand="Orange" cc="fr" country="France" operator="Orange S.A."
- 33 bands="WiMAX" cc="fr" country="France" operator="Département des Pyrénées-Atlantiques"
+ 33 bands="WiMAX" brand="Fibre64" cc="fr" country="France" operator="Département des Pyrénées-Atlantiques"
34 bands="MVNO" cc="fr" country="France" operator="Cellhire France" status="Operational"
+ 35 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="Free" cc="fr" country="France" operator="Free Mobile" status="Operational"
+ 36 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="Free" cc="fr" country="France" operator="Free Mobile" status="Operational"
+ 37 cc="fr" country="France" operator="IP Directions"
50 cc="fr" country="France" operator="EDF"
70 cc="fr" country="France" operator="Weaccess group"
86 cc="fr" country="France" operator="SEM@FOR77"
87 brand="RATP" cc="fr" country="France" operator="Régie autonome des transports parisiens"
88 bands="GSM 900 / GSM 1800" brand="Bouygues" cc="fr" country="France" operator="Bouygues Telecom" status="Operational"
- 89 cc="fr" country="France" operator="Fondation b-com" status="Not operational"
+ 89 cc="fr" country="France" operator="Hub One"
90 cc="fr" country="France" operator="Images & Réseaux" status="Not operational"
91 cc="fr" country="France" operator="Orange S.A."
92 bands="TD-LTE 2300 / LTE 2600" brand="Com4Innov" cc="fr" country="France" operator="Association Plate-forme Télécom" status="Not operational"
- 93 cc="fr" country="France" operator="Thales Communications & Security SAS"
+ 93 cc="fr" country="France" operator="Thales Communications & Security SAS" status="Not operational"
94 cc="fr" country="France" operator="Halys"
- 95 cc="fr" country="France" operator="Orange S.A."
+ 95 cc="fr" country="France" operator="Orange S.A." status="Not operational"
96 bands="LTE" cc="fr" country="France" operator="Région Bourgogne-Franche-Comté" status="Operational"
97 cc="fr" country="France" operator="Thales Communications & Security SAS"
- 98 cc="fr" country="France" operator="Société Air France"
+ 98 cc="fr" country="France" operator="Société Air France" status="Not operational"
00-99
212
10 bands="GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Office des Telephones" cc="mc" country="Monaco" operator="Monaco Telecom" status="Operational"
00-99
213
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Mobiland" cc="ad" country="Andorra" operator="Servei De Tele. DAndorra" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Som, Mobiland" cc="ad" country="Andorra" operator="Andorra Telecom" status="Operational"
00-99
214
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Vodafone" cc="es" country="Spain" operator="Vodafone Spain" status="Operational"
@@ -169,12 +177,12 @@
29 bands="TD-LTE 3500" cc="es" country="Spain" operator="Xfera Moviles S.A.U." status="Operational"
30 cc="es" country="Spain" operator="Compatel Limited"
31 cc="es" country="Spain" operator="Red Digital De Telecomunicaciones de las Islas Baleares, S.L."
- 32 bands="MVNO" brand="Tuenti" cc="es" country="Spain" operator="Telefónica Móviles España" status="Operational"
+ 32 bands="MVNO" brand="Tuenti" cc="es" country="Spain" operator="Telefónica Móviles España" status="Not operational"
33 bands="WiMAX" cc="es" country="Spain" operator="Xfera Móviles, S.A.U."
34 bands="LTE 2600" cc="es" country="Spain" operator="Aire Networks del Mediterráneo, S.L.U." status="Operational"
35 bands="MVNO" cc="es" country="Spain" operator="INGENIUM OUTSOURCING SERVICES, S.L."
36 bands="MVNO" cc="es" country="Spain" operator="ALAI OPERADOR DE TELECOMUNICACIONES, S.L"
- 37 cc="es" country="Spain" operator="Vodafone Spain" status="Not operational"
+ 37 cc="es" country="Spain" operator="Vodafone Spain"
38 cc="es" country="Spain" operator="Telefónica Móviles España, S.A.U."
51 bands="GSM-R" brand="ADIF" cc="es" country="Spain" operator="Administrador de Infraestructuras Ferroviarias" status="Operational"
00-99
@@ -183,10 +191,10 @@
02 bands="LTE 450" cc="hu" country="Hungary" operator="MVM Net Ltd." status="Operational"
03 bands="LTE 1800 / TD-LTE 3700" brand="DIGI" cc="hu" country="Hungary" operator="DIGI Telecommunication Ltd." status="Operational"
04 cc="hu" country="Hungary" operator="Invitech ICT Services Ltd." status="Not operational"
- 30 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="T-Mobile" cc="hu" country="Hungary" operator="Magyar Telekom Plc" status="Operational"
+ 30 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Telekom" cc="hu" country="Hungary" operator="Magyar Telekom Plc" status="Operational"
70 bands="GSM 900 / GSM 1800 / UMTS 2100 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="hu" country="Hungary" operator="Vodafone Magyarország Zrt." status="Operational"
- 71 bands="MVNO" brand="upc" cc="hu" country="Hungary" operator="UPC Hungary Ltd." status="Operational"
- 99 bands="GSM-R 900" brand="MAV GSM-R" cc="hu" country="Hungary" operator="Magyar Államvasutak" status="Planned"
+ 71 bands="MVNO" brand="upc" cc="hu" country="Hungary" operator="Vodafone Magyarország Zrt." status="Operational"
+ 99 bands="GSM-R 900" brand="MAV GSM-R" cc="hu" country="Hungary" operator="Magyar Államvasutak" status="Operational"
00-99
218
03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="HT-ERONET" cc="ba" country="Bosnia and Herzegovina" operator="Public Enterprise Croatian Telecom Ltd." status="Operational"
@@ -232,7 +240,7 @@
37 brand="3 Italia" cc="it" country="Italy" operator="Wind Tre"
38 bands="TD-LTE 3500" brand="LINKEM" cc="it" country="Italy" operator="Linkem S.p.A." status="Operational"
39 brand="SMS Italia" cc="it" country="Italy" operator="SMS Italia S.r.l."
- 43 bands="5G 3500" brand="TIM" cc="it" country="Italy" operator="Telecom Italia S.p.A." status="Operational"
+ 43 bands="5G 3500 / 5G 26000" brand="TIM" cc="it" country="Italy" operator="Telecom Italia S.p.A." status="Operational"
47 bands="TD-LTE 3500" brand="Tiscali" cc="it" country="Italy" operator="Tiscali S.p.A." status="Operational"
48 brand="TIM" cc="it" country="Italy" operator="Telecom Italia S.p.A."
49 bands="MVNO" brand="Vianova" cc="it" country="Italy" operator="Welcome Italia S.p.A."
@@ -256,10 +264,11 @@
11 bands="MVNO" cc="ro" country="Romania" operator="Enigma-System"
15 bands="WiMAX / TD-LTE 2600" brand="Idilis" cc="ro" country="Romania" operator="Idilis" status="Operational"
16 bands="MVNO" brand="Lycamobile" cc="ro" country="Romania" operator="Lycamobile Romania" status="Operational"
+ 19 bands="GSM-R 900" brand="CFR" cc="ro" country="Romania" operator="Căile Ferate Române" status="Testing"
00-99
228
- 01 bands="GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Swisscom" cc="ch" country="Switzerland" operator="Swisscom AG" status="Operational"
- 02 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Sunrise" cc="ch" country="Switzerland" operator="Sunrise Communications AG" status="Operational"
+ 01 bands="GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500" brand="Swisscom" cc="ch" country="Switzerland" operator="Swisscom AG" status="Operational"
+ 02 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Sunrise" cc="ch" country="Switzerland" operator="Sunrise Communications AG" status="Operational"
03 bands="GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Salt" cc="ch" country="Switzerland" operator="Salt Mobile SA" status="Operational"
05 cc="ch" country="Switzerland" operator="Comfone AG" status="Not operational"
06 bands="GSM-R 900" brand="SBB-CFF-FFS" cc="ch" country="Switzerland" operator="SBB AG" status="Operational"
@@ -280,7 +289,7 @@
58 bands="MVNO" brand="beeone" cc="ch" country="Switzerland" operator="Beeone Communications SA" status="Operational"
59 bands="MVNO" brand="Vectone" cc="ch" country="Switzerland" operator="Mundio Mobile Limited" status="Not operational"
60 brand="Sunrise" cc="ch" country="Switzerland" operator="Sunrise Communications AG"
- 61 cc="ch" country="Switzerland" operator="Compatel Ltd."
+ 61 cc="ch" country="Switzerland" operator="Compatel Ltd." status="Not operational"
62 bands="MVNO" cc="ch" country="Switzerland" operator="Telecom26 AG" status="Operational"
63 brand="FTS" cc="ch" country="Switzerland" operator="Fink Telecom Services" status="Operational"
64 bands="MVNO" cc="ch" country="Switzerland" operator="Nth AG" status="Operational"
@@ -306,20 +315,20 @@
04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Telekom" cc="sk" country="Slovakia" operator="Slovak Telekom" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="Orange" cc="sk" country="Slovakia" operator="Orange Slovensko" status="Operational"
06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / TD-LTE 3500 / TD-LTE 3700" brand="O2 " cc="sk" country="Slovakia" operator="O2 Slovakia" status="Operational"
- 07 cc="sk" country="Slovakia" operator="Towercom, a. s."
- 08 cc="sk" country="Slovakia" operator="IPfon, s.r.o."
+ 07 cc="sk" country="Slovakia" operator="Towercom, a. s." status="Not operational"
+ 08 bands="MVNO" brand="Unimobile" cc="sk" country="Slovakia" operator="Uniphone, s.r.o." status="Testing"
09 cc="sk" country="Slovakia" operator="DSI DATA, a.s."
10 cc="sk" country="Slovakia" operator="HMZ RÁDIOKOMUNIKÁCIE, spol. s r.o."
99 bands="GSM-R" brand="ŽSR" cc="sk" country="Slovakia" operator="Železnice Slovenskej Republiky" status="Operational"
00-99
232
- 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="A1.net" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="A1.net" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational"
02 cc="at" country="Austria" operator="A1 Telekom Austria" status="Reserved"
03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH" status="Operational"
04 brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH"
05 bands="GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="3" cc="at" country="Austria" operator="Hutchison Drei Austria" status="Operational"
06 brand="Orange AT" cc="at" country="Austria" operator="Orange Austria GmbH" status="Not operational"
- 07 bands="MVNO" brand="tele.ring" cc="at" country="Austria" operator="T-Mobile Austria" status="Operational"
+ 07 bands="MVNO" brand="Magenta-T" cc="at" country="Austria" operator="T-Mobile Austria" status="Operational"
08 bands="MVNO" brand="Lycamobile" cc="at" country="Austria" operator="Lycamobile Austria" status="Operational"
09 bands="MVNO" brand="Tele2Mobil" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational"
10 bands="UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="3" cc="at" country="Austria" operator="Hutchison Drei Austria" status="Operational"
@@ -335,8 +344,9 @@
20 bands="MVNO" brand="m:tel" cc="at" country="Austria" operator="MTEL Austrija GmbH" status="Operational"
21 cc="at" country="Austria" operator="Salzburg AG für Energie, Verkehr und Telekommunikation"
22 bands="MVNO" cc="at" country="Austria" operator="Plintron Austria Limited"
- 23 brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH"
+ 23 brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH" status="Not operational"
24 cc="at" country="Austria" operator="Smartel Services GmbH"
+ 25 cc="at" country="Austria" operator="Holding Graz Kommunale Dienstleistungen GmbH"
91 bands="GSM-R" brand="GSM-R A" cc="at" country="Austria" operator="ÖBB" status="Operational"
92 bands="CDMA450 / LTE450" brand="ArgoNET" cc="at" country="Austria" operator="ArgoNET GmbH" status="Operational"
00-99
@@ -355,7 +365,7 @@
11 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 3500" brand="O2 (UK)" cc="gb" country="United Kingdom" operator="Telefónica Europe" status="Operational"
12 bands="GSM-R" brand="Railtrack" cc="gb" country="United Kingdom" operator="Network Rail Infrastructure Ltd" status="Operational"
13 bands="GSM-R" brand="Railtrack" cc="gb" country="United Kingdom" operator="Network Rail Infrastructure Ltd" status="Operational"
- 14 bands="GSM 1800" brand="Hay Systems Ltd" cc="gb" country="United Kingdom" operator="Hay Systems Ltd" status="Operational"
+ 14 bands="GSM 1800" cc="gb" country="United Kingdom" operator="Link Mobility UK Ltd" status="Operational"
15 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 3500" brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone" status="Operational"
16 bands="MVNO" brand="Talk Talk" cc="gb" country="United Kingdom" operator="TalkTalk Communications Limited" status="Operational"
17 cc="gb" country="United Kingdom" operator="FleXtel Limited" status="Not operational"
@@ -395,6 +405,7 @@
71 cc="gb" country="United Kingdom" operator="Home Office"
72 bands="MVNO" brand="Hanhaa Mobile" cc="gb" country="United Kingdom" operator="Hanhaa Limited" status="Operational"
73 bands="TD-LTE 3500" cc="gb" country="United Kingdom" operator="Bluewave Communications Ltd" status="Operational"
+ 74 cc="gb" country="United Kingdom" operator="Pareteum Europe B.V."
76 bands="GSM 900 / GSM 1800" brand="BT" cc="gb" country="United Kingdom" operator="BT Group" status="Operational"
78 bands="TETRA" brand="Airwave" cc="gb" country="United Kingdom" operator="Airwave Solutions Ltd" status="Operational"
86 cc="gb" country="United Kingdom" operator="EE"
@@ -403,11 +414,11 @@
01 cc="gb" country="United Kingdom" operator="EE"
02 cc="gb" country="United Kingdom" operator="EE"
03 brand="Relish" cc="gb" country="United Kingdom" operator="UK Broadband Limited"
- 04 cc="gb" country="United Kingdom" operator="University of Strathclyde"
- 06 cc="gb" country="United Kingdom" operator="University of Strathclyde"
- 07 cc="gb" country="United Kingdom" operator="University of Strathclyde"
+ 04 bands="various" cc="gb" country="United Kingdom" operator="University of Strathclyde" status="4G and 5G pilot networks"
+ 06 bands="various" cc="gb" country="United Kingdom" operator="University of Strathclyde" status="4G and 5G pilot networks"
+ 07 bands="various" cc="gb" country="United Kingdom" operator="University of Strathclyde" status="4G and 5G pilot networks"
77 brand="BT" cc="gb" country="United Kingdom" operator="BT Group"
- 88 bands="LTE" cc="gb" country="United Kingdom" operator="Telet Research (N.I.) Limited"
+ 88 bands="LTE" cc="gb" country="United Kingdom" operator="Telet Research (N.I.) Limited" status="Not operational"
91 brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone United Kingdom"
92 brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone United Kingdom" status="Not operational"
94 cc="gb" country="United Kingdom" operator="Hutchison 3G UK Ltd"
@@ -428,7 +439,7 @@
12 bands="MVNO" brand="Lycamobile" cc="dk" country="Denmark" operator="Lycamobile Denmark Ltd" status="Operational"
13 cc="dk" country="Denmark" operator="Compatel Limited"
14 cc="dk" country="Denmark" operator="Monty UK Global Limited"
- 15 bands="LTE 450" brand="Net 1" cc="dk" country="Denmark" operator="Ice Danmark ApS" status="Operational"
+ 15 bands="LTE 450" brand="Net 1" cc="dk" country="Denmark" operator="Cibicom" status="Operational"
16 cc="dk" country="Denmark" operator="Tismi B.V."
17 cc="dk" country="Denmark" operator="Gotanet AB"
18 cc="dk" country="Denmark" operator="Cubic Telecom"
@@ -446,26 +457,26 @@
96 brand="Telia" cc="dk" country="Denmark" operator="Telia Danmark"
00-99
240
- 01 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="se" country="Sweden" operator="Telia Sverige AB" status="Operational"
- 02 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600 / TD-LTE 2600" brand="3" cc="se" country="Sweden" operator="HI3G Access AB" status="Operational"
- 03 bands="LTE 450" brand="Net 1" cc="se" country="Sweden" operator="Netett Sverige AB" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700" brand="Telia" cc="se" country="Sweden" operator="Telia Sverige AB" status="Operational"
+ 02 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600 / TD-LTE 2600 / TD-5G 2600" brand="3" cc="se" country="Sweden" operator="HI3G Access AB" status="Operational"
+ 03 bands="LTE 450" brand="Net 1" cc="se" country="Sweden" operator="Teracom Mobil AB" status="Operational"
04 bands="UMTS 2100" brand="SWEDEN" cc="se" country="Sweden" operator="3G Infrastructure Services AB" status="Operational"
05 bands="UMTS 2100" brand="Sweden 3G" cc="se" country="Sweden" operator="Svenska UMTS-Nät AB" status="Operational"
06 bands="UMTS 2100" brand="Telenor" cc="se" country="Sweden" operator="Telenor Sverige AB" status="Operational"
- 07 bands="UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Tele2" cc="se" country="Sweden" operator="Tele2 Sverige AB" status="Operational"
+ 07 bands="UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G" brand="Tele2" cc="se" country="Sweden" operator="Tele2 Sverige AB" status="Operational"
08 bands="GSM 900 / GSM 1800" brand="Telenor" cc="se" country="Sweden" operator="Telenor Sverige AB" status="Not operational"
09 brand="Com4" cc="se" country="Sweden" operator="Communication for Devices in Sweden AB"
10 brand="Spring Mobil" cc="se" country="Sweden" operator="Tele2 Sverige AB" status="Operational"
11 cc="se" country="Sweden" operator="ComHem AB"
12 bands="MVNO" brand="Lycamobile" cc="se" country="Sweden" operator="Lycamobile Sweden Limited" status="Operational"
- 13 cc="se" country="Sweden" operator="Alltele Företag Sverige AB"
+ 13 cc="se" country="Sweden" operator="A3 Företag AB"
14 cc="se" country="Sweden" operator="Tele2 Business AB"
15 cc="se" country="Sweden" operator="Sierra Wireless Sweden AB"
16 bands="GSM" cc="se" country="Sweden" operator="42 Telecom AB" status="Operational"
17 bands="MVNO" brand="Gotanet" cc="se" country="Sweden" operator="Götalandsnätet AB" status="Operational"
18 cc="se" country="Sweden" operator="Generic Mobile Systems Sweden AB"
19 bands="MVNO" brand="Vectone Mobile" cc="se" country="Sweden" operator="Mundio Mobile (Sweden) Limited" status="Operational"
- 20 bands="GSM" cc="se" country="Sweden" operator="Wireless Maingate Messaging Services AB" status="Operational"
+ 20 bands="MVNO" cc="se" country="Sweden" operator="Sierra Wireless Messaging AB" status="Operational"
21 bands="GSM-R 900" brand="MobiSir" cc="se" country="Sweden" operator="Trafikverket ICT" status="Operational"
22 cc="se" country="Sweden" operator="EuTel AB"
23 cc="se" country="Sweden" operator="Infobip Limited (UK)" status="Not operational"
@@ -482,9 +493,9 @@
34 cc="se" country="Sweden" operator="Trafikverket centralfunktion IT"
35 cc="se" country="Sweden" operator="42 Telecom LTD"
36 cc="se" country="Sweden" operator="interactive digital media GmbH"
- 37 cc="se" country="Sweden" operator="CLX Networks AB" status="Operational"
+ 37 cc="se" country="Sweden" operator="Sinch Sweden AB"
38 bands="MVNO" brand="Voxbone" cc="se" country="Sweden" operator="Voxbone mobile" status="Operational"
- 39 cc="se" country="Sweden" operator="Borderlight AB"
+ 39 cc="se" country="Sweden" operator="Primlight AB"
40 cc="se" country="Sweden" operator="Netmore Group AB"
41 cc="se" country="Sweden" operator="Shyam Telecom UK Ltd." status="Not operational"
42 cc="se" country="Sweden" operator="Telenor Connexion AB"
@@ -494,13 +505,13 @@
46 bands="MVNO" brand="Viahub" cc="se" country="Sweden" operator="SMS Provider Corp."
47 cc="se" country="Sweden" operator="Viatel Sweden AB"
48 bands="MVNO" cc="se" country="Sweden" operator="Tismi BV"
- 60 cc="se" country="Sweden" operator="Telefonaktiebolaget LM Ericsson"
- 61 cc="se" country="Sweden" operator="MessageBird B.V."
+ 60 cc="se" country="Sweden" operator="Telefonaktiebolaget LM Ericsson" status="Not operational"
+ 61 cc="se" country="Sweden" operator="MessageBird B.V." status="Not operational"
63 brand="FTS" cc="se" country="Sweden" operator="Fink Telecom Services" status="Operational"
00-99
242
- 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telenor" cc="no" country="Norway" operator="Telenor Norge AS" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Telenor" cc="no" country="Norway" operator="Telenor Norge AS" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Operational"
03 cc="no" country="Norway" operator="Televerket AS" status="Not operational"
04 bands="MVNO" brand="Tele2" cc="no" country="Norway" operator="Tele2 (Mobile Norway AS)" status="Not operational"
05 bands="GSM 900 / UMTS 900 / UMTS 2100" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Not operational"
@@ -509,13 +520,13 @@
08 bands="MVNO" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Operational"
09 bands="MVNO" brand="Com4" cc="no" country="Norway" operator="Com4 AS" status="Operational"
10 cc="no" country="Norway" operator="Norwegian Communications Authority"
- 11 bands="Test" brand="SystemNet" cc="no" country="Norway" operator="SystemNet AS"
+ 11 bands="Test" brand="SystemNet" cc="no" country="Norway" operator="SystemNet AS" status="Not operational"
12 brand="Telenor" cc="no" country="Norway" operator="Telenor Norge AS"
14 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="ice" cc="no" country="Norway" operator="ICE Communication Norge AS" status="Operational"
15 bands="MVNO" cc="no" country="Norway" operator="eRate Norway AS" status="Operational"
20 bands="GSM-R 900" cc="no" country="Norway" operator="Jernbaneverket AS" status="Operational"
21 bands="GSM-R 900" cc="no" country="Norway" operator="Jernbaneverket AS" status="Operational"
- 22 cc="no" country="Norway" operator="Altibox AS" status="Not operational"
+ 22 cc="no" country="Norway" operator="Altibox AS"
23 bands="MVNO" brand="Lycamobile" cc="no" country="Norway" operator="Lyca Mobile Ltd" status="Operational"
24 cc="no" country="Norway" operator="Mobile Norway AS" status="Not operational"
25 cc="no" country="Norway" operator="Forsvarets kompetansesenter KKIS"
@@ -525,20 +536,20 @@
244
03 bands="GSM 1800" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Operational"
04 brand="DNA" cc="fi" country="Finland" operator="DNA Oy"
- 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Elisa" cc="fi" country="Finland" operator="Elisa Oyj" status="Operational"
+ 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 3500" brand="Elisa" cc="fi" country="Finland" operator="Elisa Oyj" status="Operational"
06 brand="Elisa" cc="fi" country="Finland" operator="Elisa Oyj" status="Not operational"
07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 2600" brand="Nokia" cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" status="Operational"
08 bands="GSM 1800 / UMTS 2100" brand="Nokia" cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy"
09 bands="GSM 900" cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy"
10 cc="fi" country="Finland" operator="Traficom"
11 cc="fi" country="Finland" operator="Traficom"
- 12 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Operational"
+ 12 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Operational"
13 bands="GSM 900 / GSM 1800" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Not operational"
14 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Ålcom" cc="fi" country="Finland" operator="Ålands Telekommunikation Ab" status="Operational"
- 15 bands="GSM 1800" brand="SAMK" cc="fi" country="Finland" operator="Satakunnan ammattikorkeakoulu Oy" status="Not operational"
+ 15 cc="fi" country="Finland" operator="Telit Wireless Solutions GmbH"
16 bands="MVNO" brand="Tele2" cc="fi" country="Finland" operator="Oy Finland Tele2 AB" status="Not operational"
17 bands="GSM-R" cc="fi" country="Finland" operator="Liikennevirasto" status="Operational"
- 20 cc="fi" country="Finland" operator="Telia Finland Oyj"
+ 20 cc="fi" country="Finland" operator="Telia Finland Oyj" status="Not operational"
21 bands="MVNO" brand="Elisa- Saunalahti" cc="fi" country="Finland" operator="Elisa Oyj" status="Operational"
22 cc="fi" country="Finland" operator="EXFO Oy" status="Not operational"
23 cc="fi" country="Finland" operator="EXFO Oy" status="Not operational"
@@ -547,14 +558,14 @@
26 bands="MVNO" brand="Compatel" cc="fi" country="Finland" operator="Compatel Ltd" status="Operational"
27 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy"
28 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy"
- 29 bands="MVNO" cc="fi" country="Finland" operator="SCNL Truphone" status="Not operational"
- 30 bands="MVNO" brand="Vectone Mobile" cc="fi" country="Finland" operator="Mundio Mobile Oy" status="Not operational"
- 31 bands="MVNO" brand="Kuiri" cc="fi" country="Finland" operator="Ukko Mobile Oy" status="Not operational"
+ 29 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy"
+ 30 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy"
+ 31 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy"
32 bands="MVNO" brand="Voxbone" cc="fi" country="Finland" operator="Voxbone SA" status="Operational"
33 bands="TETRA" brand="VIRVE" cc="fi" country="Finland" operator="Suomen Virveverkko Oy" status="Operational"
34 bands="MVNO" brand="Bittium Wireless" cc="fi" country="Finland" operator="Bittium Wireless Oy" status="Operational"
- 35 bands="LTE 450 / TD-LTE 2600" brand="Ukko Mobile" cc="fi" country="Finland" operator="Ukkoverkot Oy" status="Operational"
- 36 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia / DNA" cc="fi" country="Finland" operator="Telia Finland Oyj / Suomen Yhteisverkko Oy" status="Operational"
+ 35 bands="LTE 450 / TD-LTE 2600" cc="fi" country="Finland" operator="Edzcom Oy" status="Operational"
+ 36 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Telia / DNA" cc="fi" country="Finland" operator="Telia Finland Oyj / Suomen Yhteisverkko Oy" status="Operational"
37 bands="MVNO" brand="Tismi" cc="fi" country="Finland" operator="Tismi BV" status="Operational"
38 cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy"
39 cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy"
@@ -563,18 +574,22 @@
42 cc="fi" country="Finland" operator="SMS Provider Corp."
43 cc="fi" country="Finland" operator="Telavox AB / Telavox Oy"
44 cc="fi" country="Finland" operator="Turun ammattikorkeakoulu Oy"
- 50 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 51 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 52 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 53 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 54 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 55 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 56 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 57 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 58 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 59 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr"
- 91 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="fi" country="Finland" operator="Telia Finland Oyj" status="Operational"
+ 45 cc="fi" country="Finland" operator="Suomen Turvallisuusverkko Oy"
+ 46 cc="fi" country="Finland" operator="Suomen Turvallisuusverkko Oy"
+ 47 cc="fi" country="Finland" operator="Suomen Turvallisuusverkko Oy"
+ 50 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 51 bands="NB-IoT 700" cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Operational"
+ 52 bands="5G 3500" cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Operational"
+ 53 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 54 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 55 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 56 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 57 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 58 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 59 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" status="Testing"
+ 91 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Telia" cc="fi" country="Finland" operator="Telia Finland Oyj" status="Operational"
92 brand="Sonera" cc="fi" country="Finland" operator="TeliaSonera Finland Oyj" status="Not operational"
+ 99 cc="fi" country="Finland" operator="Oy L M Ericsson Ab"
00-99
246
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Telia" cc="lt" country="Lithuania" operator="Telia Lietuva" status="Operational"
@@ -587,10 +602,11 @@
08 bands="WiMAX 3500 / TD-LTE 2300" brand="MEZON" cc="lt" country="Lithuania" operator="Lietuvos radijo ir televizijos centras" status="Operational"
09 cc="lt" country="Lithuania" operator="Interactive Digital Media GmbH"
11 cc="lt" country="Lithuania" operator="DATASIM OU"
+ 12 cc="lt" country="Lithuania" operator="Nord connect OU"
00-99
247
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="LMT" cc="lv" country="Latvia" operator="Latvian Mobile Telephone" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Tele2" cc="lv" country="Latvia" operator="Tele2" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Tele2" cc="lv" country="Latvia" operator="Tele2" status="Operational"
03 bands="CDMA 450" brand="TRIATEL" cc="lv" country="Latvia" operator="Telekom Baltija" status="Operational"
04 cc="lv" country="Latvia" operator="Beta Telecom" status="Not operational"
05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Bite" cc="lv" country="Latvia" operator="Bite Latvija" status="Operational"
@@ -616,6 +632,8 @@
14 cc="ee" country="Estonia" operator="Estonian Crafts OÜ"
15 cc="ee" country="Estonia" operator="Premium Net International S.R.L. Eesti filiaal" status="Not operational"
16 bands="MVNO" brand="dzinga" cc="ee" country="Estonia" operator="SmartTel Plus OÜ" status="Operational"
+ 17 cc="ee" country="Estonia" operator="Baltergo OÜ"
+ 18 cc="ee" country="Estonia" operator="Cloud Communications OÜ"
71 cc="ee" country="Estonia" operator="Siseministeerium (Ministry of Interior)"
00-99
250
@@ -623,11 +641,11 @@
02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="MegaFon" cc="ru" country="Russian Federation" operator="MegaFon PJSC" status="Operational"
03 bands="GSM 900 / GSM 1800" brand="NCC" cc="ru" country="Russian Federation" operator="Nizhegorodskaya Cellular Communications" status="Not operational"
04 bands="GSM 900" brand="Sibchallenge" cc="ru" country="Russian Federation" operator="Sibchallenge" status="Not operational"
- 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / CDMA2000 450" brand="ETK" cc="ru" country="Russian Federation" operator="Yeniseytelecom" status="Not operational"
- 06 bands="CDMA2000 450" brand="Skylink" cc="ru" country="Russian Federation" operator="CJSC Saratov System of Cellular Communications" status="Operational"
+ 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / CDMA 450" brand="ETK" cc="ru" country="Russian Federation" operator="Yeniseytelecom" status="Not operational"
+ 06 bands="CDMA 450" brand="Skylink" cc="ru" country="Russian Federation" operator="CJSC Saratov System of Cellular Communications" status="Operational"
07 bands="GSM 900 / GSM 1800" brand="SMARTS" cc="ru" country="Russian Federation" operator="Zao SMARTS" status="Not operational"
- 08 bands="GSM 900 / GSM 1800 / LTE 2300" brand="Vainah Telecom" cc="ru" country="Russian Federation" operator="CS "VainahTelecom"" status="Operational"
- 09 bands="CDMA2000 450" brand="Skylink" cc="ru" country="Russian Federation" operator="Khabarovsky Cellular Phone" status="Operational"
+ 08 bands="GSM 900 / GSM 1800 / TD-LTE 2300" brand="Vainah Telecom" cc="ru" country="Russian Federation" operator="CS "VainahTelecom"" status="Operational"
+ 09 bands="CDMA 450" brand="Skylink" cc="ru" country="Russian Federation" operator="Khabarovsky Cellular Phone" status="Operational"
10 bands="GSM 900" brand="DTC" cc="ru" country="Russian Federation" operator="Dontelekom" status="Not operational"
11 bands="MVNO" brand="Yota" cc="ru" country="Russian Federation" operator="Scartel" status="Operational"
12 bands="GSM 1800" brand="Akos" cc="ru" country="Russian Federation" operator="Baykal Westcom / New Telephone Company / Far Eastern Cellular" status="Not operational"
@@ -638,23 +656,23 @@
17 bands="GSM 900 / GSM 1800" brand="Utel" cc="ru" country="Russian Federation" operator="JSC Uralsvyazinform" status="Not operational"
18 bands="TD-LTE 2300" brand="Osnova Telecom" cc="ru" country="Russian Federation" status="Not operational"
19 bands="GSM 1800" brand="INDIGO" cc="ru" country="Russian Federation" operator="INDIGO" status="Not operational"
- 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 1800 / LTE 2600" brand="Tele2" cc="ru" country="Russian Federation" operator="Tele2" status="Operational"
+ 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 800 / LTE 1800 / TD-LTE 2300 / LTE 2600" brand="Tele2" cc="ru" country="Russian Federation" operator="Tele2" status="Operational"
21 bands="Satellite" brand="GlobalTel" cc="ru" country="Russian Federation" operator="JSC "GlobalTel"" status="Operational"
22 bands="TD-LTE 2300" cc="ru" country="Russian Federation" operator="Vainakh Telecom" status="Operational"
23 bands="Satellite MVNO" brand="Thuraya" cc="ru" country="Russian Federation" operator="GTNT" status="Operational"
27 bands="GSM 1800 / LTE 1800" brand="Letai" cc="ru" country="Russian Federation" operator="Tattelecom" status="Operational"
28 bands="GSM 900" brand="Beeline" cc="ru" country="Russian Federation" operator="Beeline" status="Not operational"
29 bands="Satellite MVNO" brand="Iridium" cc="ru" country="Russian Federation" operator="Iridium Communications" status="Operational"
- 32 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Win Mobile" cc="ru" country="Russian Federation" operator="K-Telecom" status="Operational"
- 33 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Sevmobile" cc="ru" country="Russian Federation" operator="Sevtelekom" status="Operational"
+ 32 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Win Mobile" cc="ru" country="Russian Federation" operator="K-Telecom" status="Operational"
+ 33 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Sevmobile" cc="ru" country="Russian Federation" operator="Sevtelekom" status="Operational"
34 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Krymtelekom" cc="ru" country="Russian Federation" operator="Krymtelekom" status="Operational"
- 35 bands="GSM 1800 / LTE 1800" brand="MOTIV" cc="ru" country="Russian Federation" operator="EKATERINBURG-2000" status="Operational"
+ 35 bands="GSM 1800 / LTE 1800 / TD-LTE 2600" brand="MOTIV" cc="ru" country="Russian Federation" operator="EKATERINBURG-2000" status="Operational"
38 bands="GSM 900 / GSM 1800" brand="Tambov GSM" cc="ru" country="Russian Federation" operator="Central Telecommunication Company" status="Not operational"
39 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / TD-LTE 2300 / LTE 2600" brand="Rostelecom" cc="ru" country="Russian Federation" operator="ROSTELECOM" status="Not operational"
44 cc="ru" country="Russian Federation" operator="Stavtelesot / North Caucasian GSM" status="Not operational"
50 bands="MVNO" brand="MTS" cc="ru" country="Russian Federation" operator="Bezlimitno.ru" status="Operational"
54 bands="LTE 1800" brand="TTK" cc="ru" country="Russian Federation" operator="Tattelecom" status="Not operational"
- 60 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Volna mobile" cc="ru" country="Russian Federation" operator="KTK Telecom" status="Operational"
+ 60 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Volna mobile" cc="ru" country="Russian Federation" operator="KTK Telecom" status="Operational"
61 bands="CDMA 800" brand="Intertelecom" cc="ru" country="Russian Federation" operator="Intertelecom" status="Not operational"
62 bands="MVNO" brand="Tinkoff Mobile" cc="ru" country="Russian Federation" operator="Tinkoff Mobile" status="Operational"
811 bands="AMPS / DAMPS / GSM 1800" cc="ru" country="Russian Federation" operator="Votek Mobile" status="Not operational"
@@ -697,8 +715,8 @@
99 bands="UMTS 2100" brand="Unité" cc="md" country="Moldova" operator="Moldtelecom" status="Operational"
00-99
260
- 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="Plus" cc="pl" country="Poland" operator="Polkomtel Sp. z o.o." status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2100" brand="T-Mobile" cc="pl" country="Poland" operator="T-Mobile Polska S.A." status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600 / 5G 2600" brand="Plus" cc="pl" country="Poland" operator="Polkomtel Sp. z o.o." status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2100 / 5G 2100" brand="T-Mobile" cc="pl" country="Poland" operator="T-Mobile Polska S.A." status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2100" brand="Orange" cc="pl" country="Poland" operator="Polska Telefonia Komórkowa Centertel Sp. z o.o." status="Operational"
04 brand="Aero2" cc="pl" country="Poland" operator="Aero 2 Sp. z o.o." status="Not operational"
05 bands="UMTS 2100" brand="Orange" cc="pl" country="Poland" operator="Polska Telefonia Komórkowa Centertel Sp. z o.o." status="Not operational"
@@ -707,7 +725,7 @@
08 cc="pl" country="Poland" operator="E-Telko Sp. z o.o." status="Not operational"
09 bands="MVNO" brand="Lycamobile" cc="pl" country="Poland" operator="Lycamobile Sp. z o.o." status="Operational"
10 brand="T-Mobile" cc="pl" country="Poland" operator="T-Mobile Polska S.A."
- 11 bands="CDMA2000 420" brand="Nordisk Polska" cc="pl" country="Poland" operator="Nordisk Polska Sp. z o.o." status="Operational"
+ 11 bands="CDMA2000 420" brand="Plus" cc="pl" country="Poland" operator="Polkomtel Sp. z o.o." status="Operational"
12 bands="MVNO" brand="Cyfrowy Polsat" cc="pl" country="Poland" operator="Cyfrowy Polsat S.A." status="Operational"
13 bands="MVNO" cc="pl" country="Poland" operator="Move Telecom S.A." status="Operational"
14 cc="pl" country="Poland" operator="Telco Leaders Ltd"
@@ -716,9 +734,9 @@
17 bands="UMTS 900 / TD-LTE 2600" brand="Aero2" cc="pl" country="Poland" operator="Aero 2 Sp. z o.o." status="Operational"
18 brand="AMD Telecom" cc="pl" country="Poland" operator="AMD Telecom S.A."
19 bands="MVNO" cc="pl" country="Poland" operator="SIA NetBalt"
- 20 cc="pl" country="Poland" operator="Wysyłaj SMS Polska Sp. z o.o."
- 21 brand="Exteri" cc="pl" country="Poland" operator="Exteri Sp. z o.o." status="Not operational"
- 22 brand="Arcomm" cc="pl" country="Poland" operator="Arcomm Sp. z o.o." status="Not operational"
+ 20 cc="pl" country="Poland" operator="Wysyłaj SMS Polska Sp. z o.o." status="Not operational"
+ 21 cc="pl" country="Poland" operator="private networks"
+ 22 cc="pl" country="Poland" operator="Twilio Ireland Limited"
23 cc="pl" country="Poland" operator="PGE Systemy S.A."
24 cc="pl" country="Poland" operator="IT Partners Telco Sp. z o.o."
25 cc="pl" country="Poland" operator="Polskie Sieci Radiowe Sp. z o.o. Sp. k.a." status="Not operational"
@@ -742,16 +760,17 @@
43 cc="pl" country="Poland" operator="Smart Idea International Sp. z o.o."
44 cc="pl" country="Poland" operator="Rebtel Poland Sp. z o.o." status="Not operational"
45 bands="MVNO" cc="pl" country="Poland" operator="Virgin Mobile Polska Sp. z o.o." status="Operational"
- 46 cc="pl" country="Poland" operator="Terra Telekom Sp. z o.o."
+ 46 cc="pl" country="Poland" operator="Terra Telekom Sp. z o.o." status="Not operational"
47 cc="pl" country="Poland" operator="SMShighway Limited"
48 cc="pl" country="Poland" operator="AGILE TELECOM S.P.A."
49 cc="pl" country="Poland" operator="Messagebird B.V."
+ 97 cc="pl" country="Poland" operator="Politechnika Łódzka Uczelniane Centrum Informatyczne"
98 bands="LTE 1800" brand="Play" cc="pl" country="Poland" operator="P4 Sp. z o.o." status="Not operational"
00-99
262
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G 3500" brand="Telekom" cc="de" country="Germany" operator="Telekom Deutschland GmbH" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="de" country="Germany" operator="Vodafone D2 GmbH" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="O2 " cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500" brand="Telekom" cc="de" country="Germany" operator="Telekom Deutschland GmbH" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G 700 / 5G 3500" brand="Vodafone" cc="de" country="Germany" operator="Vodafone D2 GmbH" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="O2 " cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Vodafone" cc="de" country="Germany" operator="Vodafone D2 GmbH" status="Reserved"
05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="O2 " cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Reserved"
06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Telekom" cc="de" country="Germany" operator="Telekom Deutschland GmbH" status="Reserved"
@@ -809,6 +828,7 @@
21 bands="CDMA2000 450" brand="Zapp" cc="pt" country="Portugal" operator="Zapp Portugal" status="Not operational"
80 brand="MEO" cc="pt" country="Portugal" operator="Telecomunicações Móveis Nacionais"
91 brand="Vodafone" cc="pt" country="Portugal" operator="Vodafone Portugal"
+ 93 brand="NOS" cc="pt" country="Portugal" operator="NOS Comunicações"
00-99
270
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="POST" cc="lu" country="Luxembourg" operator="POST Luxembourg" status="Operational"
@@ -838,11 +858,12 @@
16 bands="MVNO" brand="Carphone Warehouse" cc="ie" country="Ireland" operator="Carphone Warehouse" status="Operational"
17 brand="3" cc="ie" country="Ireland" operator="Hutchison 3G Ireland limited"
18 bands="MVNO" cc="ie" country="Ireland" operator="Cubic Telecom Limited" status="Operational"
+ 21 bands="MVNO" cc="ie" country="Ireland" operator="Net Feasa Limited" status="Operational"
00-99
274
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Síminn" cc="is" country="Iceland" operator="Iceland Telecom" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Vodafone" cc="is" country="Iceland" operator="Og fjarskipti hf" status="Operational"
- 03 brand="Vodafone" cc="is" country="Iceland" operator="Og fjarskipti hf" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Vodafone" cc="is" country="Iceland" operator="Sýn" status="Operational"
+ 03 brand="Vodafone" cc="is" country="Iceland" operator="Sýn" status="Operational"
04 bands="GSM 1800" brand="Viking" cc="is" country="Iceland" operator="IMC Island ehf" status="Operational"
05 bands="GSM 1800" cc="is" country="Iceland" operator="Halló Frjáls fjarskipti hf." status="Not operational"
06 cc="is" country="Iceland" operator="Núll níu ehf" status="Not operational"
@@ -853,12 +874,13 @@
16 cc="is" country="Iceland" operator="Tismi BV"
22 cc="is" country="Iceland" operator="Landhelgisgæslan (Icelandic Coast Guard)"
31 brand="Síminn" cc="is" country="Iceland" operator="Iceland Telecom"
+ 91 bands="Tetra" cc="is" country="Iceland" operator="Neyðarlínan" status="Operational"
00-99
276
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Telekom.al" cc="al" country="Albania" operator="Telekom Albania" status="Operational"
02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Vodafone" cc="al" country="Albania" operator="Vodafone Albania" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Eagle Mobile" cc="al" country="Albania" operator="Albtelecom" status="Operational"
- 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Plus Communication" cc="al" country="Albania" operator="Plus Communication" status="Operational"
+ 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Plus Communication" cc="al" country="Albania" operator="Plus Communication" status="Not operational"
00-99
278
01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Vodafone" cc="mt" country="Malta" operator="Vodafone Malta" status="Operational"
@@ -876,10 +898,10 @@
23 bands="MVNO" brand="Vectone Mobile" cc="cy" country="Cyprus" operator="Mundio Mobile Cyprus Ltd." status="Not operational"
00-99
282
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2300" brand="Geocell" cc="ge" country="Georgia" operator="Silknet" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Magti" cc="ge" country="Georgia" operator="MagtiCom" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Geocell" cc="ge" country="Georgia" operator="Silknet" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Magti" cc="ge" country="Georgia" operator="MagtiCom" status="Operational"
03 bands="CDMA 450" brand="MagtiFix" cc="ge" country="Georgia" operator="MagtiCom" status="Operational"
- 04 bands="GSM 1800 / UMTS 2100 / LTE 800" brand="Beeline" cc="ge" country="Georgia" operator="Mobitel" status="Operational"
+ 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Beeline" cc="ge" country="Georgia" operator="Mobitel" status="Operational"
05 bands="CDMA 800" brand="S1" cc="ge" country="Georgia" operator="Silknet" status="Operational"
06 cc="ge" country="Georgia" operator="JSC Compatel"
07 bands="MVNO" brand="GlobalCell" cc="ge" country="Georgia" operator="GlobalCell" status="Operational"
@@ -887,14 +909,15 @@
09 cc="ge" country="Georgia" operator="Gmobile" status="Operational"
10 cc="ge" country="Georgia" operator="Premium Net International SRL"
11 cc="ge" country="Georgia" operator="Mobilive"
- 12 cc="ge" country="Georgia" operator="Datacomm Ltd"
+ 12 cc="ge" country="Georgia" operator="Telecom1 Ltd"
13 cc="ge" country="Georgia" operator="Asanet Ltd"
+ 14 bands="MVNO" brand="DataCell" cc="ge" country="Georgia" operator="DataHouse Global"
00-99
283
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 1800" brand="Beeline" cc="am" country="Armenia" operator="Veon Armenia CJSC" status="Operational"
04 bands="GSM 900 / UMTS 900" brand="Karabakh Telecom" cc="am" country="Armenia" operator="Karabakh Telecom" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="VivaCell-MTS" cc="am" country="Armenia" operator="K Telecom CJSC" status="Operational"
- 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Ucom" cc="am" country="Armenia" operator="Ucom LLC" status="Operational"
+ 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Ucom" cc="am" country="Armenia" operator="Ucom LLC" status="Operational"
00-99
284
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="A1" cc="bg" country="Bulgaria" operator="A1 Bulgaria" status="Operational"
@@ -906,14 +929,14 @@
13 bands="LTE 1800" brand="Ти.ком" cc="bg" country="Bulgaria" operator="Ti.com JSC" status="Operational"
00-99
286
- 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="Turkcell" cc="tr" country="Turkey" operator="Turkcell Iletisim Hizmetleri A.S." status="Operational"
+ 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="Turkcell" cc="tr" country="Turkey" operator="Turkcell Iletisim Hizmetleri A.S." status="Operational"
02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Vodafone" cc="tr" country="Turkey" operator="Vodafone Turkey" status="Operational"
- 03 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Türk Telekom" cc="tr" country="Turkey" operator="Türk Telekom" status="Operational"
+ 03 bands="GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Türk Telekom" cc="tr" country="Turkey" operator="Türk Telekom" status="Operational"
04 bands="GSM 1800" brand="Aycell" cc="tr" country="Turkey" operator="Aycell" status="Not operational"
00-99
288
- 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Faroese Telecom" cc="fo" country="Faroe Islands (Denmark)" operator="Faroese Telecom" status="Operational"
- 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Hey" cc="fo" country="Faroe Islands (Denmark)" operator="Vodafone Faroe Islands" status="Operational"
+ 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Føroya Tele" cc="fo" country="Faroe Islands (Denmark)" operator="Føroya Tele" status="Operational"
+ 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Hey" cc="fo" country="Faroe Islands (Denmark)" operator="Nema" status="Operational"
03 cc="fo" country="Faroe Islands (Denmark)" operator="Tosa Sp/F"
00-99
289
@@ -922,7 +945,7 @@
00-99
290
01 bands="GSM 900 / UMTS 900 / LTE 800" cc="gl" country="Greenland (Denmark)" operator="TELE Greenland A/S" status="Operational"
- 02 bands="TD-LTE 2500" brand="Nuuk TV" cc="gl" country="Greenland (Denmark)" operator="inu:it a/s" status="Operational"
+ 02 bands="TD-LTE 2500" brand="Nanoq Media" cc="gl" country="Greenland (Denmark)" operator="inu:it a/s" status="Operational"
00-99
292
01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="PRIMA" cc="sm" country="San Marino" operator="San Marino Telecom" status="Operational"
@@ -934,6 +957,7 @@
41 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="Mobitel" cc="si" country="Slovenia" operator="Telekom Slovenije" status="Operational"
64 bands="UMTS 2100" brand="T-2" cc="si" country="Slovenia" operator="T-2 d.o.o." status="Operational"
70 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Telemach" cc="si" country="Slovenia" operator="Tušmobil d.o.o." status="Operational"
+ 86 cc="si" country="Slovenia" operator="ELEKTRO GORENJSKA, d.d"
00-99
294
01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Telekom.mk" cc="mk" country="North Macedonia" operator="Makedonski Telekom" status="Operational"
@@ -948,7 +972,7 @@
02 bands="GSM 1800 / UMTS 2100 / LTE 1800" brand="7acht" cc="li" country="Liechtenstein" operator="Salt Liechtenstein AG" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="FL1" cc="li" country="Liechtenstein" operator="Telecom Liechtenstein AG" status="Operational"
06 bands="MVNO" brand="Cubic Telecom" cc="li" country="Liechtenstein" operator="Cubic Telecom AG" status="Operational"
- 07 bands="MVNO" cc="li" country="Liechtenstein" operator="First Mobile AG"
+ 07 bands="MVNO" cc="li" country="Liechtenstein" operator="First Mobile AG" status="Not operational"
09 bands="MVNO" cc="li" country="Liechtenstein" operator="EMnify GmbH"
10 bands="MVNO" cc="li" country="Liechtenstein" operator="Soracom LI Ltd."
11 bands="MVNO" cc="li" country="Liechtenstein" operator="DIMOCO Messaging AG"
@@ -963,11 +987,12 @@
100 bands="MVNO" brand="dotmobile" cc="ca" country="Canada" operator="Data on Tap Inc."
130 bands="TD-LTE 3500 / WiMAX" brand="Xplornet" cc="ca" country="Canada" operator="Xplornet Communications" status="Operational"
131 bands="TD-LTE 3500 / WiMAX" brand="Xplornet" cc="ca" country="Canada" operator="Xplornet Communications" status="Operational"
- 220 bands="UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Telus Mobility, Koodo Mobile, Public Mobile" cc="ca" country="Canada" operator="Telus Mobility" status="Operational"
+ 150 cc="ca" country="Canada" operator="Cogeco Connexion Inc."
+ 220 bands="UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600 / 5G 1700" brand="Telus Mobility, Koodo Mobile, Public Mobile" cc="ca" country="Canada" operator="Telus Mobility" status="Operational"
221 brand="Telus" cc="ca" country="Canada" operator="Telus Mobility"
222 brand="Telus" cc="ca" country="Canada" operator="Telus Mobility"
250 brand="ALO" cc="ca" country="Canada" operator="ALO Mobile Inc."
- 270 bands="UMTS 1700 / LTE 1700" brand="EastLink" cc="ca" country="Canada" operator="Bragg Communications" status="Operational"
+ 270 bands="UMTS 1700 / LTE 700 / LTE 1700" brand="EastLink" cc="ca" country="Canada" operator="Bragg Communications" status="Operational"
290 bands="iDEN 900" brand="Airtel Wireless" cc="ca" country="Canada" operator="Airtel Wireless" status="Operational"
300 bands="LTE 700 / LTE 850 / LTE 2600" brand="ECOTEL" cc="ca" country="Canada" operator="Ambra Solutions"
310 bands="LTE 700 / LTE 850 / LTE 2600" brand="ECOTEL" cc="ca" country="Canada" operator="Ambra Solutions"
@@ -984,17 +1009,17 @@
480 bands="GSM 1900 / LTE 2600" brand="Qiniq" cc="ca" country="Canada" operator="SSi Connexions" status="Operational"
490 bands="UMTS 1700 / LTE 700 / LTE 1700 / LTE 2600" brand="Freedom Mobile" cc="ca" country="Canada" operator="Shaw Communications" status="Operational"
491 brand="Freedom Mobile" cc="ca" country="Canada" operator="Shaw Communications"
- 500 bands="UMTS 1700 / LTE 1700" brand="Videotron" cc="ca" country="Canada" operator="Videotron" status="Operational"
- 510 bands="UMTS 1700 / LTE 1700" brand="Videotron" cc="ca" country="Canada" operator="Videotron" status="Operational"
+ 500 bands="UMTS 1700 / LTE 700 / LTE 1700" brand="Videotron" cc="ca" country="Canada" operator="Videotron" status="Operational"
+ 510 bands="UMTS 1700 / LTE 700 / LTE 1700" brand="Videotron" cc="ca" country="Canada" operator="Videotron" status="Operational"
520 brand="Videotron" cc="ca" country="Canada" operator="Videotron"
530 bands="GSM" brand="Keewaytinook Mobile" cc="ca" country="Canada" operator="Keewaytinook Okimakanak Mobile" status="Operational"
540 cc="ca" country="Canada" operator="Rovvr Communications Inc."
550 bands="LTE?" cc="ca" country="Canada" operator="Star Solutions International Inc."
- 560 bands="CDMA / GSM" brand="Lynx Mobility" cc="ca" country="Canada" operator="Lynx Mobility" status="Operational"
+ 560 bands="CDMA / GSM" brand="Lynx Mobility" cc="ca" country="Canada" operator="Lynx Mobility" status="Not operational"
570 brand="LightSquared" cc="ca" country="Canada" operator="LightSquared"
590 brand="Quadro Mobility" cc="ca" country="Canada" operator="Quadro Communications Co-op" status="Operational"
600 cc="ca" country="Canada" operator="Iristel"
- 610 bands="UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900 / LTE 2600" brand="Bell Mobility, Virgin Mobile Canada" cc="ca" country="Canada" operator="Bell Mobility" status="Operational"
+ 610 bands="UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900 / LTE 2600 / 5G 1700" brand="Bell Mobility" cc="ca" country="Canada" operator="Bell Mobility" status="Operational"
620 bands="UMTS 850 / GSM 1900 / LTE 850 / LTE 1900" brand="ICE Wireless" cc="ca" country="Canada" operator="ICE Wireless" status="Operational"
630 brand="Aliant Mobility" cc="ca" country="Canada" operator="Bell Aliant"
640 bands="CDMA 800 / CDMA 1900" brand="Bell" cc="ca" country="Canada" operator="Bell Mobility" status="Not operational"
@@ -1012,14 +1037,14 @@
702 bands="CDMA2000" cc="ca" country="Canada" operator="MT&T Mobility (Aliant)" status="Not operational"
703 bands="CDMA2000" cc="ca" country="Canada" operator="New Tel Mobility (Aliant)" status="Not operational"
710 bands="Satellite CDMA" brand="Globalstar" cc="ca" country="Canada" status="Operational"
- 720 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600" brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" status="Operational"
+ 720 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600 / 5G 2500" brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" status="Operational"
721 brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications"
730 brand="TerreStar Solutions" cc="ca" country="Canada" operator="TerreStar Networks"
740 brand="Shaw Telecom" cc="ca" country="Canada" operator="Shaw Communications" status="Not operational"
750 brand="SaskTel" cc="ca" country="Canada" operator="SaskTel Mobility"
760 bands="MVNO" brand="Public Mobile" cc="ca" country="Canada" operator="Telus Mobility" status="Operational"
770 bands="UMTS 850" brand="TNW Wireless" cc="ca" country="Canada" operator="TNW Wireless Inc." status="Operational"
- 780 bands="UMTS 850 / UMTS 1900 / LTE 1700" brand="SaskTel" cc="ca" country="Canada" operator="SaskTel Mobility" status="Operational"
+ 780 bands="UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700" brand="SaskTel" cc="ca" country="Canada" operator="SaskTel Mobility" status="Operational"
790 bands="WiMAX / TD-LTE 3500" cc="ca" country="Canada" operator="NetSet Communications" status="Operational"
820 brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications"
860 brand="Telus" cc="ca" country="Canada" operator="Telus Mobility"
@@ -1028,10 +1053,14 @@
940 bands="UMTS 850 / UMTS 1900" brand="Wightman Mobility" cc="ca" country="Canada" operator="Wightman Telecom" status="Operational"
990 cc="ca" country="Canada" operator="Ericsson Canada"
991 cc="ca" country="Canada" operator="Halton Regional Police Service"
+ 996 cc="ca" country="Canada" operator="Powertech Labs"
+ 997 cc="ca" country="Canada" operator="Powertech Labs"
+ 998 cc="ca" country="Canada" operator="Powertech Labs"
000-999
308
01 bands="GSM 900" brand="Ameris" cc="pm" country="Saint Pierre and Miquelon (France)" operator="St. Pierre-et-Miquelon Télécom" status="Operational"
02 bands="GSM 900 / LTE 800" brand="GLOBALTEL" cc="pm" country="Saint Pierre and Miquelon (France)" operator="GLOBALTEL" status="Operational"
+ 03 brand="Ameris" cc="pm" country="Saint Pierre and Miquelon (France)" operator="St. Pierre-et-Miquelon Télécom"
00-99
310
004 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational"
@@ -1046,7 +1075,7 @@
017 bands="iDEN" brand="ProxTel" cc="us" country="United States of America" operator="North Sight Communications Inc." status="Not operational"
020 bands="GSM 850 / GSM 1900 / UMTS" brand="Union Wireless" cc="us" country="United States of America" operator="Union Telephone Company" status="Operational"
030 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational"
- 032 bands="CDMA 1900 / GSM 1900 / LTE 700" brand="IT&E Wireless" cc="us" country="United States of America" operator="IT&E Overseas, Inc" status="Operational"
+ 032 bands="CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 700" brand="IT&E Wireless" cc="us" country="United States of America" operator="IT&E Overseas, Inc" status="Operational"
033 cc="us" country="United States of America" operator="Guam Telephone Authority"
034 bands="iDEN" brand="Airpeak" cc="us" country="United States of America" operator="Airpeak" status="Operational"
035 brand="ETEX Wireless" cc="us" country="United States of America" operator="ETEX Communications, LP"
@@ -1060,7 +1089,7 @@
080 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational"
090 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational"
100 bands="GSM 850 / UMTS 850 / UMTS 1700" brand="Plateau Wireless" cc="us" country="United States of America" operator="New Mexico RSA 4 East LP" status="Operational"
- 110 bands="CDMA / GSM 850 / LTE 700" brand="IT&E Wireless" cc="us" country="United States of America" operator="PTI Pacifica Inc." status="Operational"
+ 110 bands="CDMA / GSM 850 / UMTS 1900 / LTE 700" brand="IT&E Wireless" cc="us" country="United States of America" operator="PTI Pacifica Inc." status="Operational"
120 bands="CDMA2000 1900 / LTE 850 / LTE 1900" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Operational"
130 bands="CDMA2000 1900" brand="Carolina West Wireless" cc="us" country="United States of America" operator="Carolina West Wireless" status="Operational"
140 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700" brand="GTA Wireless" cc="us" country="United States of America" operator="Teleguam Holdings, LLC" status="Operational"
@@ -1107,10 +1136,19 @@
540 bands="GSM 850 / GSM 1900" brand="Phoenix" cc="us" country="United States of America" operator="Hilliary Communications" status="Operational"
550 cc="us" country="United States of America" operator="Syniverse Technologies"
560 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Not operational"
- 570 bands="GSM 850 / LTE 700" brand="Cellular One" cc="us" country="United States of America" operator="TX-10, LLC and Central Louisiana Cellular, LLC (MTPCS)" status="Operational"
+ 570 bands="GSM 850 / LTE 700" cc="us" country="United States of America" operator="Broadpoint, LLC" status="Operational"
580 bands="CDMA2000" cc="us" country="United States of America" operator="Inland Cellular Telephone Company" status="Operational"
59 bands="CDMA" brand="Cellular One" cc="bm" country="Bermuda" status="Operational"
590 bands="GSM 850 / GSM 1900" cc="us" country="United States of America" operator="Verizon Wireless"
+ 591 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 592 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 593 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 594 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 595 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 596 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 597 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 598 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
+ 599 bands="Unknwon" cc="us" country="United States of America" operator="Verizon Wireless"
600 bands="CDMA2000 850 / CDMA2000 1900" brand="Cellcom" cc="us" country="United States of America" operator="NewCell Inc." status="Operational"
610 bands="GSM 1900" brand="Epic PCS" cc="us" country="United States of America" operator="Elkhart Telephone Co." status="Not operational"
620 brand="Cellcom" cc="us" country="United States of America" operator="Nsighttel Wireless LLC"
@@ -1141,6 +1179,15 @@
870 bands="GSM 850" brand="PACE" cc="us" country="United States of America" operator="Kaplan Telephone Company" status="Not operational"
880 bands="LTE" brand="DTC Wireless" cc="us" country="United States of America" operator="Advantage Cellular Systems, Inc." status="Operational"
890 bands="GSM 850 / GSM 1900" cc="us" country="United States of America" operator="Verizon Wireless"
+ 891 cc="us" country="United States of America" operator="Verizon Wireless"
+ 892 cc="us" country="United States of America" operator="Verizon Wireless"
+ 893 cc="us" country="United States of America" operator="Verizon Wireless"
+ 894 cc="us" country="United States of America" operator="Verizon Wireless"
+ 895 cc="us" country="United States of America" operator="Verizon Wireless"
+ 896 cc="us" country="United States of America" operator="Verizon Wireless"
+ 897 cc="us" country="United States of America" operator="Verizon Wireless"
+ 898 cc="us" country="United States of America" operator="Verizon Wireless"
+ 899 cc="us" country="United States of America" operator="Verizon Wireless"
900 bands="CDMA2000 850 / CDMA2000 1900" brand="Mid-Rivers Wireless" cc="us" country="United States of America" operator="Cable & Communications Corporation" status="Operational"
910 bands="GSM 850" cc="us" country="United States of America" operator="Verizon Wireless"
920 bands="CDMA" cc="us" country="United States of America" operator="James Valley Wireless, LLC" status="Operational"
@@ -1276,7 +1323,7 @@
930 bands="LTE 700" cc="us" country="United States of America" operator="Syringa Wireless" status="Not operational"
940 bands="WiMAX" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Not operational"
950 bands="CDMA / LTE 700" brand="ETC" cc="us" country="United States of America" operator="Enhanced Telecommmunications Corp." status="Operational"
- 960 bands="MVNO" brand="Lycamobile" cc="us" country="United States of America" operator="Lycamobile USA Inc." status="Operational"
+ 960 bands="MVNO" brand="Lycamobile" cc="us" country="United States of America" operator="Lycamobile USA Inc." status="Not operational"
970 bands="LTE 1700" brand="Big River Broadband" cc="us" country="United States of America" operator="Big River Broadband, LLC" status="Operational"
980 cc="us" country="United States of America" operator="LigTel Communications"
990 bands="LTE 700 / LTE 1700" cc="us" country="United States of America" operator="VTel Wireless" status="Operational"
@@ -1287,7 +1334,7 @@
040 bands="LTE 700" cc="us" country="United States of America" operator="Custer Telephone Co-op (CTCI)" status="Operational"
050 bands="LTE 700" cc="us" country="United States of America" operator="Fuego Wireless" status="Not operational"
060 bands="CDMA / GSM" cc="us" country="United States of America" operator="CoverageCo"
- 070 bands="LTE 700" cc="us" country="United States of America" operator="Adams Networks Inc" status="Operational"
+ 070 bands="LTE 700" cc="us" country="United States of America" operator="Adams Networks Inc" status="Not operational"
080 bands="UMTS-TDD 700" brand="SyncSouth" cc="us" country="United States of America" operator="South Georgia Regional Information Technology Authority" status="Operational"
090 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility"
100 cc="us" country="United States of America" operator="ClearSky Technologies, Inc."
@@ -1345,7 +1392,7 @@
620 bands="MVNO" cc="us" country="United States of America" operator="GlobeTouch Inc." status="Operational"
630 cc="us" country="United States of America" operator="NetGenuity, Inc."
640 brand="Nemont" cc="us" country="United States of America" operator="Sagebrush Cellular, Inc." status="Not operational"
- 650 cc="us" country="United States of America" operator="365 Wireless LLC"
+ 650 cc="us" country="United States of America" operator="Brightlink"
660 bands="LTE 1900" brand="nTelos" cc="us" country="United States of America" operator="nTelos Wireless" status="Not operational"
670 brand="FirstNet" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational"
680 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility"
@@ -1388,11 +1435,20 @@
040 bands="CDMA" brand="NNTC Wireless" cc="us" country="United States of America" operator="Nucla-Naturita Telephone Company" status="Operational"
050 bands="CDMA" brand="Breakaway Wireless" cc="us" country="United States of America" operator="Manti Tele Communications Company, Inc." status="Not operational"
060 cc="us" country="United States of America" operator="Country Wireless" status="Operational"
+ 061 cc="us" country="United States of America" operator="Country Wireless"
070 cc="us" country="United States of America" operator="Midwest Network Solutions Hub LLC"
080 cc="us" country="United States of America" operator="Speedwavz LLP" status="Operational"
090 cc="us" country="United States of America" operator="Vivint Wireless, Inc." status="Operational"
- 100 bands="LTE 700" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband" status="Operational"
- 110 cc="us" country="United States of America"
+ 100 bands="LTE 700" brand="FirstNet" cc="us" country="United States of America" operator="AT&T FirstNet" status="Operational"
+ 110 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="AT&T FirstNet"
+ 120 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="AT&T FirstNet"
+ 130 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="AT&T FirstNet"
+ 140 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="AT&T FirstNet"
+ 150 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband"
+ 160 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband"
+ 170 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband"
+ 180 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband"
+ 190 bands="LTE" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband"
200 cc="us" country="United States of America" operator="Mercury Network Corporation" status="Operational"
210 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility"
220 cc="us" country="United States of America" operator="Custer Telephone Co-op (CTCI)"
@@ -1415,7 +1471,7 @@
390 bands="MVNO" cc="us" country="United States of America" operator="Altice USA Wireless, Inc."
400 cc="us" country="United States of America" operator="Texoma Communications, LLC"
410 cc="us" country="United States of America" operator="pdvWireless"
- 420 cc="us" country="United States of America" operator="Hudson Valley Wireless"
+ 420 bands="LTE 3500" cc="us" country="United States of America" operator="Hudson Valley Wireless"
440 cc="us" country="United States of America" operator="Arvig Enterprises, Inc."
450 cc="us" country="United States of America" operator="Spectrum Wireless Holdings, LLC"
460 bands="MVNO" cc="us" country="United States of America" operator="Mobi, Inc." status="Operational"
@@ -1428,6 +1484,32 @@
540 cc="us" country="United States of America" operator="Nokia Innovations US LLC"
550 cc="us" country="United States of America" operator="Mile High Networks LLC" status="Operational"
560 cc="us" country="United States of America" operator="Transit Wireless LLC" status="Operational"
+ 570 brand="Pioneer Cellular" cc="us" country="United States of America" operator="Cellular Network Partnership"
+ 580 cc="us" country="United States of America" operator="Telecall Telecommunications Corp."
+ 590 brand="Southern LINC" cc="us" country="United States of America" operator="Southern Communications Services, Inc."
+ 600 cc="us" country="United States of America" operator="ST Engineering iDirect"
+ 610 cc="us" country="United States of America" operator="Crystal Automation Systems, Inc."
+ 620 bands="1700" cc="us" country="United States of America" operator="Screened Images, Inc."
+ 630 cc="us" country="United States of America" operator="LICT Corporation"
+ 640 bands="LTE 3500" cc="us" country="United States of America" operator="Geoverse LLC"
+ 650 cc="us" country="United States of America" operator="Chevron USA, Inc."
+ 660 bands="LTE 3500" cc="us" country="United States of America" operator="Hudson Valley Wireless"
+ 670 bands="LTE 3500" cc="us" country="United States of America" operator="Hudson Valley Wireless"
+ 680 bands="LTE 3500" cc="us" country="United States of America" operator="Hudson Valley Wireless"
+ 690 bands="LTE" cc="us" country="United States of America" operator="Shenandoah Cable Television, LLC" status="Operational"
+ 700 bands="800" cc="us" country="United States of America" operator="Ameren Services Company"
+ 710 cc="us" country="United States of America" operator="Extent Systems"
+ 720 cc="us" country="United States of America" operator="1st Point Communications, LLC"
+ 730 cc="us" country="United States of America" operator="TruAccess Networks"
+ 740 cc="us" country="United States of America" operator="RTO Wireless, LLC"
+ 750 brand="ZipLink" cc="us" country="United States of America" operator="313-CellTex Networks, LLC"
+ 760 bands="MVNO" cc="us" country="United States of America" operator="Hologram, Inc." status="Operational"
+ 770 bands="MVNO" cc="us" country="United States of America" operator="Tango Networks"
+ 000-999
+314
+ 020 cc="us" country="United States of America" operator="Spectrum Wireless Holdings, LLC"
+ 030 bands="LTE" cc="us" country="United States of America" operator="Baicells Technologies North America Inc."
+ 100 cc="us" country="United States of America"
000-999
316
011 bands="iDEN 800" brand="Southern LINC" cc="us" country="United States of America" operator="Southern Communications Services" status="Not operational"
@@ -1439,11 +1521,11 @@
000-999
334
001 cc="mx" country="Mexico" operator="Comunicaciones Digitales Del Norte, S.A. de C.V."
- 010 bands="iDEN 800" brand="AT&T" cc="mx" country="Mexico" operator="AT&T Mexico" status="Operational"
+ 010 bands="iDEN 800" brand="AT&T" cc="mx" country="Mexico" operator="AT&T Mexico" status="Not operational"
020 bands="GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Telcel" cc="mx" country="Mexico" operator="América Móvil" status="Operational"
- 030 bands="GSM 1900 / UMTS 850 / LTE 1900" brand="Movistar" cc="mx" country="Mexico" operator="Telefónica" status="Operational"
+ 030 bands="MVNO" brand="Movistar" cc="mx" country="Mexico" operator="Telefónica" status="Operational"
040 bands="CDMA2000 800 / CDMA2000 1900" brand="Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" status="Not operational"
- 050 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / UMTS 1700 / LTE 850 / LTE 1700" brand="AT&T / Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" status="Operational"
+ 050 bands="UMTS 850 / UMTS 1900 / UMTS 1700 / LTE 850 / LTE 1700" brand="AT&T / Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" status="Operational"
060 cc="mx" country="Mexico" operator="Servicios de Acceso Inalambrico, S.A. de C.V."
066 cc="mx" country="Mexico" operator="Telefonos de México, S.A.B. de C.V."
070 brand="Unefon" cc="mx" country="Mexico" operator="AT&T Mexico"
@@ -1465,21 +1547,22 @@
180 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900" brand="FLOW" cc="jm" country="Jamaica" operator="Cable & Wireless Communications" status="Operational"
000-999
340
- 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100" brand="Orange" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Orange Caraïbe Mobiles" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="SFR Caraïbe" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Outremer Telecom" status="Operational"
+ 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Orange" country="'French Guiana (France) - GF'" operator="Orange Caraïbe Mobiles" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="SFR Caraïbe" country="'French Guiana (France) - GF'" operator="Outremer Telecom" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS / LTE 1800" brand="Chippie" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="UTS Caraïbe" status="Operational"
+ 04 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Free" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Free Caraïbe" status="Upcoming"
08 bands="GSM 900 / GSM 1800 / UMTS / LTE" brand="Dauphin" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Dauphin Telecom" status="Operational"
- 09 brand="Free" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Free Mobile"
+ 09 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Free" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Free Caraïbe" status="Upcoming"
10 country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Guadeloupe Téléphone Mobile" status="Not operational"
- 11 country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Guyane Téléphone Mobile" status="Not operational"
+ 11 country="'French Guiana (France) - GF'" operator="Guyane Téléphone Mobile" status="Not operational"
12 country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Martinique Téléphone Mobile" status="Not operational"
- 20 bands="GSM 900 / UMTS 2100" brand="Digicel" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="DIGICEL Antilles Française Guyane" status="Operational"
+ 20 bands="GSM 900 / UMTS 2100 / LTE 800" brand="Digicel" country="'French Guiana (France) - GF'" operator="DIGICEL Antilles Française Guyane" status="Operational"
00-99
342
600 bands="GSM 1900 / UMTS 850 / LTE 850 / LTE 1900" brand="FLOW" cc="bb" country="Barbados" operator="LIME (formerly known as Cable & Wireless)" status="Operational"
750 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1900" brand="Digicel" cc="bb" country="Barbados" operator="Digicel (Barbados) Limited" status="Operational"
- 800 bands="LTE 700" brand="Ozone" cc="bb" country="Barbados" operator="Ozone Wireless Inc." status="Operational"
- 820 cc="bb" country="Barbados" operator="Sunbeach Communications" status="Not operational"
+ 800 bands="LTE 700" brand="Ozone" cc="bb" country="Barbados" operator="Ozone Wireless Inc." status="Not operational"
+ 820 bands="CDMA" cc="bb" country="Barbados" operator="Sunbeach Communications" status="Not operational"
000-999
344
030 bands="GSM 1900" brand="APUA" cc="ag" country="Antigua and Barbuda" operator="Antigua Public Utilities Authority" status="Operational"
@@ -1489,25 +1572,26 @@
000-999
346
001 brand="Logic" cc="ky" country="Cayman Islands (United Kingdom)" operator="WestTel Ltd."
- 050 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Digicel" cc="ky" country="Cayman Islands (United Kingdom)" operator="Digicel Cayman Ltd." status="Operational"
+ 050 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800" brand="Digicel" cc="ky" country="Cayman Islands (United Kingdom)" operator="Digicel Cayman Ltd." status="Operational"
140 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900" brand="FLOW" cc="ky" country="Cayman Islands (United Kingdom)" operator="Cable & Wireless (Cayman Islands) Limited" status="Operational"
000-999
348
- 170 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1900" brand="FLOW" cc="vg" country="British Virgin Islands" operator="Cable & Wireless" status="Operational"
+ 170 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900" brand="FLOW" cc="vg" country="British Virgin Islands" operator="Cable & Wireless" status="Operational"
370 cc="vg" country="British Virgin Islands" operator="BVI Cable TV Ltd"
570 bands="GSM 900 / GSM 1900 / UMTS 850 / LTE 900 / LTE 1900" brand="CCT Boatphone" cc="vg" country="British Virgin Islands" operator="Caribbean Cellular Telephone" status="Operational"
- 770 bands="GSM 1800 / GSM 1900 / UMTS 1900 / LTE 700" brand="Digicel" cc="vg" country="British Virgin Islands" operator="Digicel (BVI) Limited" status="Operational"
+ 770 bands="GSM 1800 / GSM 1900 / UMTS 1900 / LTE 700 / LTE 1700" brand="Digicel" cc="vg" country="British Virgin Islands" operator="Digicel (BVI) Limited" status="Operational"
000-999
350
- 000 bands="GSM 1900 / UMTS 850 / LTE 850" brand="CellOne" cc="bm" country="Bermuda" operator="Bermuda Digital Communications Ltd." status="Operational"
+ 00 bands="GSM 1900 / UMTS 850 / LTE 700" brand="One" cc="bm" country="Bermuda" operator="Bermuda Digital Communications Ltd." status="Operational"
01 bands="GSM 1900" brand="Digicel Bermuda" cc="bm" country="Bermuda" operator="Telecommunications (Bermuda & West Indies) Ltd" status="Reserved"
02 bands="GSM 1900 / UMTS" brand="Mobility" cc="bm" country="Bermuda" operator="M3 Wireless" status="Operational"
05 cc="bm" country="Bermuda" operator="Telecom Networks"
11 cc="bm" country="Bermuda" operator="Deltronics"
15 cc="bm" country="Bermuda" operator="FKB Net Ltd."
+ 00-99
352
- 030 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Digicel" cc="gd" country="Grenada" operator="Digicel Grenada Ltd." status="Operational"
- 110 bands="GSM 850 / LTE" brand="FLOW" cc="gd" country="Grenada" operator="Cable & Wireless Grenada Ltd." status="Operational"
+ 030 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700" brand="Digicel" cc="gd" country="Grenada" operator="Digicel Grenada Ltd." status="Operational"
+ 110 bands="GSM 850 / UMTS 850 / LTE 700" brand="FLOW" cc="gd" country="Grenada" operator="Cable & Wireless Grenada Ltd." status="Operational"
000-999
354
860 bands="GSM 850" brand="FLOW" cc="ms" country="Montserrat (United Kingdom)" operator="Cable & Wireless" status="Operational"
@@ -1523,7 +1607,7 @@
360
050 bands="GSM 900 / GSM 1800 / GSM 1900 / LTE 700" brand="Digicel" cc="vc" country="Saint Vincent and the Grenadines" operator="Digicel (St. Vincent and the Grenadines) Limited" status="Operational"
100 bands="GSM 850" brand="Cingular Wireless" cc="vc" country="Saint Vincent and the Grenadines"
- 110 bands="GSM 850" brand="FLOW" cc="vc" country="Saint Vincent and the Grenadines" operator="Cable & Wireless (St. Vincent & the Grenadines) Ltd" status="Operational"
+ 110 bands="GSM 850 / LTE 700" brand="FLOW" cc="vc" country="Saint Vincent and the Grenadines" operator="Cable & Wireless (St. Vincent & the Grenadines) Ltd" status="Operational"
000-999
362
31 bands="GSM" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Eutel N.V."
@@ -1544,61 +1628,63 @@
00-99
363
01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 2100 / LTE 1800 / TDMA 800" brand="SETAR" cc="aw" country="Aruba (Kingdom of the Netherlands)" operator="Servicio di Telecomunicacion di Aruba" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Digicel" cc="aw" country="Aruba (Kingdom of the Netherlands)" operator="Digicel Aruba" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Digicel" cc="aw" country="Aruba (Kingdom of the Netherlands)" operator="Digicel Aruba" status="Operational"
00-99
364
39 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700" brand="BTC" cc="bs" country="Bahamas" operator="The Bahamas Telecommunications Company Ltd (BaTelCo)" status="Operational"
- 49 bands="UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700" brand="Aliv" cc="bs" country="Bahamas" operator="Cable Bahamas Ltd" status="Operational"
+ 49 bands="UMTS 850 / LTE 700 / LTE 1700" brand="Aliv" cc="bs" country="Bahamas" operator="Cable Bahamas Ltd" status="Operational"
00-99
365
010 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 700" cc="ai" country="Anguilla" operator="Digicel" status="Operational"
840 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 700" brand="FLOW" cc="ai" country="Anguilla" operator="Cable & Wireless" status="Operational"
000-999
366
- 020 bands="GSM 900 / GSM 1900 / UMTS 900 / UMTS 1800 / UMTS 1900 / LTE 700" brand="Digicel" cc="dm" country="Dominica" operator="Digicel Group Limited" status="Operational"
+ 020 bands="GSM 900 / GSM 1900 / UMTS 900 / UMTS 1900 / LTE 700" brand="Digicel" cc="dm" country="Dominica" operator="Digicel Group Limited" status="Operational"
110 bands="GSM 850 / UMTS 850 / LTE 700" brand="FLOW" cc="dm" country="Dominica" operator="Cable & Wireless" status="Operational"
000-999
368
- 01 bands="GSM 900 / GSM 850 / UMTS 900" brand="CUBACEL" cc="cu" country="Cuba" operator="Empresa de Telecomunicaciones de Cuba, SA" status="Operational"
+ 01 bands="GSM 900 / GSM 850 / UMTS 900 / UMTS 2100 / LTE 1800" brand="CUBACEL" cc="cu" country="Cuba" operator="Empresa de Telecomunicaciones de Cuba, SA" status="Operational"
00-99
370
- 01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 900 / LTE 1800" brand="Altice" cc="do" country="Dominican Republic" operator="Altice Group" status="Operational"
- 02 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700" brand="Claro" cc="do" country="Dominican Republic" operator="Compañía Dominicana de Teléfonos" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 900 / LTE 850 / LTE 1700 / LTE 1900" brand="Altice" cc="do" country="Dominican Republic" operator="Altice Group" status="Operational"
+ 02 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700 / LTE 1900 / LTE 2600" brand="Claro" cc="do" country="Dominican Republic" operator="Compañía Dominicana de Teléfonos" status="Operational"
03 bands="AMPS / CDMA 850" brand="Altice" cc="do" country="Dominican Republic" operator="Altice Group" status="Operational"
- 04 bands="CDMA 1900 / GSM 1900" brand="Viva" cc="do" country="Dominican Republic" operator="Trilogy Dominicana, S.A." status="Operational"
+ 04 bands="CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 1700" brand="Viva" cc="do" country="Dominican Republic" operator="Trilogy Dominicana, S.A." status="Operational"
05 bands="TD-LTE 2600" brand="Wind" cc="do" country="Dominican Republic" operator="WIND Telecom, S.A" status="Operational"
00-99
372
01 bands="GSM 850" brand="Voila" cc="ht" country="Haiti" operator="Communication Cellulaire d'Haiti S.A." status="Not operational"
- 02 bands="GSM 1800" brand="Digicel" cc="ht" country="Haiti" operator="Unigestion Holding S.A." status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Digicel" cc="ht" country="Haiti" operator="Unigestion Holding S.A." status="Operational"
03 bands="GSM 900 / GSM 1800 / UTMS 2100 / LTE 800" brand="Natcom" cc="ht" country="Haiti" operator="NATCOM S.A." status="Operational"
00-99
374
12 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900 / TD-LTE 2500 / 5G 2500" brand="bmobile" cc="tt" country="Trinidad and Tobago" operator="TSTT" status="Operational"
+ 13 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900" brand="Digicel" cc="tt" country="Trinidad and Tobago" operator="Digicel (Trinidad & Tobago) Limited" status="Not Operational"
130 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900" brand="Digicel" cc="tt" country="Trinidad and Tobago" operator="Digicel (Trinidad & Tobago) Limited" status="Operational"
140 bands="CDMA" brand="Laqtel" cc="tt" country="Trinidad and Tobago" operator="LaqTel Ltd." status="Not operational"
376
- 350 bands="GSM 850 / LTE 700" brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" status="Operational"
- 352 bands="UMTS 850" brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" status="Operational"
- 360 brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)"
+ 350 bands="GSM 850 / UMTS 850 / LTE 700" brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" status="Operational"
+ 351 brand="Digicel" cc="tc" country="Turks and Caicos Islands" operator="Digicel (Turks & Caicos) Limited" status="Not operational"
+ 352 bands="UMTS 850" brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" status="Not operational"
+ 360 brand="Digicel" cc="tc" country="Turks and Caicos Islands" operator="Digicel (Turks & Caicos) Limited"
000-999
400
- 01 bands="GSM 900 / GSM 1800/ UMTS 2100 / LTE 1800" brand="Azercell" cc="az" country="Azerbaijan" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Bakcell" cc="az" country="Azerbaijan" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Azercell" cc="az" country="Azerbaijan" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Bakcell" cc="az" country="Azerbaijan" status="Operational"
03 bands="CDMA 450" brand="FONEX" cc="az" country="Azerbaijan" operator="CATEL" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Nar Mobile" cc="az" country="Azerbaijan" operator="Azerfon" status="Operational"
05 bands="TETRA?" cc="az" country="Azerbaijan" operator="Special State Protection Service of the Republic of Azerbaijan"
06 bands="CDMA 800 / LTE 800 / LTE 900 / LTE 1800" brand="Naxtel" cc="az" country="Azerbaijan" operator="Nakhtel LLC" status="Operational"
00-99
401
- 01 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2100" brand="Beeline" cc="kz" country="Kazakhstan" operator="KaR-Tel LLP" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800" brand="Kcell" cc="kz" country="Kazakhstan" operator="Kcell JSC" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100" brand="Beeline" cc="kz" country="Kazakhstan" operator="KaR-Tel LLP" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Kcell" cc="kz" country="Kazakhstan" operator="Kcell JSC" status="Operational"
07 bands="UMTS 850 / GSM 1800 / LTE 1800" brand="Altel" cc="kz" country="Kazakhstan" operator="Altel" status="Operational"
- 08 bands="CDMA2000 800 / CDMA2000 450" brand="Kazakhtelecom" cc="kz" country="Kazakhstan" status="Operational"
- 77 bands="GSM 900 / GSM 1800 / UMTS 900" brand="Tele2.kz" cc="kz" country="Kazakhstan" operator="MTS" status="Operational"
+ 08 bands="CDMA 450 / CDMA 800" brand="Kazakhtelecom" cc="kz" country="Kazakhstan" status="Operational"
+ 77 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="Tele2.kz" cc="kz" country="Kazakhstan" operator="MTS" status="Operational"
00-99
402
- 11 bands="GSM 900 / UMTS 850 / UMTS 2100 / LTE 1800" brand="B-Mobile" cc="bt" country="Bhutan" operator="B-Mobile / Bhutan Telecom Ltd." status="Operational"
+ 11 bands="GSM 900 / UMTS 850 / UMTS 2100 / LTE 1800" brand="B-Mobile" cc="bt" country="Bhutan" operator="Bhutan Telecom Limited" status="Operational"
77 bands="GSM 900 / GSM 1800 / UMTS 850 / LTE 700" brand="TashiCell" cc="bt" country="Bhutan" operator="Tashi InfoComm Limited" status="Operational"
00-99
404
@@ -1821,28 +1907,28 @@
02 bands="CDMA2000 1900 / TD-LTE 1900" brand="3G EVO / CharJi 4G" cc="pk" country="Pakistan" operator="PTCL" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Ufone" cc="pk" country="Pakistan" operator="Pakistan Telecommunication Mobile Ltd" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Zong" cc="pk" country="Pakistan" operator="China Mobile" status="Operational"
- 05 bands="GSM 900 / GSM 1800" brand="SCO Mobile" cc="pk" country="Pakistan" operator="SCO Mobile Ltd" status="Operational"
+ 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="SCO Mobile" cc="pk" country="Pakistan" operator="SCO Mobile Ltd" status="Operational"
06 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 850 / LTE 1800" brand="Telenor" cc="pk" country="Pakistan" operator="Telenor Pakistan" status="Operational"
07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Jazz" cc="pk" country="Pakistan" operator="WaridTel" status="Operational"
- 08 bands="GSM 900 / GSM 1800" brand="SCO Mobile" cc="pk" country="Pakistan" operator="SCO Mobile Ltd" status="Operational"
+ 08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="SCO Mobile" cc="pk" country="Pakistan" operator="SCO Mobile Ltd" status="Operational"
00-99
412
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="AWCC" cc="af" country="Afghanistan" operator="Afghan Wireless Communication Company" status="Operational"
20 bands="GSM 900 / UMTS 2100" brand="Roshan" cc="af" country="Afghanistan" operator="Telecom Development Company Afghanistan Ltd." status="Operational"
40 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTN" cc="af" country="Afghanistan" operator="MTN Group Afghanistan" status="Operational"
- 50 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Etisalat" cc="af" country="Afghanistan" operator="Etisalat Afghanistan" status="Operational"
+ 50 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Etisalat" cc="af" country="Afghanistan" operator="Etisalat Afghanistan" status="Operational"
55 bands="CDMA 800" brand="WASEL" cc="af" country="Afghanistan" operator="WASEL Afghanistan" status="Operational"
- 80 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Salaam" cc="af" country="Afghanistan" operator="Afghan Telecom" status="Operational"
- 88 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Salaam" cc="af" country="Afghanistan" operator="Afghan Telecom" status="Operational"
+ 80 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Salaam" cc="af" country="Afghanistan" operator="Afghan Telecom" status="Operational"
+ 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Salaam" cc="af" country="Afghanistan" operator="Afghan Telecom" status="Operational"
00-99
413
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 850 / LTE 900 / LTE 1800 / LTE 2100" brand="Mobitel" cc="lk" country="Sri Lanka" operator="Mobitel (Pvt) Ltd" status="Operational"
02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Dialog" cc="lk" country="Sri Lanka" operator="Dialog Axiata PLC" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Etisalat" cc="lk" country="Sri Lanka" operator="Etisalat Lanka (Pvt) Ltd" status="Not operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Hutch" cc="lk" country="Sri Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" status="Not operational"
04 bands="CDMA / WiMAX / TD-LTE 2300" brand="Lanka Bell" cc="lk" country="Sri Lanka" operator="Lanka Bell Ltd" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="lk" country="Sri Lanka" operator="Bharti Airtel Lanka (Pvt) Ltd" status="Operational"
08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Hutch" cc="lk" country="Sri Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" status="Not operational"
- 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Hutch" cc="lk" country="Sri Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" status="Operational"
+ 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800" brand="Hutch" cc="lk" country="Sri Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" status="Operational"
11 bands="CDMA / WiMAX / TD-LTE 2300" brand="Dialog" cc="lk" country="Sri Lanka" operator="Dialog Broadband Networks (Pvt) Ltd" status="Operational"
12 bands="TD-LTE 2600" brand="SLT" cc="lk" country="Sri Lanka" operator="Sri Lanka Telecom PLC" status="Operational"
00-99
@@ -1861,15 +1947,15 @@
23 cc="mm" country="Myanmar" operator="Global Technology Co., Ltd"
00-99
415
- 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Alfa" cc="lb" country="Lebanon" operator="MIC 1" status="Operational"
+ 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Alfa" cc="lb" country="Lebanon" operator="MIC 1" status="Operational"
03 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Touch" cc="lb" country="Lebanon" operator="MIC 2" status="Operational"
05 bands="GSM 900" brand="Ogero Mobile" cc="lb" country="Lebanon" operator="Ogero Telecom" status="Not operational"
00-99
416
- 01 bands="GSM 900 / LTE 1800" brand="zain JO" cc="jo" country="Jordan" operator="Jordan Mobile Telephone Services" status="Operational"
+ 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="zain JO" cc="jo" country="Jordan" operator="Jordan Mobile Telephone Services" status="Operational"
02 bands="iDEN 800" brand="XPress Telecom" cc="jo" country="Jordan" operator="XPress Telecom" status="Not operational"
- 03 bands="GSM 1800 / LTE 1800 / LTE 3500" brand="Umniah" cc="jo" country="Jordan" operator="Umniah Mobile Company" status="Operational"
- 77 bands="GSM 900 / LTE 1800" brand="Orange" cc="jo" country="Jordan" operator="Petra Jordanian Mobile Telecommunications Company (MobileCom)" status="Operational"
+ 03 bands="GSM 1800 / UMTS 2100 / LTE 1800 / LTE 3500" brand="Umniah" cc="jo" country="Jordan" operator="Umniah Mobile Company" status="Operational"
+ 77 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Orange" cc="jo" country="Jordan" operator="Petra Jordanian Mobile Telecommunications Company (MobileCom)" status="Operational"
00-99
417
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Syriatel" cc="sy" country="Syria" operator="Syriatel Mobile Telecom" status="Operational"
@@ -1877,19 +1963,19 @@
09 cc="sy" country="Syria" operator="Syrian Telecom"
00-99
418
- 00 bands="GSM 900" brand="Asia Cell" cc="iq" country="Iraq" operator="Asia Cell Telecommunications Company" status="Operational"
- 05 bands="GSM 900" brand="Asia Cell" cc="iq" country="Iraq" operator="Asia Cell Telecommunications Company" status="Operational"
+ 00 bands="GSM 900 / UMTS 2100" brand="Asia Cell" cc="iq" country="Iraq" operator="Asia Cell Telecommunications Company" status="Operational"
+ 05 bands="GSM 900 / UMTS 2100" brand="Asia Cell" cc="iq" country="Iraq" operator="Asia Cell Telecommunications Company" status="Operational"
08 bands="GSM 900" brand="SanaTel" cc="iq" country="Iraq" status="Operational"
- 20 bands="GSM 900 / GSM 1800" brand="Zain" cc="iq" country="Iraq" operator="Zain Iraq" status="Operational"
- 30 bands="GSM 900" brand="Zain" cc="iq" country="Iraq" operator="Zain Iraq" status="Operational"
- 40 bands="GSM 900" brand="Korek" cc="iq" country="Iraq" operator="Telecom Ltd" status="Operational"
+ 20 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Zain" cc="iq" country="Iraq" operator="Zain Iraq" status="Operational"
+ 30 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Zain" cc="iq" country="Iraq" operator="Zain Iraq" status="Operational"
+ 40 bands="GSM 900 / UMTS 2100" brand="Korek" cc="iq" country="Iraq" operator="Telecom Ltd" status="Operational"
45 bands="UMTS" brand="Mobitel" cc="iq" country="Iraq" operator="Mobitel Co. Ltd." status="Operational"
62 bands="CDMA 800 / CDMA 1900" brand="Itisaluna" cc="iq" country="Iraq" operator="Itisaluna Wireless CO." status="Operational"
92 bands="CDMA" brand="Omnnea" cc="iq" country="Iraq" operator="Omnnea Wireless" status="Operational"
00-99
419
- 02 bands="GSM 900 / UMTS 2100 / LTE 1800 / 5G 3500" brand="zain KW" cc="kw" country="Kuwait" operator="Zain Kuwait" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="K.S.C Ooredoo" cc="kw" country="Kuwait" operator="National Mobile Telecommunications" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="zain KW" cc="kw" country="Kuwait" operator="Zain Kuwait" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="K.S.C Ooredoo" cc="kw" country="Kuwait" operator="National Mobile Telecommunications" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="STC" cc="kw" country="Kuwait" operator="Saudi Telecom Company" status="Operational"
00-99
420
@@ -1897,18 +1983,18 @@
03 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / TD-LTE 2500" brand="Mobily" cc="sa" country="Saudi Arabia" operator="Etihad Etisalat Company" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500 / 5G 2500 / 5G 3500" brand="Zain SA" cc="sa" country="Saudi Arabia" operator="Zain Saudi Arabia" status="Operational"
05 bands="MVNO" brand="Virgin Mobile" cc="sa" country="Saudi Arabia" operator="Virgin Mobile Saudi Arabia" status="Operational"
- 06 brand="Lebara Mobile" cc="sa" country="Saudi Arabia" operator="Lebara Mobile" status="Operational"
+ 06 bands="MVNO" brand="Lebara Mobile" cc="sa" country="Saudi Arabia" operator="Lebara Mobile" status="Operational"
21 bands="GSM-R 900" brand="RGSM" cc="sa" country="Saudi Arabia" operator="Saudi Railways GSM" status="Operational"
00-99
421
01 bands="GSM 900" brand="SabaFon" cc="ye" country="Yemen" status="Operational"
02 bands="GSM 900" brand="MTN" cc="ye" country="Yemen" operator="Spacetel Yemen" status="Operational"
03 bands="CDMA2000 800" brand="Yemen Mobile" cc="ye" country="Yemen" operator="Yemen Mobile" status="Operational"
- 04 bands="GSM 900" brand="HiTS-UNITEL" cc="ye" country="Yemen" operator="Y" status="Operational"
+ 04 bands="GSM 900" brand="Y" cc="ye" country="Yemen" operator="HiTS-UNITEL" status="Operational"
00-99
422
- 02 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / TD-LTE 2300" brand="Omantel" cc="om" country="Oman" operator="Oman Telecommunications Company" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / TD-LTE 2300" brand="ooredoo" cc="om" country="Oman" operator="Omani Qatari Telecommunications Company SAOC" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / TD-LTE 2300 / 5G 3500" brand="Omantel" cc="om" country="Oman" operator="Oman Telecommunications Company" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / TD-LTE 2300 / 5G 3500" brand="ooredoo" cc="om" country="Oman" operator="Omani Qatari Telecommunications Company SAOC" status="Operational"
04 brand="Omantel" cc="om" country="Oman" operator="Oman Telecommunications Company"
00-99
424
@@ -1922,7 +2008,7 @@
04 cc="il" country="Israel" operator="Globalsim Ltd"
05 bands="GSM 900" brand="Jawwal" cc="ps" country="Palestine" operator="Palestine Cellular Communications, Ltd." status="Operational"
06 bands="GSM 900 / GSM 1800" brand="Wataniya" cc="ps" country="Palestine" operator="Wataniya Palestine Mobile Telecommunications Company" status="Operational"
- 07 bands="iDEN 800 / UMTS 2100" brand="Hot Mobile" cc="il" country="Israel" operator="Hot Mobile Ltd." status="Operational"
+ 07 bands="iDEN 800 / UMTS 2100 / LTE 1800" brand="Hot Mobile" cc="il" country="Israel" operator="Hot Mobile Ltd." status="Operational"
08 bands="UMTS 2100 / LTE 1800" brand="Golan Telecom" cc="il" country="Israel" operator="Golan Telecom Ltd." status="Operational"
09 bands="LTE 1800" brand="We4G" cc="il" country="Israel" operator="Marathon 018 Xphone Ltd." status="Operational"
10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Partner" cc="il" country="Israel" operator="Partner Communications Company Ltd." status="Operational"
@@ -1946,43 +2032,43 @@
00-99
426
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="Batelco" cc="bh" country="Bahrain" operator="Bahrain Telecommunications Company" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="zain BH" cc="bh" country="Bahrain" operator="Zain Bahrain" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="zain BH" cc="bh" country="Bahrain" operator="Zain Bahrain" status="Operational"
03 cc="bh" country="Bahrain" operator="Civil Aviation Authority"
- 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="STC" cc="bh" country="Bahrain" operator="STC Bahrain" status="Operational"
+ 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="STC" cc="bh" country="Bahrain" operator="STC Bahrain" status="Operational"
05 bands="GSM 900 / GSM 1800" brand="Batelco" cc="bh" country="Bahrain" operator="Bahrain Telecommunications Company" status="Operational"
00-99
427
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="ooredoo" cc="qa" country="Qatar" operator="ooredoo" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="ooredoo" cc="qa" country="Qatar" operator="ooredoo" status="Operational"
02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="qa" country="Qatar" operator="Vodafone Qatar" status="Operational"
05 bands="TETRA 380" brand="Ministry of Interior" cc="qa" country="Qatar" operator="Ministry of Interior" status="Operational"
06 bands="LTE" brand="Ministry of Interior" cc="qa" country="Qatar" operator="Ministry of Interior" status="Operational"
00-99
428
- 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Unitel" cc="mn" country="Mongolia" operator="Unitel LLC" status="Operational"
- 91 bands="CDMA2000 800 / UMTS 2100" brand="Skytel" cc="mn" country="Mongolia" operator="Skytel LLC" status="Operational"
- 98 bands="CDMA2000 450 / UMTS 2100" brand="G-Mobile" cc="mn" country="Mongolia" operator="G-Mobile LLC" status="Operational"
- 99 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Mobicom" cc="mn" country="Mongolia" operator="Mobicom Corporation" status="Operational"
+ 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2300" brand="Unitel" cc="mn" country="Mongolia" operator="Unitel LLC" status="Operational"
+ 91 bands="CDMA 850 / UMTS 2100 / LTE 1800" brand="Skytel" cc="mn" country="Mongolia" operator="Skytel LLC" status="Operational"
+ 98 bands="CDMA 450 / UMTS 2100 / LTE 1800" brand="G-Mobile" cc="mn" country="Mongolia" operator="G-Mobile LLC" status="Operational"
+ 99 bands="GSM 900 / UMTS 2100 / LTE 700 / LTE 1800" brand="Mobicom" cc="mn" country="Mongolia" operator="Mobicom Corporation" status="Operational"
00-99
429
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / CDMA / WiMAX" brand="Namaste / NT Mobile / Sky Phone" cc="np" country="Nepal" operator="Nepal Telecom (NDCL)" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Ncell" cc="np" country="Nepal" operator="Ncell Pvt. Ltd." status="Operational"
+ 01 bands="GSM 900 / UMTS 2100 / LTE 1800 / CDMA 850 / WiMAX" brand="Namaste / NT Mobile / Sky Phone" cc="np" country="Nepal" operator="Nepal Telecom (NDCL)" status="Operational"
+ 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Ncell" cc="np" country="Nepal" operator="Ncell Pvt. Ltd." status="Operational"
03 bands="CDMA2000 800" brand="UTL" cc="np" country="Nepal" operator="United Telecom Limited" status="Operational"
- 04 bands="GSM 900 / LTE 1800" brand="SmartCell" cc="np" country="Nepal" operator="Smart Telecom Pvt. Ltd. (STPL)" status="Operational"
+ 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="SmartCell" cc="np" country="Nepal" operator="Smart Telecom Pvt. Ltd. (STPL)" status="Operational"
00-99
432
01 bands="LTE" brand="Uname" cc="ir" country="Iran" operator="Ertebatat Iran" status="Operational"
- 02 bands="MVNO" brand="Azartel" cc="ir" country="Iran" operator="Azartel Mobile" status="Operational"
+ 02 bands="MVNO" brand="ApTel, AzarTel" cc="ir" country="Iran" operator="NeginTel" status="Operational"
08 bands="MVNO" brand="Shatel Mobile" cc="ir" country="Iran" operator="Shatel Mobile" status="Operational"
10 bands="MVNO" brand="Samantel" cc="ir" country="Iran" operator="Samantel Mobile" status="Operational"
11 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="IR-TCI (Hamrah-e-Avval)" cc="ir" country="Iran" operator="Mobile Communications Company of Iran (MCI)" status="Operational"
- 12 bands="LTE 800" brand="Avacell(HiWEB)" cc="ir" country="Iran" operator="Dadeh Dostar asr Novin p.j.s. co & Information Technology Company of Iran" status="Operational"
+ 12 bands="LTE 800 / TD-LTE 1900" brand="Avacell(HiWEB)" cc="ir" country="Iran" operator="Dadeh Dostar asr Novin p.j.s. co & Information Technology Company of Iran" status="Operational"
14 bands="GSM 900 / GSM 1800" brand="TKC/KFZO" cc="ir" country="Iran" operator="Telecommunication Kish Company" status="Operational"
19 bands="GSM 900" brand="Espadan (JV-PJS)" cc="ir" country="Iran" operator="Mobile Telecommunications Company of Esfahan" status="Operational"
- 20 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="Rightel" cc="ir" country="Iran" operator="Social Security Investment Co." status="Operational"
- 21 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="Rightel" cc="ir" country="Iran" operator="Social Security Investment Co." status="Operational"
+ 20 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="RighTel" cc="ir" country="Iran" operator="Social Security Investment Co." status="Operational"
+ 21 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="RighTel" cc="ir" country="Iran" operator="Social Security Investment Co." status="Operational"
32 bands="GSM 900 / GSM 1800" brand="Taliya" cc="ir" country="Iran" operator="TCI of Iran and Iran Mobin" status="Operational"
35 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 3500" brand="MTN Irancell" cc="ir" country="Iran" operator="MTN Irancell Telecommunications Services Company" status="Operational"
- 40 bands="LTE 3500" brand="Mobinnet" cc="ir" country="Iran" operator="Ertebatat Mobinnet" status="Operational"
+ 40 bands="WiMAX / LTE 3500" brand="Mobinnet" cc="ir" country="Iran" operator="Ertebatat Mobinnet" status="Operational"
50 bands="MVNO" brand="Shatel" cc="ir" country="Iran" operator="Arya Resaneh Tadbir" status="Operational"
70 bands="GSM 900" brand="MTCE" cc="ir" country="Iran" operator="Telephone Communications Company of Iran" status="Operational"
71 bands="GSM 900" brand="KOOHE NOOR" cc="ir" country="Iran" operator="Telephone Communications Company of Iran" status="Operational"
@@ -1993,13 +2079,13 @@
434
01 bands="GSM 900 / GSM 1800" cc="uz" country="Uzbekistan" operator="Buztel" status="Not operational"
02 bands="GSM 900 / GSM 1800" cc="uz" country="Uzbekistan" operator="Uzmacom" status="Not operational"
- 03 bands="CDMA2000 450" brand="UzMobile" cc="uz" country="Uzbekistan" operator="Uzbektelekom" status="Operational"
+ 03 bands="CDMA 450" brand="UzMobile" cc="uz" country="Uzbekistan" operator="Uzbektelekom" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Beeline" cc="uz" country="Uzbekistan" operator="Unitel LLC" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Ucell" cc="uz" country="Uzbekistan" operator="Coscom" status="Operational"
- 06 bands="CDMA2000 800" brand="Perfectum Mobile" cc="uz" country="Uzbekistan" operator="RUBICON WIRELESS COMMUNICATION" status="Operational"
- 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="UMS" cc="uz" country="Uzbekistan" operator="Universal Mobile Systems" status="Operational"
+ 06 bands="CDMA 800" brand="Perfectum Mobile" cc="uz" country="Uzbekistan" operator="RUBICON WIRELESS COMMUNICATION" status="Operational"
+ 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Mobiuz" cc="uz" country="Uzbekistan" operator="Universal Mobile Systems (UMS)" status="Operational"
08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="UzMobile" cc="uz" country="Uzbekistan" operator="Uzbektelekom" status="Operational"
- 09 bands="LTE 2300" brand="EVO" cc="uz" country="Uzbekistan" operator="OOO «Super iMAX»" status="Operational"
+ 09 bands="WiMAX / LTE 2300" brand="EVO" cc="uz" country="Uzbekistan" operator="OOO «Super iMAX»" status="Operational"
00-99
436
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Tcell" cc="tj" country="Tajikistan" operator="JV Somoncom" status="Operational"
@@ -2014,12 +2100,12 @@
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Beeline" cc="kg" country="Kyrgyzstan" operator="Sky Mobile LLC" status="Operational"
03 cc="kg" country="Kyrgyzstan" operator="7 Mobile"
05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100" brand="MegaCom" cc="kg" country="Kyrgyzstan" operator="Alfa Telecom CJSC" status="Operational"
- 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600" brand="O!" cc="kg" country="Kyrgyzstan" operator="NurTelecom LLC" status="Operational"
+ 09 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="O!" cc="kg" country="Kyrgyzstan" operator="NurTelecom LLC" status="Operational"
10 bands="LTE 2600" cc="kg" country="Kyrgyzstan" operator="Saima Telecom" status="Operational"
11 cc="kg" country="Kyrgyzstan" operator="iTel"
00-99
438
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTS" cc="tm" country="Turkmenistan" operator="MTS Turkmenistan" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTS" cc="tm" country="Turkmenistan" operator="MTS Turkmenistan" status="Not operational"
02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="TM-Cell" cc="tm" country="Turkmenistan" operator="Altyn Asyr" status="Operational"
03 bands="CDMA 450" brand="AGTS CDMA" cc="tm" country="Turkmenistan" operator="AŞTU" status="Operational"
00-99
@@ -2034,66 +2120,67 @@
07 bands="MVNO" cc="jp" country="Japan" operator="LTE-X, Inc."
08 cc="jp" country="Japan" operator="Panasonic Systems Solutions Japan Co., Ltd."
09 bands="MVNO" cc="jp" country="Japan" operator="Marubeni Wireless Communications Inc." status="Operational"
- 10 bands="UMTS 850 / UMTS 1800 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="NTT docomo" cc="jp" country="Japan" operator="NTT DoCoMo, Inc." status="Operational"
- 11 bands="1700" cc="jp" country="Japan" operator="Rakuten Mobile Network, Inc." status="Not operational"
+ 10 bands="UMTS 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500 / 5G 3500" brand="NTT docomo" cc="jp" country="Japan" operator="NTT DoCoMo, Inc." status="Operational"
+ 11 bands="LTE 1800" brand="Rakuten Mobile" cc="jp" country="Japan" operator="Rakuten Mobile Network, Inc." status="Operational"
12 cc="jp" country="Japan" operator="Cable media waiwai Co., Ltd."
- 20 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational"
- 21 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational"
- 50 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 51 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 52 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 53 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 54 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 70 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 71 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 72 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 73 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 74 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 75 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
- 76 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 20 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 3700" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational"
+ 21 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 3700" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational"
+ 50 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 51 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 52 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 53 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 54 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 70 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 71 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 72 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 73 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 74 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 75 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
+ 76 bands="CDMA 850 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational"
78 bands="CDMA2000 850 / CDMA2000 2100" brand="au" cc="jp" country="Japan" operator="Okinawa Cellular Telephone" status="Operational"
91 cc="jp" country="Japan" operator="Tokyo Organising Committee of the Olympic and Paralympic Games"
00-99
441
- 01 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational"
+ 01 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 3700" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational"
10 bands="WiMAX 2500 / TD-LTE 2500" brand="UQ WiMAX" cc="jp" country="Japan" operator="UQ Communications Inc." status="Operational"
00-99
450
01 bands="Satellite" cc="kr" country="South Korea" operator="Globalstar Asia Pacific" status="Operational"
02 bands="5G 3500 / 5G 28000" brand="KT" cc="kr" country="South Korea" operator="KT" status="Operational"
- 03 bands="CDMA2000 800" brand="Power 017" cc="kr" country="South Korea" operator="Shinsegi Telecom, Inc." status="Not operational"
- 04 bands="NB-IoT" brand="KT" cc="kr" country="South Korea" operator="KT" status="Operational"
- 05 bands="CDMA2000 800 / UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000" brand="SKTelecom" cc="kr" country="South Korea" operator="SK Telecom" status="Operational"
- 06 bands="CDMA2000 1800 / LTE 850 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000" brand="LG U+" cc="kr" country="South Korea" operator="LG Telecom" status="Operational"
+ 03 bands="CDMA 850" brand="Power 017" cc="kr" country="South Korea" operator="Shinsegi Telecom, Inc." status="Not operational"
+ 04 bands="LTE 1800" brand="KT" cc="kr" country="South Korea" operator="KT" status="Operational"
+ 05 bands="CDMA 850 / UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000" brand="SKTelecom" cc="kr" country="South Korea" operator="SK Telecom" status="Operational"
+ 06 bands="CDMA 1800 / LTE 850 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000" brand="LG U+" cc="kr" country="South Korea" operator="LG Telecom" status="Operational"
07 brand="KT" cc="kr" country="South Korea" operator="KT"
08 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="olleh" cc="kr" country="South Korea" operator="KT" status="Operational"
11 bands="MVNO" brand="Tplus" cc="kr" country="South Korea" operator="Korea Cable Telecom" status="Operational"
- 12 brand="SKTelecom" cc="kr" country="South Korea" operator="SK Telecom"
+ 12 bands="LTE 850 / LTE 1800" brand="SKTelecom" cc="kr" country="South Korea" operator="SK Telecom" status="Operational"
00-99
452
01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MobiFone" cc="vn" country="Vietnam" operator="Vietnam Mobile Telecom Services Company" status="Operational"
02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Vinaphone" cc="vn" country="Vietnam" operator="Vietnam Telecom Services Company" status="Operational"
03 bands="CDMA2000 800" brand="S-Fone" cc="vn" country="Vietnam" operator="S-Telecom" status="Not operational"
- 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Viettel Mobile" cc="vn" country="Vietnam" operator="Viettel Telecom" status="Operational"
+ 04 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Viettel Mobile" cc="vn" country="Vietnam" operator="Viettel Telecom" status="Operational"
05 bands="GSM 900 / UMTS 2100" brand="Vietnamobile" cc="vn" country="Vietnam" operator="Hanoi Telecom" status="Operational"
06 bands="CDMA2000 450" brand="EVNTelecom" cc="vn" country="Vietnam" operator="EVN Telecom" status="Not operational"
07 bands="GSM 1800" brand="Gmobile" cc="vn" country="Vietnam" operator="GTEL Mobile JSC" status="Operational"
08 bands="WiMAX" brand="I-Telecom" cc="vn" country="Vietnam" operator="Indochina Telecom" status="Operational"
+ 09 cc="vn" country="Vietnam" operator="REDDI"
00-99
454
00 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="1O1O / One2Free / New World Mobility / SUNMobile" cc="hk" country="Hong Kong" operator="CSL Limited" status="Operational"
01 bands="MVNO" cc="hk" country="Hong Kong" operator="CITIC Telecom 1616" status="Operational"
02 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="CSL Limited" status="Operational"
- 03 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="3" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational"
+ 03 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 3500" brand="3" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational"
04 bands="GSM 900 / GSM 1800" brand="3 (2G)" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational"
05 bands="CDMA 800" brand="3 (CDMA)" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Not operational"
- 06 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="SmarTone" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational"
+ 06 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="SmarTone" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational"
07 bands="MVNO" brand="China Unicom" cc="hk" country="Hong Kong" operator="China Unicom (Hong Kong) Limited" status="Operational"
08 bands="MVNO" brand="Truphone" cc="hk" country="Hong Kong" operator="Truphone Limited" status="Operational"
09 bands="MVNO" cc="hk" country="Hong Kong" operator="China Motion Telecom" status="Operational"
10 bands="GSM 1800" brand="New World Mobility" cc="hk" country="Hong Kong" operator="CSL Limited" status="Not operational"
11 bands="MVNO" cc="hk" country="Hong Kong" operator="China-Hong Kong Telecom" status="Operational"
- 12 bands="GSM 1800 / LTE 1800 / TD-LTE 2300 / LTE 2600" brand="CMCC HK" cc="hk" country="Hong Kong" operator="China Mobile Hong Kong Company Limited" status="Operational"
+ 12 bands="GSM 1800 / TD-SCDMA 2000 / LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 3500" brand="CMCC HK" cc="hk" country="Hong Kong" operator="China Mobile Hong Kong Company Limited" status="Operational"
13 bands="MVNO" brand="CMCC HK" cc="hk" country="Hong Kong" operator="China Mobile Hong Kong Company Limited" status="Operational"
14 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational"
15 bands="GSM 1800" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational"
@@ -2101,7 +2188,7 @@
17 bands="GSM 1800" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational"
18 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="CSL Limited" status="Not operational"
19 bands="UMTS 2100" brand="PCCW Mobile (3G)" cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational"
- 20 bands="LTE 1800 / LTE 2600" brand="PCCW Mobile (4G)" cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational"
+ 20 bands="LTE 1800 / LTE 2600 / 5G 3500" brand="PCCW Mobile (4G)" cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational"
21 bands="MVNO" cc="hk" country="Hong Kong" operator="21Vianet Mobile Ltd." status="Not operational"
22 bands="MVNO" cc="hk" country="Hong Kong" operator="263 Mobile Communications (HongKong) Limited" status="Operational"
23 bands="MVNO" brand="Lycamobile" cc="hk" country="Hong Kong" operator="Lycamobile Hong Kong Ltd" status="Not operational"
@@ -2115,31 +2202,31 @@
35 bands="MVNO" cc="hk" country="Hong Kong" operator="Webbing Hong Kong Ltd" status="Operational"
00-99
455
- 00 bands="UMTS 2100 / LTE 1800" brand="SmarTone" cc="mo" country="Macau (China)" operator="Smartone – Comunicações Móveis, S.A." status="Operational"
+ 00 bands="UMTS 2100 / LTE 1800" brand="SmarTone" cc="mo" country="Macau (China)" operator="Smartone - Comunicações Móveis, S.A." status="Operational"
01 bands="LTE 1800" brand="CTM" cc="mo" country="Macau (China)" operator="Companhia de Telecomunicações de Macau, S.A.R.L." status="Operational"
02 bands="CDMA 800" brand="China Telecom" cc="mo" country="Macau (China)" operator="China Telecom (Macau) Company Limited" status="Not operational"
03 bands="GSM 900 / GSM 1800" brand="3" cc="mo" country="Macau (China)" operator="Hutchison Telephone (Macau), Limitada" status="Not operational"
04 bands="UMTS 2100" brand="CTM" cc="mo" country="Macau (China)" operator="Companhia de Telecomunicações de Macau, S.A.R.L." status="Operational"
05 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="3" cc="mo" country="Macau (China)" operator="Hutchison Telephone (Macau), Limitada" status="Operational"
- 06 bands="UMTS 2100" brand="SmarTone" cc="mo" country="Macau (China)" operator="Smartone – Comunicações Móveis, S.A." status="Operational"
+ 06 bands="UMTS 2100" brand="SmarTone" cc="mo" country="Macau (China)" operator="Smartone - Comunicações Móveis, S.A." status="Operational"
07 bands="LTE 1800" brand="China Telecom" cc="mo" country="Macau (China)" operator="China Telecom (Macau) Limitada" status="Operational"
00-99
456
01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Cellcard" cc="kh" country="Cambodia" operator="CamGSM / The Royal Group" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational"
03 bands="GSM 1800 / UMTS 2100" brand="qb" cc="kh" country="Cambodia" operator="Cambodia Advance Communications Co. Ltd" status="Operational"
04 bands="GSM 1800 / UMTS 2100" brand="qb" cc="kh" country="Cambodia" operator="Cambodia Advance Communications Co. Ltd" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational"
06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational"
08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Metfone" cc="kh" country="Cambodia" operator="Viettel" status="Operational"
- 09 bands="GSM 900 / GSM 1800" brand="Metfone" cc="kh" country="Cambodia" operator="Viettel" status="Operational"
- 11 bands="LTE 850" brand="SEATEL" cc="kh" country="Cambodia" operator="SEATEL Cambodia" status="Operational"
- 18 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Cellcard" cc="kh" country="Cambodia" operator="The Royal Group" status="Operational"
+ 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Metfone" cc="kh" country="Cambodia" operator="Viettel" status="Operational"
+ 11 bands="LTE 850 / LTE 2600" brand="SEATEL" cc="kh" country="Cambodia" operator="SEATEL Cambodia" status="Operational"
+ 18 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Cellcard" cc="kh" country="Cambodia" operator="The Royal Group" status="Operational"
00-99
457
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="LaoTel" cc="la" country="Laos" operator="Lao Telecom" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="LaoTel" cc="la" country="Laos" operator="Lao Telecom" status="Operational"
02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="ETL" cc="la" country="Laos" operator="Enterprise of Telecommunications Lao" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Unitel" cc="la" country="Laos" operator="Star Telecom Co., Ltd" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Unitel" cc="la" country="Laos" operator="Star Telecom Co., Ltd" status="Operational"
08 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Beeline" cc="la" country="Laos" operator="VimpelCom Lao Ltd" status="Operational"
00-99
460
@@ -2157,9 +2244,9 @@
20 bands="GSM-R" brand="China Tietong" cc="cn" country="China" operator="China Tietong" status="Operational"
00-99
466
- 01 bands="UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Operational"
+ 01 bands="LTE 700 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500 / 5G 28000" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Operational"
02 bands="GSM 900" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational"
- 03 bands="UMTS 2100" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd"
+ 03 bands="UMTS 2100" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational"
05 bands="LTE 700 / LTE 900 / TD-LTE 2600" brand="APTG" cc="tw" country="Taiwan" operator="Asia Pacific Telecom" status="Operational"
06 bands="GSM 1800" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational"
07 bands="WiMAX 2600" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational"
@@ -2170,11 +2257,11 @@
56 bands="WiMAX 2600 / PHS" brand="FITEL" cc="tw" country="Taiwan" operator="First International Telecom" status="Not operational"
68 bands="WiMAX 2600" cc="tw" country="Taiwan" operator="Tatung InfoComm" status="Not operational"
88 bands="GSM 1800" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational"
- 89 bands="UMTS 2100 / LTE 900 / LTE 2600" brand="T Star" cc="tw" country="Taiwan" operator="Taiwan Star Telecom" status="Operational"
+ 89 bands="LTE 900 / LTE 2600" brand="T Star" cc="tw" country="Taiwan" operator="Taiwan Star Telecom" status="Operational"
90 bands="LTE 900" brand="T Star" cc="tw" country="Taiwan" operator="Taiwan Star Telecom"
- 92 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="Chunghwa" cc="tw" country="Taiwan" operator="Chunghwa Telecom" status="Operational"
+ 92 bands="LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500 / 5G 28000" brand="Chunghwa" cc="tw" country="Taiwan" operator="Chunghwa Telecom" status="Operational"
93 bands="GSM 900" brand="MobiTai" cc="tw" country="Taiwan" operator="Mobitai Communications" status="Not operational"
- 97 bands="UMTS 2100 / LTE 700 / LTE 1800" brand="Taiwan Mobile" cc="tw" country="Taiwan" operator="Taiwan Mobile Co. Ltd" status="Operational"
+ 97 bands="LTE 700 / LTE 1800 / LTE 2100 / 5G 3500 / 5G 28000" brand="Taiwan Mobile" cc="tw" country="Taiwan" operator="Taiwan Mobile Co. Ltd" status="Operational"
99 bands="GSM 900" brand="TransAsia" cc="tw" country="Taiwan" operator="TransAsia Telecoms" status="Not operational"
00-99
467
@@ -2193,7 +2280,7 @@
00-99
472
01 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G 3500" brand="Dhiraagu" cc="mv" country="Maldives" operator="Dhivehi Raajjeyge Gulhun" status="Operational"
- 02 bands="GSM 900 / UMTS 2100 / LTE 2600" brand="Ooredoo" cc="mv" country="Maldives" operator="Wataniya Telecom Maldives" status="Operational"
+ 02 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Ooredoo" cc="mv" country="Maldives" operator="Ooredoo Maldives" status="Operational"
00-99
502
01 bands="CDMA2000 450" brand="ATUR 450" cc="my" country="Malaysia" operator="Telekom Malaysia Bhd" status="Not operational"
@@ -2205,19 +2292,19 @@
150 bands="MVNO" brand="Tune Talk" cc="my" country="Malaysia" operator="Tune Talk Sdn Bhd" status="Operational"
151 bands="MVNO" brand="SalamFone" cc="my" country="Malaysia" operator="Baraka Telecom Sdn Bhd" status="Not operational"
152 bands="WiMAX 2300 / TD-LTE 2300 / TD-LTE 2600" brand="Yes" cc="my" country="Malaysia" operator="YTL Communications Sdn Bhd" status="Operational"
- 153 bands="WiMAX 2300 / LTE 850" brand="unifi" cc="my" country="Malaysia" operator="Webe Digital Sdn Bhd" status="Operational"
+ 153 bands="WiMAX 2300 / LTE 850 / TD-LTE 2300" brand="unifi" cc="my" country="Malaysia" operator="Webe Digital Sdn Bhd" status="Operational"
154 bands="MVNO" brand="Tron" cc="my" country="Malaysia" operator="Talk Focus Sdn Bhd" status="Operational"
155 bands="MVNO" brand="Clixster" cc="my" country="Malaysia" operator="Clixster Mobile Sdn Bhd" status="Not operational"
156 bands="MVNO" brand="Altel" cc="my" country="Malaysia" operator="Altel Communications Sdn Bhd" status="Operational"
157 bands="MVNO" brand="Telin" cc="my" country="Malaysia" operator="Telekomunikasi Indonesia International (M) Sdn Bhd" status="Operational"
16 bands="GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="DiGi" cc="my" country="Malaysia" operator="DiGi Telecommunications" status="Operational"
17 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Maxis" cc="my" country="Malaysia" operator="Maxis Communications Berhad" status="Operational"
- 18 bands="UMTS 2100 / LTE 1800 / LTE 2600" brand="U Mobile" cc="my" country="Malaysia" operator="U Mobile Sdn Bhd" status="Operational"
+ 18 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="U Mobile" cc="my" country="Malaysia" operator="U Mobile Sdn Bhd" status="Operational"
19 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Celcom" cc="my" country="Malaysia" operator="Celcom Axiata Berhad" status="Operational"
20 bands="DMR" brand="Electcoms" cc="my" country="Malaysia" operator="Electcoms Berhad" status="Not operational"
505
01 bands="UMTS 850 / LTE 700 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Limited" status="Operational"
- 02 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="Optus" cc="au" country="Australia" operator="Singtel Optus Proprietary Limited" status="Operational"
+ 02 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 2300 / 5G 3500" brand="Optus" cc="au" country="Australia" operator="Singtel Optus Proprietary Limited" status="Operational"
03 bands="UMTS 900 / UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100" brand="Vodafone" cc="au" country="Australia" operator="Vodafone Hutchison Australia Proprietary Limited" status="Operational"
04 cc="au" country="Australia" operator="Department of Defence" status="Operational"
05 brand="Ozitel" cc="au" country="Australia" status="Not operational"
@@ -2225,7 +2312,7 @@
07 brand="Vodafone" cc="au" country="Australia" operator="Vodafone Network Pty. Ltd."
08 bands="GSM 900" brand="One.Tel" cc="au" country="Australia" operator="One.Tel Limited" status="Not operational"
09 brand="Airnet" cc="au" country="Australia" status="Not operational"
- 10 bands="GSM 900" brand="Norfolk Telecom" cc="nf" country="Norfolk Island" operator="Norfolk Telecom" status="Operational"
+ 10 bands="GSM 900 / LTE 1800" brand="Norfolk Telecom" cc="nf" country="Norfolk Island" operator="Norfolk Telecom" status="Operational"
11 brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Ltd."
12 bands="UMTS 2100" brand="3" cc="au" country="Australia" operator="Vodafone Hutchison Australia Proprietary Limited" status="Not operational"
13 bands="GSM-R 1800" brand="RailCorp" cc="au" country="Australia" operator="Railcorp, Transport for New South Wales" status="Operational"
@@ -2262,6 +2349,7 @@
45 cc="au" country="Australia" operator="Clermont Coal Operations Pty Ltd"
46 cc="au" country="Australia" operator="AngloGold Ashanti Australia Ltd"
47 cc="au" country="Australia" operator="Woodside Energy Limited"
+ 48 cc="au" country="Australia" operator="Titan ICT Pty Ltd"
50 bands="Satellite" cc="au" country="Australia" operator="Pivotel Group Pty Limited" status="Operational"
61 bands="LTE 1800 / LTE 2100" brand="CommTel NS" cc="au" country="Australia" operator="Commtel Network Solutions Pty Ltd" status="Implement / Design"
62 bands="TD-LTE 2300 / TD-LTE 3500" brand="NBN" cc="au" country="Australia" operator="National Broadband Network Co." status="Operational"
@@ -2297,7 +2385,7 @@
00-99
515
01 bands="GSM 900" brand="Islacom" cc="ph" country="Philippines" operator="Globe Telecom via Innove Communications" status="Not operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2500 / 5G 3500" brand="Globe" cc="ph" country="Philippines" operator="Globe Telecom" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2300 / TD-LTE 2500 / 5G 3500" brand="Globe" cc="ph" country="Philippines" operator="Globe Telecom" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500" brand="SMART" cc="ph" country="Philippines" operator="PLDT via Smart Communications" status="Operational"
05 bands="GSM 1800 / UMTS 2100" brand="Sun Cellular" cc="ph" country="Philippines" operator="Digital Telecommunications Philippines" status="Operational"
11 cc="ph" country="Philippines" operator="PLDT via ACeS Philippines"
@@ -2307,30 +2395,31 @@
00-99
520
00 bands="UMTS 850" brand="TrueMove H / my by CAT" cc="th" country="Thailand" operator="CAT Telecom" status="Operational"
- 01 bands="GSM 900 / UMTS 900" brand="AIS" cc="th" country="Thailand" operator="Advanced Info Service" status="Not operational"
+ 01 bands="GSM 900" brand="AIS" cc="th" country="Thailand" operator="Advanced Info Service" status="Operational"
02 bands="CDMA 800" brand="CAT CDMA" cc="th" country="Thailand" operator="CAT Telecom" status="Not operational"
- 03 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="AIS" cc="th" country="Thailand" operator="Advanced Wireless Network Company Ltd." status="Operational"
- 04 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="TrueMove H" cc="th" country="Thailand" operator="True Move H Universal Communication Company Ltd." status="Operational"
- 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="dtac TriNet / LINE" cc="th" country="Thailand" operator="DTAC TriNet Company Ltd." status="Operational"
+ 03 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / 5G 2500" brand="AIS" cc="th" country="Thailand" operator="Advanced Wireless Network Company Ltd." status="Operational"
+ 04 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / 5G 2500" brand="TrueMove H" cc="th" country="Thailand" operator="True Move H Universal Communication Company Ltd." status="Operational"
+ 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="dtac" cc="th" country="Thailand" operator="DTAC TriNet Company Ltd." status="Operational"
09 bands="LTE 850" cc="th" country="Thailand" operator="Royal Thai Police" status="Operational"
- 15 bands="UMTS 2100" brand="AIS-T / TOT Mobile" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational"
+ 15 bands="UMTS 2100 / LTE 2100" brand="AIS-T / TOT Mobile" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational"
+ 17 bands="TD-LTE 2300" brand="TOT Mobile" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational"
18 bands="GSM 1800" brand="dtac" cc="th" country="Thailand" operator="Total Access Communications Public Company Ltd." status="Operational"
20 bands="Satellite" brand="ACeS" cc="th" country="Thailand" operator="ACeS"
23 bands="GSM 1800" brand="AIS GSM 1800" cc="th" country="Thailand" operator="Digital Phone Company Ltd." status="Not operational"
25 bands="PHS 1900" brand="WE PCT" cc="th" country="Thailand" operator="True Corporation" status="Not operational"
- 47 bands="TD-LTE 2300" brand="dtac-T / LINE / TOT Mobile" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational"
- 99 bands="GSM 1800" brand="TrueMove" cc="th" country="Thailand" operator="True Corporation" status="Not operational"
+ 47 bands="TD-LTE 2300" brand="dtac-T" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational"
+ 99 bands="GSM 1800" brand="TrueMove" cc="th" country="Thailand" operator="True Corporation" status="Operational"
00-99
525
01 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="SingTel" cc="sg" country="Singapore" operator="Singapore Telecom" status="Operational"
02 bands="GSM 1800" brand="SingTel-G18" cc="sg" country="Singapore" operator="Singapore Telecom" status="Not operational"
03 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="M1" cc="sg" country="Singapore" operator="M1 Limited" status="Operational"
- 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 2600" brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile" status="Operational"
+ 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2500" brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile" status="Operational"
06 brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile"
07 brand="SingTel" cc="sg" country="Singapore" operator="Singapore Telecom"
08 brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile"
09 bands="MVNO" brand="Circles.Life" cc="sg" country="Singapore" operator="Liberty Wireless Pte Ltd" status="Operational"
- 10 bands="LTE 900 / TD-LTE 2300" cc="sg" country="Singapore" operator="TPG Telecom Pte Ltd" status="Operational"
+ 10 bands="LTE 900 / TD-LTE 2300 / TD-LTE 2500" cc="sg" country="Singapore" operator="TPG Telecom Pte Ltd" status="Operational"
11 brand="M1" cc="sg" country="Singapore" operator="M1 Limited"
12 bands="iDEN 800" brand="Grid" cc="sg" country="Singapore" operator="GRID Communications Pte Ltd." status="Operational"
00-99
@@ -2365,8 +2454,8 @@
88 bands="GSM 900 / LTE 1800" brand="Digicel" cc="to" country="Tonga" operator="Digicel (Tonga) Limited" status="Operational"
00-99
540
- 01 bands="GSM 900 / UMTS / LTE 700 / LTE 1800" brand="BREEZE" cc="sb" country="Solomon Islands" operator="Our Telekom" status="Operational"
- 02 bands="GSM 900 / GSM 1800" brand="BeMobile" cc="sb" country="Solomon Islands" operator="BMobile (SI) Ltd" status="Operational"
+ 01 bands="GSM 900 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800" brand="BREEZE" cc="sb" country="Solomon Islands" operator="Our Telekom" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="BeMobile" cc="sb" country="Solomon Islands" operator="BMobile (SI) Ltd" status="Operational"
00-99
541
00 bands="GSM 900" brand="AIL" cc="vu" country="Vanuatu" operator="ACeS International (AIL)" status="Operational"
@@ -2383,12 +2472,12 @@
01 bands="UMTS 900 / LTE" brand="Manuia" cc="wf" country="Wallis and Futuna" operator="Service des Postes et Télécommunications des Îles Wallis et Futuna (SPT)" status="Operational"
00-99
544
- 11 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700" brand="Bluesky" cc="as" country="American Samoa (United States of America)" operator="Bluesky" status="Operational"
+ 11 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900" brand="Bluesky" cc="as" country="American Samoa (United States of America)" operator="Bluesky" status="Operational"
00-99
545
- 01 bands="UMTS 850 / LTE 700" brand="Kiribati - TSKL" cc="ki" country="Kiribati" operator="Telecom Services Kiribati Ltd" status="Operational"
+ 01 bands="UMTS 900 / LTE 1800" brand="Kiribati - ATH" cc="ki" country="Kiribati" operator="Amalgamated Telecom Holdings Kiribati Limited" status="Operational"
02 cc="ki" country="Kiribati" operator="OceanLink"
- 09 bands="GSM 900" brand="Kiribati - Frigate Net" cc="ki" country="Kiribati" operator="Telecom Services Kiribati Ltd" status="Operational"
+ 09 bands="GSM 900" brand="Kiribati - Frigate Net" cc="ki" country="Kiribati" operator="Amalgamated Telecom Holdings Kiribati Limited" status="Operational"
00-99
546
01 bands="GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600" brand="Mobilis" cc="nc" country="New Caledonia (France)" operator="OPT New Caledonia" status="Operational"
@@ -2396,7 +2485,7 @@
547
05 bands="WiMAX / LTE 800 / LTE 2600" brand="Ora" cc="pf" country="French Polynesia" operator="VITI" status="Operational"
10 bands="GSM 900" cc="pf" country="French Polynesia" operator="Mara Telecom" status="Not operational"
- 15 bands="GSM 900 / UMTS 900 / UMTS 2100" brand="Vodafone" cc="pf" country="French Polynesia" operator="Pacific Mobile Telecom" status="Operational"
+ 15 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2100" brand="Vodafone" cc="pf" country="French Polynesia" operator="Pacific Mobile Telecom" status="Operational"
20 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="Vini" cc="pf" country="French Polynesia" operator="Onati S.A.S." status="Operational"
00-99
548
@@ -2420,7 +2509,7 @@
99 bands="LTE" brand="PMCI" cc="pw" country="Palau" operator="Palau Mobile Communications Inc." status="Operational"
00-99
553
- 01 bands="GSM 900 / LTE 850" brand="TTC" cc="tv" country="Tuvalu" operator="Tuvalu Telecom" status="Operational"
+ 01 bands="UMTS 900 / LTE 850" brand="TTC" cc="tv" country="Tuvalu" operator="Tuvalu Telecom" status="Operational"
00-99
554
01 bands="LTE 700" cc="tk" country="Tokelau" operator="Teletok" status="Operational"
@@ -2472,9 +2561,9 @@
06 bands="TD-LTE 2300" cc="gm" country="Gambia" operator="NETPAGE" status="Operational"
00-99
608
- 01 bands="GSM 900 / UMTS 2100 / LTE" brand="Orange" cc="sn" country="Senegal" operator="Sonatel" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Tigo" cc="sn" country="Senegal" operator="Millicom International Cellular S.A." status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Expresso" cc="sn" country="Senegal" operator="Sudatel" status="Operational"
+ 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Orange" cc="sn" country="Senegal" operator="Sonatel" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 1900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Free" cc="sn" country="Senegal" operator="Saga Africa Holdings Limited" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Expresso" cc="sn" country="Senegal" operator="Expresso Telecom" status="Operational"
04 cc="sn" country="Senegal" operator="CSU-SA"
00-99
609
@@ -2557,11 +2646,19 @@
02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Vodafone" cc="gh" country="Ghana" operator="Vodafone Group" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="AirtelTigo" cc="gh" country="Ghana" operator="Millicom Ghana" status="Operational"
04 bands="CDMA2000 850" brand="Expresso" cc="gh" country="Ghana" operator="Kasapa / Hutchison Telecom" status="Operational"
+ 05 cc="gh" country="Ghana" operator="National Security"
06 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="AirtelTigo" cc="gh" country="Ghana" operator="Airtel" status="Operational"
07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Globacom" cc="gh" country="Ghana" operator="Globacom Group" status="Operational"
08 bands="LTE 2600" brand="Surfline" cc="gh" country="Ghana" operator="Surfline Communications Ltd" status="Not operational"
+ 09 brand="NITA" cc="gh" country="Ghana" operator="National Information Technology Agency"
10 bands="TD-LTE 2500" brand="Blu" cc="gh" country="Ghana" operator="Blu Telecommunications" status="Operational"
11 cc="gh" country="Ghana" operator="Netafrique Dot Com Ltd"
+ 12 cc="gh" country="Ghana" operator="BTL"
+ 13 cc="gh" country="Ghana" operator="Goldkey"
+ 14 bands="TD-LTE 2300" brand="busy" cc="gh" country="Ghana" operator="BusyInternet" status="Operational"
+ 15 bands="MVNO" cc="gh" country="Ghana" operator="Lebara" status="Operational"
+ 16 bands="LTE 1800" cc="gh" country="Ghana" operator="Telesol" status="Operational"
+ 17 cc="gh" country="Ghana" operator="iBurst Africa"
00-99
621
00 bands="LTE 1900" cc="ng" country="Nigeria" operator="Capcom" status="Not operational"
@@ -2611,7 +2708,7 @@
02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Moov" cc="ga" country="Gabon" operator="Gabon Telecom S.A." status="Operational"
03 bands="GSM 900 / UMTS 2100 / LTE 2100" brand="Airtel" cc="ga" country="Gabon" operator="Airtel Gabon S.A." status="Operational"
04 bands="GSM 900 / GSM 1800" brand="Azur" cc="ga" country="Gabon" operator="USAN Gabon S.A." status="Not operational"
- 05 brand="RAG" cc="ga" country="Gabon" operator="Réseau de l’Administration Gabonaise"
+ 05 brand="RAG" cc="ga" country="Gabon" operator="Réseau de l'Administration Gabonaise"
00-99
629
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2600" brand="Airtel" cc="cg" country="Congo" operator="Celtel Congo" status="Operational"
@@ -2640,6 +2737,7 @@
633
01 bands="GSM 900 / UMTS" brand="Cable & Wireless" cc="sc" country="Seychelles" operator="Cable & Wireless Seychelles" status="Operational"
02 bands="GSM 1800" brand="Mediatech" cc="sc" country="Seychelles" operator="Mediatech International" status="Not operational"
+ 05 cc="sc" country="Seychelles" operator="Intelvision Ltd"
10 bands="GSM 900 / UMTS 2100 / LTE 800" brand="Airtel" cc="sc" country="Seychelles" operator="Telecom Seychelles Ltd" status="Operational"
00-99
634
@@ -2692,18 +2790,19 @@
11 cc="ke" country="Kenya" operator="WiAfrica Kenya Limited" status="Not operational"
00-99
640
- 01 bands="UMTS 900" cc="tz" country="Tanzania" operator="Rural NetCo Limited" status="Not operational"
+ 01 bands="UMTS 900" cc="tz" country="Tanzania" operator="Shared Network Tanzania Limited" status="Not operational"
02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="tiGO" cc="tz" country="Tanzania" operator="MIC Tanzania Limited" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Zantel" cc="tz" country="Tanzania" operator="Zanzibar Telecom Ltd" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Vodacom" cc="tz" country="Tanzania" operator="Vodacom Tanzania Limited" status="Operational"
05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700" brand="Airtel" cc="tz" country="Tanzania" operator="Bharti Airtel" status="Operational"
06 bands="CDMA 800" brand="Sasatel (Dovetel)" cc="tz" country="Tanzania" operator="Dovetel Limited" status="Not operational"
07 bands="CDMA 800 / UMTS 2100 / LTE 1800 / TD-LTE 2300" brand="TTCL Mobile" cc="tz" country="Tanzania" operator="Tanzania Telecommunication Company LTD (TTCL)" status="Operational"
- 08 bands="TD-LTE 2300" brand="Smart" cc="tz" country="Tanzania" operator="Benson Informatics Limited" status="Operational"
+ 08 bands="TD-LTE 2300" brand="Smart" cc="tz" country="Tanzania" operator="Benson Informatics Limited" status="Not operational"
09 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Halotel" cc="tz" country="Tanzania" operator="Viettel Tanzania Limited" status="Operational"
11 bands="LTE 800" brand="SmileCom" cc="tz" country="Tanzania" operator="Smile Telecoms Holdings Ltd." status="Operational"
12 cc="tz" country="Tanzania" operator="MyCell Limited" status="Not operational"
13 brand="Cootel" cc="tz" country="Tanzania" operator="Wiafrica Tanzania Limited"
+ 14 cc="tz" country="Tanzania" operator="MO Mobile Holding Limited"
00-99
641
01 bands="GSM 900 / UMTS 2100" brand="Airtel" cc="ug" country="Uganda" operator="Bharti Airtel" status="Operational"
@@ -2744,14 +2843,14 @@
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Airtel" cc="mg" country="Madagascar" operator="Bharti Airtel" status="Operational"
02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="mg" country="Madagascar" operator="Orange Madagascar S.A." status="Operational"
03 bands="GSM 900" brand="Sacel" cc="mg" country="Madagascar" operator="Sacel Madagascar S.A." status="Not operational"
- 04 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Telma" cc="mg" country="Madagascar" operator="Telma Mobile S.A." status="Operational"
+ 04 bands="GSM 900 / UMTS 2100 / LTE 1800 / 5G 3500" brand="Telma" cc="mg" country="Madagascar" operator="Telma Mobile S.A." status="Operational"
05 bands="LTE 2100 / TD-LTE 2600" brand="BIP / blueline" cc="mg" country="Madagascar" operator="Gulfsat Madagascar S.A." status="Operational"
00-99
647
00 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" country="French Indian Ocean Territories (France) - YT/RE" operator="Orange La Réunion" status="Operational"
01 bands="GSM 900 / GSM 1800 / LTE 1800" brand="Maoré Mobile" country="French Indian Ocean Territories (France) - YT/RE" operator="BJT Partners" status="Operational"
- 02 brand="Only" country="French Indian Ocean Territories (France) - YT/RE" operator="Telco OI" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Free" country="French Indian Ocean Territories (France) - YT/RE" operator="Telco OI" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Only" country="French Indian Ocean Territories (France) - YT/RE" operator="Telco OI" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Free" country="French Indian Ocean Territories (France) - YT/RE" operator="Telco OI" status="Operational"
04 bands="LTE 1800 / LTE 2100 / LTE 2600" brand="Zeop" country="French Indian Ocean Territories (France) - YT/RE" operator="Zeop mobile"
10 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="SFR Réunion" country="French Indian Ocean Territories (France) - YT/RE" operator="Société Réunionnaise du Radiotéléphone" status="Operational"
00-99
@@ -2767,6 +2866,7 @@
04 bands="WiMAX 2500 / TD-LTE" cc="na" country="Namibia" operator="Paratus Telecommunications (Pty)" status="Operational"
05 cc="na" country="Namibia" operator="Demshi Investments CC"
06 bands="LTE" cc="na" country="Namibia" operator="MTN Namibia" status="Operational"
+ 07 cc="na" country="Namibia" operator="Capricorn Connect"
00-99
650
01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / TD-LTE 2500" brand="TNM" cc="mw" country="Malawi" operator="Telecom Network Malawi" status="Operational"
@@ -2780,7 +2880,7 @@
00-99
652
01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Mascom" cc="bw" country="Botswana" operator="Mascom Wireless (Pty) Limited" status="Operational"
- 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="bw" country="Botswana" operator="Orange (Botswana) Pty Limited" status="Operational"
+ 02 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Orange" cc="bw" country="Botswana" operator="Orange (Botswana) Pty Limited" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="beMobile" cc="bw" country="Botswana" operator="Botswana Telecommunications Corporation" status="Operational"
00-99
653
@@ -2793,7 +2893,7 @@
02 bands="GSM 900 / UMTS 900 / LTE 800" brand="TELCO SA" cc="km" country="Comoros" operator="Telecom Malagasy (Telma)" status="Operational"
00-99
655
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="Vodacom" cc="za" country="South Africa" operator="Vodacom" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 5200 / LTE 5800" brand="Vodacom" cc="za" country="South Africa" operator="Vodacom" status="Operational"
02 bands="GSM 1800 / UMTS 2100 / LTE 1800 / TD-LTE 2300" brand="Telkom" cc="za" country="South Africa" operator="Telkom SA SOC Ltd" status="Operational"
04 cc="za" country="South Africa" operator="Sasol (Pty) Ltd." status="Not operational"
05 bands="3G" cc="za" country="South Africa" operator="Telkom SA Ltd"
@@ -2857,7 +2957,7 @@
706
01 bands="GSM 1900 / UMTS 1900" brand="Claro" cc="sv" country="El Salvador" operator="CTE Telecom Personal, S.A. de C.V." status="Operational"
02 bands="GSM 900 / UMTS 900" brand="Digicel" cc="sv" country="El Salvador" operator="Digicel, S.A. de C.V." status="Operational"
- 03 bands="GSM 850 / UMTS 850 / LTE 850" brand="Tigo" cc="sv" country="El Salvador" operator="Telemovil El Salvador S.A." status="Operational"
+ 03 bands="GSM 850 / UMTS 850 / LTE 850 / LTE 1700" brand="Tigo" cc="sv" country="El Salvador" operator="Telemovil El Salvador S.A." status="Operational"
04 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900" brand="movistar" cc="sv" country="El Salvador" operator="Telefónica Móviles El Salvador" status="Operational"
05 bands="iDEN" brand="RED" cc="sv" country="El Salvador" operator="INTELFON, S.A. de C.V." status="Operational"
00-99
@@ -2910,7 +3010,7 @@
02 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="TIM" cc="br" country="Brazil" operator="Telecom Italia Mobile" status="Operational"
03 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="TIM" cc="br" country="Brazil" operator="Telecom Italia Mobile" status="Operational"
04 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="TIM" cc="br" country="Brazil" operator="Telecom Italia Mobile" status="Operational"
- 05 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Claro" cc="br" country="Brazil" operator="Claro" status="Operational"
+ 05 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 2600" brand="Claro" cc="br" country="Brazil" operator="Claro" status="Operational"
06 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational"
10 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational"
11 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational"
@@ -2968,11 +3068,11 @@
004 cc="co" country="Colombia" operator="COMPATEL COLOMBIA SAS"
020 bands="LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Une EPM Telecomunicaciones S.A. E.S.P." status="Operational"
099 bands="GSM 900" brand="EMCALI" cc="co" country="Colombia" operator="Empresas Municipales de Cali" status="Operational"
- 101 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Claro" cc="co" country="Colombia" operator="COMCEL S.A." status="Operational"
+ 101 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Claro" cc="co" country="Colombia" operator="Comunicacion Celular S.A. (Comcel)" status="Operational"
102 bands="GSM 850 / GSM 1900 / CDMA 850" cc="co" country="Colombia" operator="Bellsouth Colombia" status="Not operational"
- 103 bands="GSM 1900 / UMTS 2100 / LTE 1700 / LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" status="Operational"
- 111 bands="GSM 1900 / UMTS 2100 / LTE 1700 / LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" status="Operational"
- 123 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700 / LTE 1900 / CDMA 850" brand="movistar" cc="co" country="Colombia" operator="Colombia Telecomunicaciones S.A. ESP" status="Operational"
+ 103 bands="GSM 1900 / UMTS 2100 / LTE 700 / LTE 1700 / LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" status="Operational"
+ 111 bands="GSM 1900 / UMTS 2100 / LTE 700 / LTE 1700 / LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" status="Operational"
+ 123 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 850 / LTE 1700 / LTE 1900" brand="movistar" cc="co" country="Colombia" operator="Colombia Telecomunicaciones S.A. ESP" status="Operational"
130 bands="iDEN / UMTS 1700 / LTE 1700" brand="AVANTEL" cc="co" country="Colombia" operator="Avantel S.A.S" status="Operational"
142 cc="co" country="Colombia" operator="Une EPM Telecomunicaciones S.A. E.S.P."
154 bands="MVNO" brand="Virgin Mobile" cc="co" country="Colombia" operator="Virgin Mobile Colombia S.A.S." status="Operational"
@@ -2985,6 +3085,7 @@
220 cc="co" country="Colombia" operator="Libre Tecnologias SAS"
230 cc="co" country="Colombia" operator="Setroc Mobile Group SAS"
240 cc="co" country="Colombia" operator="Logistica Flash Colombia SAS" status="Operational"
+ 666 brand="Claro" cc="co" country="Colombia" operator="Comunicacion Celular S.A. (Comcel)"
000-999
734
01 bands="GSM 900" brand="Digitel" cc="ve" country="Venezuela" operator="Corporacion Digitel C.A." status="Not operational"
@@ -3009,6 +3110,9 @@
02 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="CNT Mobile" cc="ec" country="Ecuador" operator="Corporación Nacional de Telecomunicaciones (CNT EP)" status="Operational"
03 bands="MVNO" brand="Tuenti" cc="ec" country="Ecuador" operator="Otecel S.A." status="Operational"
00-99
+742
+ 04 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600" brand="Free" country="'French Guiana (France) - GF'" operator="Free Caraïbe" status="Upcoming"
+ 00-99
744
01 bands="GSM 1900 / UMTS 900 / UMTS 1900 / LTE 1700" brand="VOX" cc="py" country="Paraguay" operator="Hola Paraguay S.A." status="Operational"
02 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Claro" cc="py" country="Paraguay" operator="AMX Paraguay S.A." status="Operational"
@@ -3025,7 +3129,7 @@
00-99
748
00 bands="TDMA" brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Not operational"
- 01 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1700 / 5G 3500" brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Operational"
+ 01 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1700 / 5G 28000" brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Operational"
03 brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Not operational"
07 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1900" brand="Movistar" cc="uy" country="Uruguay" operator="Telefónica Móviles Uruguay" status="Operational"
10 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Claro" cc="uy" country="Uruguay" operator="AM Wireless Uruguay S.A." status="Operational"
@@ -3052,7 +3156,7 @@
16 brand="Cisco Jasper" country="International operators" operator="Cisco Systems, Inc." status="Operational"
17 bands="GSM 1800" brand="Navitas" country="International operators" operator="JT Group Limited" status="Not operational"
18 bands="GSM 900 / GSM 1900 / CDMA2000 1900 / UMTS 1900" brand="Cellular @Sea" country="International operators" operator="AT&T Mobility" status="Operational"
- 19 bands="GSM 900 / GSM 1800 / UMTS 2100" country="International operators" operator="Vodafone Malta Maritime" status="Operational"
+ 19 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Vodafone Malta Maritime" country="International operators" operator="Monaco Telecom" status="Operational"
20 country="International operators" operator="Intermatica"
21 bands="GSM 1800" country="International operators" operator="Wins Limited" status="Operational"
22 country="International operators" operator="MediaLincc Ltd"
@@ -3074,7 +3178,7 @@
38 bands="MVNO" country="International operators" operator="Multiregional TransitTelecom (MTT)" status="Operational"
39 bands="MVNO" country="International operators" operator="MTX Connect Ltd" status="Operational"
40 bands="MVNO" brand="1nce GmbH" country="International operators" operator="Deutsche Telekom AG" status="Operational"
- 41 bands="MVNO" country="International operators" operator="BodyTrace Netherlands B.V." status="Operational"
+ 41 bands="MVNO" country="International operators" operator="One Network B.V." status="Operational"
42 country="International operators" operator="DCN Hub ehf"
43 bands="MVNO" country="International operators" operator="EMnify GmbH" status="Operational"
44 country="International operators" operator="AT&T Inc."
@@ -3086,7 +3190,7 @@
50 bands="Satellite" country="International operators" operator="EchoStar Mobile"
51 country="International operators" operator="VisionNG"
52 country="International operators" operator="Manx Telecom Trading Ltd."
- 53 bands="Satellite" country="International operators" operator="Deutsche Telekom AG" status="Operational"
+ 53 bands="LTE 2100" brand="European Aviation Network" country="International operators" operator="Deutsche Telekom AG" status="Operational"
54 country="International operators" operator="Teleena Holding B.V."
55 country="International operators" operator="Beezz Communication Solutions Ltd."
56 brand="ETSI" country="International operators" operator="European Telecommunications Standards Institute"
@@ -3103,10 +3207,14 @@
67 bands="MVNO" country="International operators" operator="1NCE GmbH" status="Operational"
68 country="International operators" operator="Maersk Line A/S"
69 country="International operators" operator="Legos"
+ 70 bands="MVNO" country="International operators" operator="Clementvale Baltic OÜ"
+ 71 country="International operators" operator="Tampnet AS"
88 country="International operators" operator="UN Office for the Coordination of Humanitarian Affairs (OCHA)"
00-99
902
01 bands="LTE" country="International operators" operator="MulteFire Allicance" status="Operational"
+ 72 country="International operators" operator="Tele2 IoT"
+ 73 country="International operators" operator="Cubic Telecom Limited"
00-99
991
01 country="International operators" operator="World's Global Telecom"
diff --git a/stdnum/isbn.dat b/stdnum/isbn.dat
index cf9905bf..9a4eb2fc 100644
--- a/stdnum/isbn.dat
+++ b/stdnum/isbn.dat
@@ -1,19 +1,21 @@
# generated from RangeMessage.xml, downloaded from
# https://www.isbn-international.org/export_rangemessage.xml
-# file serial 8fd7c3b9-d154-48cb-9f68-90c2713e2eda
-# file date Fri, 17 Jan 2020 14:32:59 CET
+# file serial 788740c8-ebcc-43eb-8de8-f6a711889b42
+# file date Fri, 7 Aug 2020 13:02:30 CEST
978
0-5,600-649,65-65,7-7,80-94,950-989,9900-9989,99900-99999
0 agency="English language"
00-19,200-227,2280-2289,229-368,3690-3699,370-638,6390-6397
- 6398000-6399999,640-647,6480000-6489999,649-654,6550-6559,656-699
- 7000-8499,85000-89999,900000-949999,9500000-9999999
+ 6398000-6399999,640-644,6450000-6459999,646-647,6480000-6489999,649-654
+ 6550-6559,656-699,7000-8499,85000-89999,900000-949999,9500000-9999999
1 agency="English language"
- 000-009,01-06,0700-0999,100-397,3980-5499,55000-64999,6500-6799
- 68000-68599,6860-7139,714-716,7170-7319,7320000-7399999,74000-77499
- 7750000-7753999,77540-77639,7764000-7764999,77650-77699,7770000-7776999
- 77770-78999,7900-7999,80000-86719,8672-8675,86760-86979,869800-915999
- 9160000-9165059,916506-972999,9730-9877,987800-998999,9990000-9999999
+ 000-009,01-02,030-034,0350-0399,04-06,0700-0999,100-397,3980-5499
+ 55000-64999,6500-6799,68000-68599,6860-7139,714-716,7170-7319
+ 7320000-7399999,74000-77499,7750000-7753999,77540-77639,7764000-7764999
+ 77650-77699,7770000-7776999,77770-78999,7900-7999,80000-80049
+ 80050-80499,80500-83799,8380000-8384999,83850-86719,8672-8675
+ 86760-86979,869800-915999,9160000-9165059,916506-972999,9730-9877
+ 987800-991149,9911500-9911999,991200-998989,9989900-9999999
2 agency="French language"
00-19,200-349,35000-39999,400-489,490000-494999,495-495,4960-4966
49670-49699,497-699,7000-8399,84000-89999,900000-919799,91980-91980
@@ -46,13 +48,13 @@
000-089,09-49,500-799,8000-9099,910-919,92000-96499,9650-9749,975-999
607 agency="Mexico"
00-39,400-749,7500-9499,95000-99999
- 608 agency="Macedonia"
+ 608 agency="North Macedonia"
0-0,10-19,200-449,4500-6499,65000-69999,7-9
609 agency="Lithuania"
00-39,400-799,8000-9499,95000-99999
611 agency="Thailand"
612 agency="Peru"
- 00-29,300-399,4000-4499,45000-49999,50-99
+ 00-29,300-399,4000-4499,45000-49999,5000-5149
613 agency="Mauritius"
0-9
614 agency="Lebanon"
@@ -74,13 +76,14 @@
622 agency="Iran"
00-08,200-299,6000-7499,95000-99999
623 agency="Indonesia"
- 00-09,200-299,7000-7999,90000-99999
+ 00-09,200-299,6500-7999,90000-99999
624 agency="Sri Lanka"
00-04,200-249,5000-5999,95000-99999
625 agency="Turkey"
00-00,400-449,7000-7999
65 agency="Brazil"
- 300-302,5000-5129,80000-81699,900000-902249
+ 00-01,250-299,300-302,5000-5129,5500-5999,80000-81824,86000-89999
+ 900000-902449,990000-999999
7 agency="China, People's Republic"
00-09,100-499,5000-7999,80000-89999,900000-999999
80 agency="former Czechoslovakia"
@@ -142,15 +145,15 @@
00-02,0300-0499,05-19,2000-2099,21-27,28000-30999,31-43,440-819
8200-9699,97000-99999
958 agency="Colombia"
- 00-50,5100-5199,52000-53999,5400-5599,56000-59999,600-799,8000-9499
- 95000-99999
+ 00-48,490-509,5100-5199,52000-53999,5400-5599,56000-59999,600-799
+ 8000-9499,95000-99999
959 agency="Cuba"
00-19,200-699,7000-8499,85000-99999
960 agency="Greece"
00-19,200-659,6600-6899,690-699,7000-8499,85000-92999,93-93,9400-9799
98000-99999
961 agency="Slovenia"
- 00-19,200-599,6000-8999,90000-94999
+ 00-19,200-599,6000-8999,90000-95999
962 agency="Hong Kong, China"
00-19,200-699,7000-8499,85000-86999,8700-8999,900-999
963 agency="Hungary"
@@ -163,8 +166,8 @@
00-12,130-139,14-14,1500-1699,170-199,2000-2789,279-289,2900-2999
300-699,7000-8999,90000-90999,910-949,95000-97999,980-999
967 agency="Malaysia"
- 00-00,0100-0999,10000-19999,2000-2499,300-499,5000-5999,60-89,900-989
- 9900-9989,99900-99999
+ 00-00,0100-0999,10000-19999,2000-2499,250-254,2900-2999,300-499
+ 5000-5999,60-89,900-989,9900-9989,99900-99999
968 agency="Mexico"
01-39,400-499,5000-7999,800-899,9000-9999
969 agency="Pakistan"
@@ -214,6 +217,10 @@
00-11,12000-19999,200-739,74000-76999,77000-79999,8000-9699,97000-99999
989 agency="Portugal"
0-1,20-53,54000-54999,550-799,8000-9499,95000-99999
+ 9914 agency="Kenya"
+ 40-44,700-749,9850-9999
+ 9915 agency="Uruguay"
+ 40-59,650-799,9300-9999
9916 agency="Estonia"
0-0,10-39,4-4,600-749,9500-9999
9917 agency="Bolivia"
@@ -223,7 +230,7 @@
9919 agency="Mongolia"
20-27,500-599,9500-9999
9920 agency="Morocco"
- 35-39,600-799,9300-9999
+ 35-39,550-799,9000-9999
9921 agency="Kuwait"
0-0,30-39,700-899,9700-9999
9922 agency="Iraq"
@@ -263,7 +270,7 @@
9939 agency="Armenia"
0-4,50-79,800-899,9000-9799,98-99
9940 agency="Montenegro"
- 0-1,20-49,500-839,84-86,8700-8999,9000-9999
+ 0-1,20-49,500-839,84-86,8700-9999
9941 agency="Georgia"
0-0,10-39,400-799,8-8,9000-9999
9942 agency="Ecuador"
@@ -273,7 +280,7 @@
9944 agency="Turkey"
0000-0999,100-499,5000-5999,60-69,700-799,80-89,900-999
9945 agency="Dominican Republic"
- 00-00,010-079,08-39,400-569,57-57,580-849,8500-9999
+ 00-00,010-079,08-39,400-569,57-57,580-799,80-80,810-849,8500-9999
9946 agency="Korea, P.D.R."
0-1,20-39,400-899,9000-9999
9947 agency="Algeria"
@@ -335,7 +342,7 @@
9975 agency="Moldova"
0-0,100-299,3000-3999,4000-4499,45-89,900-949,9500-9999
9976 agency="Tanzania"
- 0-4,5000-5899,59-89,900-989,9900-9999
+ 0-4,5000-5799,580-589,59-89,900-989,9900-9999
9977 agency="Costa Rica"
00-89,900-989,9900-9999
9978 agency="Ecuador"
@@ -359,8 +366,8 @@
9987 agency="Tanzania"
00-39,400-879,8800-9999
9988 agency="Ghana"
- 0-2,30-54,550-749,7500-9999
- 9989 agency="Macedonia"
+ 0-3,40-54,550-749,7500-9999
+ 9989 agency="North Macedonia"
0-0,100-199,2000-2999,30-59,600-949,9500-9999
99901 agency="Bahrain"
00-49,500-799,80-99
@@ -392,7 +399,7 @@
99916 agency="Namibia"
0-2,30-69,700-999
99917 agency="Brunei Darussalam"
- 0-2,30-89,900-999
+ 0-2,30-88,890-999
99918 agency="Faroe Islands"
0-3,40-79,800-999
99919 agency="Benin"
@@ -477,7 +484,7 @@
99959 agency="Luxembourg"
0-2,30-59,600-999
99960 agency="Malawi"
- 0-0,10-94,950-999
+ 070-099,10-94,950-999
99961 agency="El Salvador"
0-2,300-369,37-89,900-999
99962 agency="Mongolia"
@@ -511,7 +518,7 @@
99976 agency="Srpska, Republic of"
0-1,20-59,600-799,900-999
99977 agency="Rwanda"
- 0-1,40-69,700-799
+ 0-1,40-69,700-799,995-999
99978 agency="Mongolia"
0-4,50-69,700-999
99979 agency="Honduras"
@@ -519,11 +526,13 @@
99980 agency="Bhutan"
0-0,30-59,800-999
99981 agency="Macau"
- 0-1,30-49,800-999
+ 0-1,30-59,800-999
99982 agency="Benin"
- 0-0,50-59,900-949
+ 0-0,50-62,900-969
99983 agency="El Salvador"
0-0,50-69,950-999
+ 99985 agency="Tajikistan"
+ 55-59,950-999
979
10-12,8-8
10 agency="France"
@@ -531,6 +540,6 @@
11 agency="Korea, Republic"
00-24,250-549,5500-8499,85000-94999,950000-999999
12 agency="Italy"
- 200-200,80000-84999
+ 200-299,5950-5999,80000-84999
8 agency="United States"
6000-6999,9850000-9850009
diff --git a/stdnum/nz/banks.dat b/stdnum/nz/banks.dat
index d7c1e64e..9c86f5b6 100644
--- a/stdnum/nz/banks.dat
+++ b/stdnum/nz/banks.dat
@@ -1,5 +1,5 @@
-# generated from BankBranchRegister-20Dec2019.xls downloaded from
-# https://www.paymentsnz.co.nz/resources/industry-registers/bank-branch-register/download/xls/
+# generated from BankBranchRegister-10Aug2020.xlsx downloaded from
+# https://www.paymentsnz.co.nz/resources/industry-registers/bank-branch-register/download/xlsx/
01 bank="ANZ Bank New Zealand"
0001 branch="ANZ Retail 1"
0004 branch="ANZ Retail 2"
@@ -537,16 +537,21 @@
1273 branch="Bank of Baroda"
1274 branch="BNZ Connect"
1275 branch="Sylvia Park Store"
+ 1276 branch="Commercial Bay"
1278 branch="Russley"
1283 branch="Access Prepaid Worldwide CPP"
1284 branch="Access Prepaid Worldwide - Qantas Cash NZ"
1285 branch="NorthWest"
- 1286,1290 branch="BNZ Institutional Banking"
+ 1286 branch="BNZ Institutional Banking"
+ 1290 branch="Transferwise Limited"
1291 branch="Transferwise Ltd"
1294 branch="Waddle Loans Ltd"
1295 branch="Toll Networks (NZ) Ltd"
1296 branch="Toll Carriers Ltd"
1298 branch="Whangaparaoa"
+ 2025-2053 branch="BNZ Account"
+ 2054 branch="BNZ Account Test Branch"
+ 2055 branch="BNZ Account Training Branch"
03 bank="Westpac"
0031-0032 branch="Auckland Clearings"
0043-0044 branch="Wellington Clearings"
@@ -578,7 +583,7 @@
0179,1513 branch="Mt Roskill"
0181 branch="Milford"
0189 branch="3073 Great North Road"
- 0195-0196,0239,0283 branch="Newmarket"
+ 0195-0196,0239,0283,1394 branch="Newmarket"
0198 branch="DPS Palmerston North"
0206,1390 branch="Botany at The Hub"
0207 branch="Manukau City"
@@ -586,11 +591,10 @@
0212 branch="Onehunga Mall"
0219-0220 branch="Otahuhu"
0227 branch="Panmure"
- 0228 branch="184 Dominion Road"
+ 0228,0255,1512 branch="Ponsonby"
0250 branch="C and I B Head Office"
0251 branch="Government Business"
0253,0292 branch="Westpac Tower Branch"
- 0255,1512 branch="Ponsonby"
0259 branch="Remuera"
0263 branch="St Heliers"
0268 branch="Southdown Dcbc"
@@ -613,19 +617,17 @@
0371,1573 branch="Morrinsville"
0374 branch="Mt Maunganui"
0385,0399,0423 branch="Papakura"
- 0389,1502 branch="Silverdale"
+ 0389,0419,1502 branch="Silverdale"
0394 branch="Paihia"
0406 branch="Pukekohe"
0407 branch="127 King Street Pukekohe"
0415,1545,1552 branch="Rotorua Central"
0417 branch="Amohia Street Rotorua"
- 0419 branch="Whangaparaoa"
0426 branch="Taumarunui"
0430 branch="Taupo"
0431 branch="Heu Heu Street Taupo"
- 0435 branch="Tauranga Centre"
+ 0435,0445,1548,1720 branch="Cameron Road"
0442-0443,1564 branch="Te Awamutu"
- 0445,1548,1720 branch="Cameron Road"
0446 branch="Grey Street Tauranga"
0449,1562 branch="Te Kuiti"
0458 branch="Thames"
@@ -633,7 +635,7 @@
0474 branch="Te Puke"
0481,0485 branch="Warkworth"
0490,1544 branch="Whakatane"
- 0502,0584 branch="318 Lambton Quay"
+ 0502,0584,1540 branch="318 Lambton Quay"
0503 branch="Wellington"
0510,0515,0558 branch="Courtenay Place"
0511,0559 branch="Ghuznee Street"
@@ -689,7 +691,7 @@
0799 branch="93 Armagh Street ChCh"
0802,0866,1592-1593 branch="Christchurch Central"
0803 branch="Christchurch"
- 0809,1746 branch="Windsor"
+ 0809,1745-1746 branch="Windsor"
0813 branch="Courier Banking CHCH"
0814,1595,1597,1700 branch="The Palms"
0818,0854,1702 branch="Papanui"
@@ -788,7 +790,6 @@
1388 branch="Westpac Direct Auckland"
1389 branch="Westpac Direct ChCh"
1393 branch="Huapai"
- 1394 branch="Epsom"
1395 branch="Digital Branch 2"
1396 branch="Mangere"
1397 branch="Takanini"
@@ -809,10 +810,9 @@
1530 branch="SBO Centre 2"
1538 branch="Ruakaka"
1539 branch="Westpac 4"
- 1540 branch="Karori Mall"
1546 branch="Opotiki"
1547,1551 branch="Bayfair"
- 1549 branch="Greerton"
+ 1549 branch="Tauranga Crossing"
1550 branch="Katikati"
1553,1587-1588 branch="Rolleston"
1556-1557,1559,1561 branch="Chartwell"
@@ -826,15 +826,14 @@
1585 branch="Kaiapoi"
1586 branch="Kaikoura"
1590,1596,1599 branch="Ferrymead"
- 1594,1703 branch="Barrington"
- 1598 branch="St Martins"
+ 1594,1598,1703 branch="Barrington"
1701 branch="Auckland Airport"
1710 branch="Picton"
1714-1715 branch="Northtown"
1725 branch="Mosgiel"
1734,1736 branch="Balclutha"
1739 branch="Wanaka"
- 1744-1745 branch="Invercargill South"
+ 1744 branch="Invercargill South"
1751 branch="Transaction Banking 51"
1752 branch="Transaction Banking 52"
1753 branch="Transaction Banking 53"
diff --git a/stdnum/oui.dat b/stdnum/oui.dat
index 9c2a8104..a14c8bb3 100644
--- a/stdnum/oui.dat
+++ b/stdnum/oui.dat
@@ -5,9 +5,9 @@
000000-000009,0000AA o="XEROX CORPORATION"
00000A o="OMRON TATEISI ELECTRONICS CO."
00000B o="MATRIX CORPORATION"
-00000C,000142-000143,000163-000164,000196-000197,0001C7,0001C9,000216-000217,00023D,00024A-00024B,00027D-00027E,0002B9-0002BA,0002FC-0002FD,000331-000332,00036B-00036C,00039F-0003A0,0003E3-0003E4,0003FD-0003FE,000427-000428,00044D-00044E,00046D-00046E,00049A-00049B,0004C0-0004C1,0004DD-0004DE,000500-000501,000531-000532,00055E-00055F,000573-000574,00059A-00059B,0005DC-0005DD,000628,00062A,000652-000653,00067C,0006C1,0006D6-0006D7,0006F6,00070D-00070E,00074F-000750,00077D,000784-000785,0007B3-0007B4,0007EB-0007EC,000820-000821,00082F-000832,00087C-00087D,0008A3-0008A4,0008C2,0008E2-0008E3,000911-000912,000943-000944,00097B-00097C,0009B6-0009B7,0009E8-0009E9,000A41-000A42,000A8A-000A8B,000AB7-000AB8,000AF3-000AF4,000B45-000B46,000B5F-000B60,000B85,000BBE-000BBF,000BFC-000BFD,000C30-000C31,000C85-000C86,000CCE-000CCF,000D28-000D29,000D65-000D66,000DBC-000DBD,000DEC-000DED,000E38-000E39,000E83-000E84,000ED6-000ED7,000F23-000F24,000F34-000F35,000F8F-000F90,000FF7-000FF8,001007,00100B,00100D,001011,001014,00101F,001029,00102F,001054,001079,00107B,0010A6,0010F6,0010FF,001120-001121,00115C-00115D,001192-001193,0011BB-0011BC,001200-001201,001243-001244,00127F-001280,0012D9-0012DA,001319-00131A,00135F-001360,00137F-001380,0013C3-0013C4,00141B-00141C,001469-00146A,0014A8-0014A9,0014F1-0014F2,00152B-00152C,001562-001563,0015C6-0015C7,0015F9-0015FA,001646-001647,00169C-00169D,0016C7-0016C8,00170E-00170F,00173B,001759-00175A,001794-001795,0017DF-0017E0,001818-001819,001873-001874,0018B9-0018BA,001906-001907,00192F-001930,001955-001956,0019A9-0019AA,0019E7-0019E8,001A2F-001A30,001A6C-001A6D,001AA1-001AA2,001AE2-001AE3,001B0C-001B0D,001B2A-001B2B,001B53-001B54,001B8F-001B90,001BD4-001BD5,001C0E-001C0F,001C57-001C58,001CB0-001CB1,001CF6,001CF9,001D45-001D46,001D70-001D71,001DA1-001DA2,001DE5-001DE6,001E13-001E14,001E49-001E4A,001E79-001E7A,001EBD-001EBE,001EF6-001EF7,001F26-001F27,001F6C-001F6D,001F9D-001F9E,001FC9-001FCA,00211B-00211C,002155-002156,0021A0-0021A1,0021D7-0021D8,00220C-00220D,002255-002256,002290-002291,0022BD-0022BE,002304-002305,002333-002334,00235D-00235E,0023AB-0023AC,0023EA-0023EB,002413-002414,002450-002451,002497-002498,0024C3-0024C4,0024F7,0024F9,002545-002546,002583-002584,0025B4-0025B5,00260A-00260B,002651-002652,002698-002699,0026CA-0026CB,00270C-00270D,002790,0027E3,0029C2,002A10,002A6A,002CC8,002F5C,003019,003024,003040,003071,003078,00307B,003080,003085,003094,003096,0030A3,0030B6,0030F2,003217,00351A,0038DF,003A7D,003A98-003A9C,003C10,00400B,004096,0041D2,00425A,004268,00451D,00500B,00500F,005014,00502A,00503E,005050,005053-005054,005073,005080,0050A2,0050A7,0050BD,0050D1,0050E2,0050F0,00562B,0057D2,0059DC,005D73,005F86,006009,00602F,00603E,006047,00605C,006070,006083,0062EC,006440,006BF1,006CBC,007278,007686,00778D,007888,007E95,0081C4,008731,008764,008A96,008E73,00900C,009021,00902B,00905F,00906D,00906F,009086,009092,0090A6,0090AB,0090B1,0090BF,0090D9,0090F2,009AD2,009E1E,00A289,00A2EE,00A38E,00A3D1,00A5BF,00A6CA,00A742,00AA6E,00AF1F,00B04A,00B064,00B08E,00B0C2,00B0E1,00B1E3,00B670,00B771,00B8B3,00BC60,00BE75,00BF77,00C164,00C1B1,00C88B,00CAE5,00CCFC,00D006,00D058,00D063,00D079,00D090,00D097,00D0BA-00D0BC,00D0C0,00D0D3,00D0E4,00D0FF,00D6FE,00D78F,00DA55,00DEFB,00E014,00E01E,00E034,00E04F,00E08F,00E0A3,00E0B0,00E0F7,00E0F9,00E0FE,00E16D,00EABD,00EBD5,00EEAB,00F28B,00F663,00F82C,00FCBA,00FD22,00FEC8,042AE2,046273,046C9D,04C5A4,04DAD2,04EB40,04FE7F,081735,081FF3,084FA9,084FF9,0896AD,08CC68,08CCA7,08D09F,08ECF5,0C1167,0C2724,0C6803,0C75BD,0C8525,0CD0F8,0CD996,0CF5A4,1005CA,108CCF,10B3C6,10B3D5-10B3D6,10BD18,10F311,14169D,14A2A0,18339D,188090,188B45,188B9D,189C5D,18E728,18EF63,1C17D3,1C1D86,1C6A7A,1CAA07,1CDEA7,1CDF0F,1CE6C7,1CE85D,203706,203A07,204C9E,20BBC0,2401C7,24169D,247E12,24B657,24E9B3,2834A2,285261,286F7F,2893FE,28940F,28AC9E,28C7CE,2C01B5,2C0BE9,2C3124,2C3311,2C36F8,2C3ECF,2C3F38,2C4F52,2C542D,2C5741,2C5A0F,2C73A0,2C86D2,2CABEB,2CD02D,2CF89B,3037A6,308BB2,30E4DB,30F70D,346288,346F90,34A84E,34BDC8,34DBFD,34ED1B,34F8E7,380E4D,381C1A,382056,3890A5,38ED18,3C08F6,3C0E23,3C410E,3C510E,3C5731,3C5EC3,3CCE73,3CDF1E,40017A,405539,40A6E8,40CE24,40F4EC,4403A7,442B03,44ADD9,44D3CA,44E4D9,4C0082,4C4E35,4C710C-4C710D,4C776D,4CA64D,4CBC48,4CE175-4CE176,500604,5006AB,500F80,5017FF,501CB0,501CBF,502FA8,503DE5,5057A8,5061BF,5067AE,508789,50F722,544A00,5475D0,54781A,547C69,547FEE,5486BC,54A274,580A20,5835D9,588D09,58971E,5897BD,58AC78,58BC27,58BFEA,58F39C,5C5015,5C5AC7,5C710D,5C838F,5CA48A,5CA62D,5CE176,5CFC66,60735C,6400F1,641225,64168D,649EF3,64A0E7,64AE0C,64D814,64D989,64E950,64F69D,682C7B,683B78,6886A7,6899CD,689CE2,68BC0C,68BDAB,68CAE4,68EFBD,6C2056,6C310E,6C410E,6C416A,6C504D,6C5E3B,6C6CD3,6C710D,6C8BD3,6C9989,6C9CED,6CAB05,6CB2AE,6CDD30,6CFA89,7001B5,700B4F,700F6A,70105C,7018A7,701F53,703509,70695A,706BB9,706D15,706E6D,70708B,7079B3,707DB9,708105,70B317,70C9C6,70CA9B,70D379,70DB98,70DF2F,70E422,70EA1A,70F35A,7426AC,74860B,7488BB,74A02F,74A2E6,7802B1,780CF0,78725D,78BAF9,78BC1A,78DA6E,7C0ECE,7C210D-7C210E,7C310E,7C69F6,7C95F3,7CAD74,80E01D,80E86F,843DC6,8478AC,84802D,848A8D,84B261,84B517,84B802,881DFC,8843E1,885A92,887556,88908D,88F031,88F077,8C604F,8CB64F,94D469,9C4E20,9C57AD,9CAFCA,9CE176,A0239F,A03D6F,A0554F,A09351,A0B439,A0CF5B,A0E0AF,A0ECF9,A0F849,A40CC3,A41875,A44C11,A4530E,A45630,A46C2A,A4934C,A4B239,A4B439,A80C0D,A89D21,A8B1D4,A8B456,AC3A67,AC7E8A,ACA016,ACF2C5,ACF5E6,B000B4,B02680,B07D47,B08BCF,B0907E,B0AA77,B0FAEB,B40216,B41489,B4A4E3,B4A8B9,B4DE31,B4E9B0,B83861,B8621F,B8BEBF,BC1665,BC16F5,BC26C7,BC671C,BCC493,BCF1F2,C0255C,C0626B,C064E4,C067AF,C07BBC,C08C60,C40ACB,C4143C,C444A0,C46413,C471FE,C47295,C47D4F,C4B239,C4B36A,C4B9CD,C4C603,C4F7D5,C80084,C84C75,C89C1D,C8F9F9,CC167E,CC46D6,CC5A53,CC70ED,CC7F75-CC7F76,CC8E71,CC9070,CC9891,CCD539,CCD8C1,CCEF48,D0574C,D072DC,D0A5A6,D0C282,D0C789,D0D0FD,D0EC35,D42C44,D46A35,D46D50,D4789B,D48CB5,D4A02A,D4AD71,D4ADBD,D4C93C,D4D748,D4E880,D824BD,D867D9,D8B190,DC3979,DC7B94,DC8C37,DCA5F4,DCCEC1,DCEB94,DCF719,E00EDA,E02F6D,E05FB9,E0899D,E0ACF1,E0D173,E4AA5D,E4C722,E4D3F1,E80462,E84040,E86549,E8B748,E8BA70,E8EDF3,EC1D8B,EC3091,EC4476,ECBD1D,ECC882,ECE1A9,F02572,F02929,F07816,F07F06,F09E63,F0B2E5,F0F755,F40F1B,F41FC2,F44E05,F47F35,F4ACC1,F4BD9E,F4CFE2,F4DBE6,F4EA67,F80BCB,F80F6F,F84F57,F866F2,F872EA,F87B20,F8A5C5,F8B7E2,F8C288,FC589A,FC5B39,FC9947,FCFBFB o="Cisco Systems, Inc"
+00000C,000142-000143,000163-000164,000196-000197,0001C7,0001C9,000216-000217,00023D,00024A-00024B,00027D-00027E,0002B9-0002BA,0002FC-0002FD,000331-000332,00036B-00036C,00039F-0003A0,0003E3-0003E4,0003FD-0003FE,000427-000428,00044D-00044E,00046D-00046E,00049A-00049B,0004C0-0004C1,0004DD-0004DE,000500-000501,000531-000532,00055E-00055F,000573-000574,00059A-00059B,0005DC-0005DD,000628,00062A,000652-000653,00067C,0006C1,0006D6-0006D7,0006F6,00070D-00070E,00074F-000750,00077D,000784-000785,0007B3-0007B4,0007EB-0007EC,000820-000821,00082F-000832,00087C-00087D,0008A3-0008A4,0008C2,0008E2-0008E3,000911-000912,000943-000944,00097B-00097C,0009B6-0009B7,0009E8-0009E9,000A41-000A42,000A8A-000A8B,000AB7-000AB8,000AF3-000AF4,000B45-000B46,000B5F-000B60,000B85,000BBE-000BBF,000BFC-000BFD,000C30-000C31,000C85-000C86,000CCE-000CCF,000D28-000D29,000D65-000D66,000DBC-000DBD,000DEC-000DED,000E38-000E39,000E83-000E84,000ED6-000ED7,000F23-000F24,000F34-000F35,000F8F-000F90,000FF7-000FF8,001007,00100B,00100D,001011,001014,00101F,001029,00102F,001054,001079,00107B,0010A6,0010F6,0010FF,001120-001121,00115C-00115D,001192-001193,0011BB-0011BC,001200-001201,001243-001244,00127F-001280,0012D9-0012DA,001319-00131A,00135F-001360,00137F-001380,0013C3-0013C4,00141B-00141C,001469-00146A,0014A8-0014A9,0014F1-0014F2,00152B-00152C,001562-001563,0015C6-0015C7,0015F9-0015FA,001646-001647,00169C-00169D,0016C7-0016C8,00170E-00170F,00173B,001759-00175A,001794-001795,0017DF-0017E0,001818-001819,001873-001874,0018B9-0018BA,001906-001907,00192F-001930,001955-001956,0019A9-0019AA,0019E7-0019E8,001A2F-001A30,001A6C-001A6D,001AA1-001AA2,001AE2-001AE3,001B0C-001B0D,001B2A-001B2B,001B53-001B54,001B8F-001B90,001BD4-001BD5,001C0E-001C0F,001C57-001C58,001CB0-001CB1,001CF6,001CF9,001D45-001D46,001D70-001D71,001DA1-001DA2,001DE5-001DE6,001E13-001E14,001E49-001E4A,001E79-001E7A,001EBD-001EBE,001EF6-001EF7,001F26-001F27,001F6C-001F6D,001F9D-001F9E,001FC9-001FCA,00211B-00211C,002155-002156,0021A0-0021A1,0021D7-0021D8,00220C-00220D,002255-002256,002290-002291,0022BD-0022BE,002304-002305,002333-002334,00235D-00235E,0023AB-0023AC,0023EA-0023EB,002413-002414,002450-002451,002497-002498,0024C3-0024C4,0024F7,0024F9,002545-002546,002583-002584,0025B4-0025B5,00260A-00260B,002651-002652,002698-002699,0026CA-0026CB,00270C-00270D,002790,0027E3,0029C2,002A10,002A6A,002CC8,002F5C,003019,003024,003040,003071,003078,00307B,003080,003085,003094,003096,0030A3,0030B6,0030F2,003217,00351A,0038DF,003A7D,003A98-003A9C,003C10,00400B,004096,0041D2,00425A,004268,00451D,00500B,00500F,005014,00502A,00503E,005050,005053-005054,005073,005080,0050A2,0050A7,0050BD,0050D1,0050E2,0050F0,00562B,0057D2,0059DC,005D73,005F86,006009,00602F,00603E,006047,00605C,006070,006083,0062EC,006440,006BF1,006CBC,007278,007686,00778D,007888,007E95,0081C4,008731,008764,008A96,008E73,00900C,009021,00902B,00905F,00906D,00906F,009086,009092,0090A6,0090AB,0090B1,0090BF,0090D9,0090F2,009AD2,009E1E,00A289,00A2EE,00A38E,00A3D1,00A5BF,00A6CA,00A742,00AA6E,00AF1F,00B04A,00B064,00B08E,00B0C2,00B0E1,00B1E3,00B670,00B771,00B8B3,00BC60,00BE75,00BF77,00C164,00C1B1,00C88B,00CAE5,00CCFC,00D006,00D058,00D063,00D079,00D090,00D097,00D0BA-00D0BC,00D0C0,00D0D3,00D0E4,00D0FF,00D6FE,00D78F,00DA55,00DEFB,00E014,00E01E,00E034,00E04F,00E08F,00E0A3,00E0B0,00E0F7,00E0F9,00E0FE,00E16D,00EABD,00EBD5,00EEAB,00F28B,00F663,00F82C,00FCBA,00FD22,00FEC8,042AE2,045FB9,046273,046C9D,0476B0,04C5A4,04DAD2,04EB40,04FE7F,081735,081FF3,084FA9,084FF9,0896AD,08CC68,08CCA7,08D09F,08ECF5,0C1167,0C2724,0C6803,0C75BD,0C8525,0CD0F8,0CD996,0CF5A4,1005CA,108CCF,10B3C6,10B3D5-10B3D6,10BD18,10F311,10F920,14169D,14A2A0,18339D,188090,188B45,188B9D,189C5D,18E728,18EF63,1C17D3,1C1D86,1C6A7A,1CAA07,1CDEA7,1CDF0F,1CE6C7,1CE85D,203706,203A07,204C9E,20BBC0,2401C7,24169D,247E12,24B657,24E9B3,2834A2,285261,286F7F,2893FE,28940F,28AC9E,28C7CE,2C01B5,2C0BE9,2C3124,2C3311,2C36F8,2C3ECF,2C3F38,2C4F52,2C542D,2C5741,2C5A0F,2C73A0,2C86D2,2CABEB,2CD02D,2CF89B,3037A6,308BB2,30E4DB,30F70D,346288,346F90,34A84E,34BDC8,34DBFD,34ED1B,34F8E7,380E4D,381C1A,382056,3890A5,38ED18,3C08F6,3C0E23,3C13CC,3C410E,3C510E,3C5731,3C5EC3,3CCE73,3CDF1E,40017A,405539,40A6E8,40CE24,40F078,40F4EC,4403A7,442B03,44ADD9,44D3CA,44E4D9,4C0082,4C4E35,4C710C-4C710D,4C776D,4CA64D,4CBC48,4CE175-4CE176,500604,5006AB,500F80,5017FF,501CB0,501CBF,502FA8,503DE5,5057A8,5061BF,5067AE,508789,50F722,544A00,5475D0,54781A,547C69,547FEE,5486BC,5488DE,548ABA,54A274,580A20,5835D9,588D09,58971E,5897BD,58AC78,58BC27,58BFEA,58F39C,5C5015,5C5AC7,5C710D,5C838F,5CA48A,5CA62D,5CE176,5CFC66,60735C,6400F1,641225,64168D,643AEA,649EF3,64A0E7,64AE0C,64D814,64D989,64E950,64F69D,682C7B,683B78,687DB4,6886A7,6899CD,689CE2,689E0B,68BC0C,68BDAB,68CAE4,68EFBD,6C2056,6C310E,6C410E,6C416A,6C504D,6C5E3B,6C6CD3,6C710D,6C8BD3,6C9989,6C9CED,6CAB05,6CB2AE,6CDD30,6CFA89,7001B5,700B4F,700F6A,70105C,7018A7,701F53,703509,70617B,70695A,706BB9,706D15,706E6D,70708B,7079B3,707DB9,708105,70B317,70C9C6,70CA9B,70D379,70DB98,70DF2F,70E422,70EA1A,70F096,70F35A,7426AC,74860B,7488BB,74A02F,74A2E6,7802B1,780CF0,78725D,78BAF9,78BC1A,78DA6E,7C0ECE,7C210D-7C210E,7C310E,7C69F6,7C95F3,7CAD4F,7CAD74,802DBF,80E01D,80E86F,843DC6,8478AC,84802D,848A8D,84B261,84B517,84B802,881DFC,8843E1,885A92,887556,88908D,88F031,88F077,8C604F,8C941F,8CB64F,9077EE,94AEF0,94D469,9C4E20,9C57AD,9CAFCA,9CE176,A0239F,A03D6F,A0554F,A09351,A0B439,A0CF5B,A0E0AF,A0ECF9,A0F849,A40CC3,A41875,A44C11,A4530E,A45630,A46C2A,A48873,A4934C,A4B239,A4B439,A80C0D,A89D21,A8B1D4,A8B456,AC3A67,AC4A56,AC4A67,AC7A56,AC7E8A,ACA016,ACF2C5,ACF5E6,B000B4,B02680,B07D47,B08BCF,B0907E,B0AA77,B0FAEB,B40216,B41489,B4A4E3,B4A8B9,B4DE31,B4E9B0,B83861,B8621F,B8BEBF,BC1665,BC16F5,BC26C7,BC4A56,BC5A56,BC671C,BCC493,BCF1F2,C014FE,C0255C,C0626B,C064E4,C067AF,C07BBC,C08C60,C40ACB,C4143C,C444A0,C46413,C471FE,C47295,C47D4F,C4B239,C4B36A,C4B9CD,C4C603,C4F7D5,C80084,C84C75,C884A1,C89C1D,C8F9F9,CC167E,CC46D6,CC5A53,CC70ED,CC7F75-CC7F76,CC8E71,CC9070,CC9891,CCD539,CCD8C1,CCDB93,CCEF48,D0574C,D072DC,D0A5A6,D0C282,D0C789,D0D0FD,D0EC35,D42C44,D46A35,D46D50,D4789B,D48CB5,D4A02A,D4AD71,D4ADBD,D4C93C,D4D748,D4E880,D824BD,D867D9,D8B190,DC3979,DC774C,DC7B94,DC8C37,DCA5F4,DCCEC1,DCEB94,DCF719,E00EDA,E02F6D,E05FB9,E0899D,E0ACF1,E0D173,E41F7B,E4AA5D,E4C722,E4D3F1,E80462,E84040,E86549,E8B748,E8BA70,E8EDF3,EC1D8B,EC3091,EC4476,ECBD1D,ECC882,ECE1A9,F02572,F02929,F07816,F07F06,F09E63,F0B2E5,F0F755,F40F1B,F41FC2,F44E05,F47F35,F4ACC1,F4BD9E,F4CFE2,F4DBE6,F4EA67,F80BCB,F80F6F,F84F57,F866F2,F86BD9,F872EA,F87B20,F8A5C5,F8B7E2,F8C288,FC589A,FC5B39,FC9947,FCFBFB o="Cisco Systems, Inc"
00000D o="FIBRONICS LTD."
-00000E,000B5D,001742,002326,00E000,2CD444,38AFD7,502690,5C9AD8,68847E,742B62,8C736E,A06610,A8B2DA,B09928,B0ACFA,C47D46,E01877,E47FB2,FC084A o="FUJITSU LIMITED"
+00000E,000B5D,001742,002326,00E000,2CD444,38AFD7,502690,5C9AD8,68847E,742B62,8C736E,A06610,A8B2DA,B09928,B0ACFA,C47D46,E01877,E47FB2,EC7949,FC084A o="FUJITSU LIMITED"
00000F o="NEXT, INC."
000010 o="SYTEK INC."
000011 o="NORMEREL SYSTEMES"
@@ -65,7 +65,7 @@
000045 o="FORD AEROSPACE & COMM. CORP."
000046 o="OLIVETTI NORTH AMERICA"
000047 o="NICOLET INSTRUMENTS CORP."
-000048,0026AB,381A52,389D92,44D244,50579C,64EB8C,9CAED3,A4EE57,AC1826,B0E892,E0BB9E,F8D027 o="Seiko Epson Corporation"
+000048,0026AB,381A52,389D92,44D244,50579C,64EB8C,9CAED3,A4EE57,AC1826,B0E892,DCCD2F,E0BB9E,F8D027 o="Seiko Epson Corporation"
000049 o="APRICOT COMPUTERS, LTD"
00004A,0080DF o="ADC CODENOLL TECHNOLOGY CORP."
00004B o="ICL DATA OY"
@@ -88,7 +88,7 @@
00005C o="TELEMATICS INTERNATIONAL INC."
00005D o="CS TELECOM"
00005E o="ICANN, IANA Department"
-00005F,0008F6,000BA2,001CFC,0025DC o="Sumitomo Electric Industries,Ltd"
+00005F,0008F6,000BA2,001CFC,0025DC,084EBF o="Sumitomo Electric Industries, Ltd"
000060 o="KONTRON ELEKTRONIK GMBH"
000061 o="GATEWAY COMMUNICATIONS"
000062 o="BULL HN INFORMATION SYSTEMS"
@@ -117,7 +117,7 @@
00007A o="DANA COMPUTER INC."
00007B o="RESEARCH MACHINES"
00007C o="AMPERE INCORPORATED"
-00007D,00015D,0003BA,000782,000F4B,00104F,0010E0,001397,00144F,0020F2,002128,0021F6,00A0A4,080020,2CC260 o="Oracle Corporation"
+00007D,00015D,0003BA,000782,000F4B,00104F,0010E0,001397,00144F,0020F2,002128,0021F6,00A0A4,080020,2CC260,A8698C o="Oracle Corporation"
00007E o="CLUSTRIX CORPORATION"
00007F o="LINOTYPE-HELL AG"
000080 o="CRAY COMMUNICATIONS A/S"
@@ -125,10 +125,10 @@
000082 o="LECTRA SYSTEMES SA"
000083 o="TADPOLE TECHNOLOGY PLC"
000084 o="SUPERNET"
-000085,001E8F,00BBC1,180CAC,2C9EFC,349F7B,60128B,7438B7,74BFC0,84BA3B,888717,9C32CE,D8492F,F48139,F4A997,F80D60 o="CANON INC."
+000085,001E8F,00BBC1,180CAC,2C9EFC,349F7B,60128B,7438B7,74BFC0,84BA3B,888717,9C32CE,D8492F,F48139,F4A997,F80D60,F8A26D o="CANON INC."
000086 o="MEGAHERTZ CORPORATION"
000087 o="HITACHI, LTD."
-000088,00010F,000480,00051E,000533,000CDB,0012F2,0014C9,001BED,002438,0027F8,006069,0060DF,00E052,080088,50EB1A,609C9F,748EF8,78A6E1,889471,8C7CFF,C4F57C,CC4E24,D81FCC o="Brocade Communications Systems, Inc."
+000088,00010F,000480,00051E,000533,000CDB,0012F2,0014C9,001BED,002438,0027F8,006069,0060DF,00E052,080088,50EB1A,609C9F,748EF8,78A6E1,889471,8C7CFF,C4F57C,CC4E24,D81FCC o="Brocade Communications Systems LLC"
000089 o="CAYMAN SYSTEMS INC."
00008A o="DATAHOUSE INFORMATION SYSTEMS"
00008B o="INFOTRON"
@@ -226,7 +226,7 @@
0000ED o="APRIL"
0000EE o="NETWORK DESIGNERS, LTD."
0000EF o="KTI"
-0000F0,0007AB,001247,0012FB,001377,001599,0015B9,001632,00166B-00166C,0016DB,0017C9,0017D5,0018AF,001A8A,001B98,001C43,001D25,001DF6,001E7D,001EE1-001EE2,001FCC-001FCD,00214C,0021D1-0021D2,002339-00233A,002399,0023D6-0023D7,002454,002490-002491,0024E9,002566-002567,00265D,00265F,006F64,0073E0,007C2D,008701,00B5D0,00BF61,00C3F4,00E3B2,00F46F,00FA21,04180F,041BBA,04B1A1,04B429,04BA8D,04BDBF,04FE31,0808C2,0821EF,08373D,083D88,087808,088C2C,08AED6,08BFA0,08D42B,08ECA9,08EE8B,08FC88,08FD0E,0C1420,0C2FB0,0C715D,0C8910,0CA8A7,0CB319,0CDFA4,0CE0DC,1007B6,101DC0,103047,103B59,1077B1,1089FB,108EE0,109266,10D38A,10D542,141F78,1432D1,14568E,1489FD,1496E5,149F3C,14A364,14B484,14BB6E,14F42A,1816C9,1819D6,181EB0,182195,18227E,182666,183A2D,183F47,184617,1854CF,1867B0,188331,18895B,18E2C2,1C232C,1C3ADE,1C5A3E,1C62B8,1C66AA,1CAF05,2013E0,202D07,20326C,205531,205EF7,206E9C,20D390,20D5BF,244B03,244B81,245AB5,24920E,24C696,24DBED,24F5AA,24FCE5,2802D8,2827BF,28395E,288335,28987B,28BAB5,28CC01,2C4053,2C4401,2CAE2B,2CBABA,301966,306A85,3096FB,30C7AE,30CBF8,30CDA7,30D587,30D6C9,34145F,342D0D,343111,348A7B,34AA8B,34BE00,34C3AC,380195,380A94,380B40,3816D1,382DD1,382DE8,386A77,389496,389AF6,38D40B,38ECE4,3C0518,3C20F6,3C576C,3C5A37,3C6200,3C8BFE,3CA10D,3CBBFD,3CDCBC,3CF7A4,40163B,40D3AE,444E1A,445CE9,446D6C,44783E,44F459,48137E,4827EA,4844F7,4849C7,485169,48794D,489DD1,48C796,4C3C16,4CA56D,4CBCA5,4CDD31,5001BB,503275,503DA1,5050A4,5056BF,507705,508569,5092B9,509EA7,50A4C8,50B7C3,50C8E5,50F0D3,50F520,50FC9F,5440AD,5492BE,549B12,54B802,54BD79,54F201,54FA3E,54FCF0,58B10F,58C38B,58C5CB,5C2E59,5C3C27,5C497D,5C5181,5C865C,5C9960,5CC1D7,5CCB99,5CE8EB,5CF6DC,60684E,606BBD,6077E2,608E08,608F5C,60A10A,60A4D0,60AF6D,60C5AD,60D0A9,641CAE,641CB0,646CB2,647791,647BCE,6489F1,64B310,64B853,680571,682737,684898,685ACF,687D6B,68BFC4,68E7C2,68EBAE,6C006B,6C2F2C,6C8336,6CB7F4,6CDDBC,6CF373,701F3C,70288B,702AD5,705AAC,70CE8C,70F927,70FD46,74458A,749EF5,74EB80,78009E,781FDB,782327,7825AD,7840E4,78471D,78521A,78595E,789ED0,78A873,78ABBB,78BDBC,78C3E9,78F7BE,7C0BC6,7C1C68,7C2302,7C2EDD,7C38AD,7C6456,7C787E,7C8956,7C8BB5,7C9122,7CF854,7CF90E,8018A7,8020FD,8031F0,804E70,804E81,805719,80656D,807B3E,8086D9,80CEB9,84119E,8425DB,842E27,845181,8455A5,849866,84A466,84B541,84C0EF,88299C,887598,888322,889B39,889F6F,88A303,88ADD2,88BD45,8C1ABF,8C71F8,8C7712,8C79F5,8C83E1,8CBFA6,8CC8CD,8CE5C0,9000DB,900628,90633B,9097F3,90B144,90F1AA,9401C2,942DDC,94350A,945103,9463D1,9476B7,947BE7,948BC1,94B10A,94D771,981DFA,98398E,9852B1,988389,9C0298,9C2A83,9C3AAF,9C65B0,9C8C6E,9CA513,9CD35B,9CE063,9CE6E7,A00798,A01081,A02195,A06090,A07591,A0821F,A0AC69,A0B4A5,A0CBFD,A407B6,A4307A,A46CF1,A48431,A49A58,A4D990,A4EBD3,A80600,A816D0,A82BB9,A8346A,A8515B,A87C01,A88195,A887B3,A89FBA,A8F274,AC3613,AC5A14,ACAFB9,ACC33A,ACEE9E,B047BF,B06FE0,B0C4E7,B0C559,B0D09C,B0DF3A,B0EC71,B41A1D,B43A28,B46293,B47443,B4BFF6,B4CE40,B4EF39,B857D8,B85A73,B85E7B,B86CE8,B8BBAF,B8BC5B,B8C68E,B8D9CE,BC1485,BC20A4,BC4486,BC4760,BC5451,BC72B1,BC765E,BC79AD,BC7ABF,BC851F,BCA58B,BCB1F3,BCD11F,BCE63F,C01173,C0174D,C048E6,C06599,C087EB,C08997,C0BDC8,C0D2DD,C0D3C0,C0DCDA,C44202,C45006,C4576E,C462EA,C4731E,C488E5,C493D9,C4AE12,C81479,C819F7,C83870,C87E75,C8A823,C8D7B0,CC051B,CC07AB,CC2119,CC464E,CC6EA4,CCB11A,CCF9E8,CCFE3C,D003DF,D0176A,D03169,D059E4,D0667B,D07FA0,D087E2,D0B128,D0C1B1,D0DFC7,D0FCCC,D411A3,D47AE2,D487D8,D48890,D48A39,D49DC0,D4AE05,D4E6B7,D4E8B2,D80831,D80B9A,D831CF,D85575,D857EF,D85B2A,D868C3,D890E8,D8C4E9,D8E0E1,DC44B6,DC6672,DC74A8,DC8983,DCCF96,DCDCE2,DCF756,E09971,E0AA96,E0CBEE,E0D083,E0DB10,E4121D,E432CB,E440E2,E458B8,E458E7,E45D75,E47CF9,E47DBD,E492FB,E4B021,E4E0C5,E4F3C4,E4F8EF,E4FAED,E8039A,E81132,E83A12,E84E84,E89309,E8B4C8,E8E5D6,EC107B,ECAA25,ECE09B,F008F1,F05A09,F05B7B,F06BCA,F0728C,F08A76,F0E77E,F0EE10,F40E22,F4428F,F47190,F47B5E,F47DEF,F49F54,F4C248,F4D9FB,F4FEFB,F83F51,F877B8,F884F2,F8D0BD,F8E61A,F8F1E6,FC039F,FC1910,FC4203,FC643A,FC8F90,FCA13E,FCA621,FCAAB6,FCC734,FCDE90,FCF136 o="Samsung Electronics Co.,Ltd"
+0000F0,0007AB,001247,0012FB,001377,001599,0015B9,001632,00166B-00166C,0016DB,0017C9,0017D5,0018AF,001A8A,001B98,001C43,001D25,001DF6,001E7D,001EE1-001EE2,001FCC-001FCD,00214C,0021D1-0021D2,002339-00233A,002399,0023D6-0023D7,002454,002490-002491,0024E9,002566-002567,00265D,00265F,006F64,0073E0,007C2D,008701,00B5D0,00BF61,00C3F4,00E3B2,00F46F,00FA21,04180F,041BBA,04B1A1,04B429,04BA8D,04BDBF,04FE31,0808C2,0821EF,08373D,083D88,087808,088C2C,08AED6,08BFA0,08D42B,08ECA9,08EE8B,08FC88,08FD0E,0C1420,0C2FB0,0C715D,0C8910,0CA8A7,0CB319,0CDFA4,0CE0DC,1007B6,101DC0,1029AB,103047,103917,103B59,1077B1,1089FB,108EE0,109266,10D38A,10D542,140152,141F78,1432D1,14568E,1489FD,1496E5,149F3C,14A364,14B484,14BB6E,14F42A,1816C9,1819D6,181EB0,182195,18227E,182666,183A2D,183F47,184617,184E16,184ECB,1854CF,1867B0,188331,18895B,18AB1D,18E2C2,1C232C,1C3ADE,1C5A3E,1C62B8,1C66AA,1CAF05,1CE61D,2013E0,202D07,20326C,205531,205EF7,206E9C,20D390,20D5BF,244B03,244B81,245AB5,2468B0,24920E,24C696,24DBED,24F5AA,24FCE5,2802D8,2827BF,28395E,288335,28987B,28BAB5,28CC01,2C4053,2C4401,2CAE2B,2CBABA,301966,306A85,3096FB,30C7AE,30CBF8,30CDA7,30D587,30D6C9,34145F,342D0D,343111,3482C5,348A7B,34AA8B,34BE00,34C3AC,380195,380A94,380B40,3816D1,382DD1,382DE8,386A77,389496,389AF6,38D40B,38ECE4,3C0518,3C20F6,3C576C,3C5A37,3C6200,3C8BFE,3CA10D,3CBBFD,3CDCBC,3CF7A4,40163B,40D3AE,444E1A,445CE9,446D6C,44783E,44F459,48137E,4827EA,4844F7,4849C7,485169,48794D,489DD1,48C796,4C3C16,4CA56D,4CBCA5,4CC95E,4CDD31,5001BB,503275,503DA1,5050A4,5056BF,507705,508569,5092B9,509EA7,50A4C8,50B7C3,50C8E5,50F0D3,50F520,50FC9F,54219D,5440AD,5492BE,549B12,54B802,54BD79,54F201,54FA3E,54FCF0,58B10F,58C38B,58C5CB,5C2E59,5C3C27,5C497D,5C5181,5C865C,5C9960,5CC1D7,5CCB99,5CE8EB,5CF6DC,60684E,606BBD,6077E2,608E08,608F5C,60A10A,60A4D0,60AF6D,60C5AD,60D0A9,641CAE,641CB0,646CB2,647791,647BCE,6489F1,64B310,64B853,64E7D8,680571,682737,684898,685ACF,687D6B,68BFC4,68E7C2,68EBAE,6C006B,6C2F2C,6C2F8A,6C8336,6CB7F4,6CDDBC,6CF373,701F3C,70288B,702AD5,705AAC,70CE8C,70F927,70FD46,74458A,749EF5,74EB80,78009E,781FDB,782327,7825AD,7840E4,7846D4,78471D,78521A,78595E,789ED0,78A873,78ABBB,78BDBC,78C3E9,78F7BE,7C0BC6,7C1C68,7C2302,7C2EDD,7C38AD,7C6456,7C787E,7C8956,7C8BB5,7C9122,7CF854,7CF90E,8018A7,8020FD,8031F0,804E70,804E81,805719,80656D,807B3E,8086D9,80CEB9,84119E,8425DB,842E27,8437D5,845181,8455A5,849866,84A466,84B541,84C0EF,88299C,887598,888322,889B39,889F6F,88A303,88ADD2,88BD45,8C1ABF,8C71F8,8C7712,8C79F5,8C83E1,8CBFA6,8CC8CD,8CE5C0,9000DB,900628,90633B,9097F3,90B144,90EEC7,90F1AA,9401C2,942DDC,94350A,945103,9463D1,9476B7,947BE7,948BC1,94B10A,94D771,98063C,981DFA,98398E,9852B1,9880EE,988389,98B8BC,9C0298,9C2A83,9C3AAF,9C65B0,9C8C6E,9CA513,9CD35B,9CE063,9CE6E7,A00798,A01081,A02195,A027B6,A06090,A07591,A0821F,A0AC69,A0B4A5,A0CBFD,A407B6,A4307A,A46CF1,A48431,A49A58,A4D990,A4EBD3,A80600,A816D0,A82BB9,A830BC,A8346A,A8515B,A87C01,A88195,A887B3,A89FBA,A8F274,AC3613,AC5A14,ACAFB9,ACC33A,ACEE9E,B047BF,B06FE0,B0C4E7,B0C559,B0D09C,B0DF3A,B0EC71,B41A1D,B43A28,B46293,B47443,B4BFF6,B4CE40,B4EF39,B857D8,B85A73,B85E7B,B86CE8,B8BBAF,B8BC5B,B8C68E,B8D9CE,BC1485,BC20A4,BC4486,BC4760,BC5451,BC72B1,BC765E,BC79AD,BC7ABF,BC7E8B,BC851F,BCA58B,BCB1F3,BCD11F,BCE63F,C01173,C0174D,C03D03,C048E6,C06599,C087EB,C08997,C0BDC8,C0D2DD,C0D3C0,C0DCDA,C44202,C45006,C4576E,C462EA,C4731E,C488E5,C493D9,C4AE12,C81479,C819F7,C83870,C87E75,C8A823,C8D7B0,CC051B,CC07AB,CC2119,CC464E,CC6EA4,CCB11A,CCF9E8,CCFE3C,D003DF,D0176A,D03169,D059E4,D0667B,D07FA0,D087E2,D0B128,D0C1B1,D0DFC7,D0FCCC,D411A3,D47AE2,D487D8,D48890,D48A39,D49DC0,D4AE05,D4E6B7,D4E8B2,D80831,D80B9A,D831CF,D85575,D857EF,D85B2A,D868C3,D890E8,D8C4E9,D8E0E1,DC44B6,DC6672,DC74A8,DC8983,DCCF96,DCDCE2,DCF756,E09971,E0AA96,E0CBEE,E0D083,E0DB10,E4121D,E432CB,E440E2,E458B8,E458E7,E45D75,E47CF9,E47DBD,E492FB,E4B021,E4E0C5,E4F3C4,E4F8EF,E4FAED,E8039A,E81132,E83A12,E84E84,E86DCB,E89309,E8B4C8,E8E5D6,EC107B,ECAA25,ECE09B,F008F1,F05A09,F05B7B,F06BCA,F0728C,F08A76,F0E77E,F0EE10,F40E22,F4428F,F47190,F47B5E,F47DEF,F49F54,F4C248,F4D9FB,F4FEFB,F83F51,F877B8,F884F2,F8D0BD,F8E61A,F8F1E6,FC039F,FC1910,FC4203,FC643A,FC8F90,FCA13E,FCA621,FCAAB6,FCC734,FCDE90,FCF136 o="Samsung Electronics Co.,Ltd"
0000F1 o="MAGNA COMPUTER CORPORATION"
0000F2 o="SPIDER COMMUNICATIONS"
0000F3 o="GANDALF DATA LIMITED"
@@ -287,7 +287,7 @@
00012D o="Komodo Technology"
00012E o="PC Partner Ltd."
00012F o="Twinhead International Corp"
-000130,000496,00E02B,209EF7,489BD5,5C0E8B,7467F7,887E25,949B2C,A4EA8E,B42D56,B4C799,B85001,D88466,DCB808,F46E95,FC0A81 o="Extreme Networks, Inc."
+000130,000496,001977,00E02B,08EA44,206C8A,209EF7,348584,4018B1,40882F,489BD5,5859C2,5C0E8B,7467F7,787D53,7C95B1,885BDD,887E25,90B832,949B2C,9C5D12,A4EA8E,B42D56,B4C799,B85001,B87CF2,BCF310,C413E2,C8665D,C8675E,D854A2,D88466,DCB808,E01C41,F09CE9,F46E95,F4EAB5,FC0A81 o="Extreme Networks, Inc."
000131 o="Bosch Security Systems, Inc."
000132 o="Dranetz - BMI"
000133 o="KYOWA Electronic Instruments C"
@@ -444,7 +444,7 @@
0001D4 o="Leisure Time, Inc."
0001D5 o="HAEDONG INFO & COMM CO., LTD"
0001D6 o="manroland AG"
-0001D7,000A49,0023E9,0094A1,F41563 o="F5 Networks, Inc."
+0001D7,000A49,0023E9,0094A1,14A9D0,F41563 o="F5 Networks, Inc."
0001D8 o="Teltronics, Inc."
0001D9 o="Sigma, Inc."
0001DA o="WINCOMM Corporation"
@@ -560,7 +560,7 @@
00024F o="IPM Datacom S.R.L."
000250 o="Geyser Networks, Inc."
000251 o="Soma Networks, Inc."
-000252 o="Carrier Corporation"
+000252,346D9C o="Carrier Corporation"
000253 o="Televideo, Inc."
000254 o="WorldGate"
000255,0004AC,000629,00096B,000D60,001125,00145E,0017EF,0018B1,001A64,002035,00215E,002200,002503,005076,006094,08005A,0817F4,10005A,5CF3FC,E41F13,FCCF62 o="IBM Corp"
@@ -650,7 +650,7 @@
0002B0 o="Hokubu Communication & Industrial Co., Ltd."
0002B1 o="Anritsu, Ltd."
0002B2 o="Cablevision"
-0002B3,000347,000423,0007E9,000CF1,000E0C,000E35,001111,001175,00207B,0050F1,009027,00A0C9,00AA00-00AA02,00D0B7 o="Intel Corporation"
+0002B3,000347,000423,0007E9,000CF1,000E0C,000E35,001111,001175,00207B,009027,00A0C9,00AA00-00AA02,00D0B7 o="Intel Corporation"
0002B4 o="DAPHNE"
0002B5 o="Avnet, Inc."
0002B6 o="Acrosser Technology Co., Ltd."
@@ -665,12 +665,12 @@
0002C1 o="Innovative Electronic Designs, Inc."
0002C2 o="Net Vision Telecom"
0002C3 o="Arelnet Ltd."
-0002C4 o="Vector International BVBA"
+0002C4 o="OPT Machine Vision Tech Co., Ltd"
0002C5 o="Evertz Microsystems Ltd."
0002C6 o="Data Track Technology PLC"
0002C7,0006F5,0006F7,000704,0016FE,0019C1,001BFB,001E3D,00214F,002306,002433,002643,04766E,0498F3,28A183,30C3D9,34C731,38C096,48F07B,5816D7,60380E,64D4BD,7495EC,9C8D7C,AC7A4D,B4EC02,BC428C,BC7536,E0750A,E0AE5E,FC62B9 o="ALPS ELECTRIC CO., LTD."
0002C8 o="Technocom Communications Technology (pte) Ltd"
-0002C9,00258B,043F72,08C0EB,0C42A1,1C34DA,248A07,506B4B,7CFE90,98039B,B8599F,B8CEF6,E41D2D,EC0D9A,F45214 o="Mellanox Technologies, Inc."
+0002C9,00258B,043F72,08C0EB,0C42A1,1070FD,1C34DA,248A07,506B4B,7CFE90,900A84,98039B,B8599F,B8CEF6,E41D2D,EC0D9A,F45214 o="Mellanox Technologies, Inc."
0002CA o="EndPoints, Inc."
0002CB o="TriState Ltd."
0002CC o="M.C.C.I"
@@ -836,7 +836,7 @@
000375 o="NetMedia, Inc."
000376 o="Graphtec Technology, Inc."
000377 o="Gigabit Wireless"
-000378,044F17,08EB74,0C08B4,2832C5,2C088C,3438B7,38F85E,403DEC,4CD08A,6CB56B,8C444F,90F305,940937,942CB3,A0722C,B0B3AD,C85D38,CC4EEC,DCD321,E820E2,E8B2FE o="HUMAX Co., Ltd."
+000378,044F17,08EB74,0C08B4,2832C5,2C088C,3438B7,38F85E,403DEC,4CD08A,6CB56B,840283,8C444F,90F305,940937,942CB3,A0722C,B0B3AD,C85D38,CC4EEC,CCAB2C,DCD321,E820E2,E8B2FE,ECC302 o="HUMAX Co., Ltd."
000379 o="Proscend Communications, Inc."
00037A,002258 o="Taiyo Yuden Co., Ltd."
00037B o="IDEC IZUMI Corporation"
@@ -863,7 +863,7 @@
000390 o="Digital Video Communications, Inc."
000391 o="Advanced Digital Broadcast, Ltd."
000392 o="Hyundai Teletek Co., Ltd."
-000393,000502,000A27,000A95,000D93,0010FA,001124,001451,0016CB,0017F2,0019E3,001B63,001CB3,001D4F,001E52,001EC2,001F5B,001FF3,0021E9,002241,002312,002332,00236C,0023DF,002436,002500,00254B,0025BC,002608,00264A,0026B0,0026BB,003065,003EE1,0050E4,0056CD,005B94,006171,006D52,008865,00A040,00B362,00C610,00CDFE,00DB70,00F4B9,00F76F,040CCE,041552,041E64,042665,04489A,044BED,0452F3,045453,0469F8,047295,04D3CF,04DB56,04E536,04F13E,04F7E4,080007,082CB6,086698,086D41,087045,087402,08E689,08F4AB,08F69C,08F8BC,0C1539,0C3021,0C3E9F,0C4DE9,0C5101,0C74C2,0C771A,0CBC9F,0CD746,101C0C,102959,103025,1040F3,10417F,1093E9,1094BB,109ADD,10DDB1,14109F,14205E,145A05,1460CB,14876A,148FC6,1495CE,1499E2,149D99,14BD61,14C213,14D00D,182032,183451,1855E3,186590,187EB9,18810E,189EFC,18AF61,18AF8F,18E7F4,18EE69,18F1D8,18F643,1C1AC0,1C36BB,1C5CF2,1C9148,1C9E46,1CABA7,1CE62B,203CAE,20768F,2078F0,207D74,209BCD,20A2E4,20AB37,20C9D0,20E874,20EE28,241B7A,241EEB,24240E,245BA7,24A074,24A2E1,24AB81,24D0DF,24E314,24F094,24F677,280B5C,283737,285AEB,286AB8,286ABA,2877F1,28A02B,28CFDA,28CFE9,28E02C,28E14C,28E7CF,28ED6A,28F033,28F076,28FF3C,2C1F23,2C200B,2C3361,2C61F6,2CB43A,2CBE08,2CF0A2,2CF0EE,3010E4,3035AD,305714,30636B,309048,3090AB,30D9D9,30F7C5,3408BC,341298,34159E,34363B,344262,3451C9,347C25,34A395,34A8EB,34AB37,34C059,34E2FD,380F4A,38484C,38539C,3866F0,3871DE,38892C,38B54D,38C986,38CADA,38EC0D,38F9D3,3C0754,3C15C2,3C22FB,3C2EF9,3C2EFF,3C7D0A,3CAB8E,3CBF60,3CCD36,3CD0F8,3CE072,402619,403004,40331A,403CFC,404D7F,406C8F,4070F5,40831D,4098AD,409C28,40A6D9,40B395,40BC60,40CBC0,40D32D,440010,4418FD,442A60,444ADB,444C0C,44C65D,44D884,44E66E,44FB42,483B38,48437C,484BAA,4860BC,48746E,48A195,48A91C,48B8A3,48BF6B,48D705,48E9F1,4C3275,4C569D,4C57CA,4C6BE8,4C74BF,4C7C5F,4C8D79,4CB199,503237,507A55,507AC5,5082D5,50A67F,50BC96,50DE06,50EAD6,542696,542B8D,5433CB,544E90,5462E2,54724F,549963,549F13,54AE27,54E43A,54EAA8,581FAA,58404E,5855CA,586B14,587F57,58B035,58E28F,58E6BA,5C0947,5C1DD9,5C5948,5C8D4E,5C95AE,5C969D,5C97F3,5CADCF,5CF5DA,5CF7E6,5CF938,600308,6030D4,60334B,606944,6070C0,608373,608B0E,608C4A,609217,609AC1,60A37D,60C547,60D9C7,60F445,60F81D,60FACD,60FB42,60FEC5,64200C,645AED,647033,6476BA,649ABE,64A3CB,64A5C3,64B0A6,64B9E8,64C753,64E682,680927,685B35,68644B,68967B,689C70,68A86D,68AB1E,68AE20,68D93C,68DBCA,68EF43,68FB7E,68FEF7,6C19C0,6C3E6D,6C4008,6C4A85,6C4D73,6C709F,6C72E7,6C8DC1,6C94F8,6C96CF,6CAB31,6CC26B,6CE85C,701124,7014A6,703C69,703EAC,70480F,705681,70700D,7073CB,7081EB,70A2B3,70CD60,70DEE2,70E72C,70EA5A,70ECE4,70EF00,70F087,741BB2,74428B,748114,748D08,749EAF,74B587,74E1B6,74E2F5,7831C1,783A84,784F43,7867D7,786C1C,787B8A,787E61,78886D,789F70,78A3E4,78CA39,78D162,78D75F,78FD94,7C0191,7C04D0,7C11BE,7C5049,7C6D62,7C6DF8,7C9A1D,7CA1AE,7CAB60,7CC3A1,7CC537,7CD1C3,7CF05F,7CFADF,80006E,800C67,804971,804A14,808223,80929F,80B03D,80BE05,80D605,80E650,80EA96,80ED2C,842999,843835,844167,846878,84788B,848506,8489AD,848E0C,84A134,84AB1A,84AD8D,84B153,84FCAC,84FCFE,881908,881FA1,885395,8863DF,886440,8866A5,886B6E,88A479,88A9B7,88AE07,88B291,88C663,88CB87,88E87F,88E9FE,8C006D,8C2937,8C2DAA,8C5877,8C7B9D,8C7C92,8C8590,8C861E,8C8EF2,8C8FE9,8CFABA,8CFE57,9027E4,903C92,9060F1,907240,90812A,90840D,908C43,908D6C,909C4A,90A25B,90B0ED,90B21F,90B931,90C1C6,90DD5D,90E17B,90FD61,940C98,941625,949426,94B01F,94BF2D,94E96A,94F6A3,94F6D6,9800C6,9801A7,9803D8,9810E8,98460A,985AEB,989E63,98B8E3,98CA33,98D6BB,98E0D9,98F0AB,98FE94,9C04EB,9C207B,9C293F,9C35EB,9C4FDA,9C648B,9C84BF,9C8BA0,9CE33F,9CE65E,9CF387,9CF48E,9CFC01,A01828,A03BE3,A04EA7,A056F3,A0999B,A0D795,A0EDCD,A43135,A45E60,A46706,A483E7,A4B197,A4B805,A4C361,A4D18C,A4D1D2,A4D931,A4E975,A4F1E8,A82066,A85B78,A85C2C,A860B6,A8667F,A886DD,A88808,A88E24,A8968A,A8BBCF,A8BE27,A8FAD8,AC15F4,AC1F74,AC293A,AC3C0B,AC61EA,AC7F3E,AC87A3,AC88FD,AC9085,ACBC32,ACCF5C,ACE4B5,ACFDEC,B019C6,B03495,B035B5,B0481A,B065BD,B0702D,B09FBA,B0CA68,B418D1,B440A4,B44BD2,B48B19,B49CDF,B4F0AB,B4F61C,B8098A,B817C2,B841A4,B844D9,B853AC,B85D0A,B8634D,B8782E,B87BC5,B88D12,B89047,B8B2F8,B8C111,B8C75D,B8E856,B8F12A,B8F6B1,B8FF61,BC0963,BC3BAF,BC4CC4,BC52B7,BC5436,BC6778,BC6C21,BC926B,BC9FEF,BCA920,BCB863,BCE143,BCEC5D,BCFED9,C01ADA,C06394,C0847A,C09AD0,C09F42,C0A53E,C0A600,C0B658,C0CCF8,C0CECD,C0D012,C0E862,C0F2FB,C42AD0,C42C03,C4618B,C48466,C49880,C4B301,C81EE7,C82A14,C8334B,C83C85,C869CD,C86F1D,C88550,C8B1CD,C8B5B7,C8BCC8,C8D083,C8E0EB,C8F650,CC088D,CC08E0,CC20E8,CC25EF,CC29F5,CC2DB7,CC4463,CC660A,CC785F,CCC760,CCD281,D0034B,D023DB,D02598,D02B20,D03311,D03FAA,D04F7E,D06544,D0817A,D0A637,D0C5F3,D0D2B0,D0E140,D446E1,D4619D,D461DA,D4909C,D49A20,D4A33D,D4DCCD,D4F46F,D8004D,D81C79,D81D72,D83062,D84C90,D88F76,D89695,D89E3F,D8A25E,D8BB2C,D8CF9C,D8D1CB,DC080F,DC0C5C,DC2B2A,DC2B61,DC3714,DC415F,DC56E7,DC86D8,DC9B9C,DCA4CA,DCA904,DCD3A2,E0338E,E05F45,E06678,E0897E,E0ACCB,E0B52D,E0B55F,E0B9BA,E0C767,E0C97A,E0EB40,E0F5C6,E0F847,E425E7,E42B34,E450EB,E47684,E48B7F,E490FD,E498D6,E49A79,E49ADC,E4B2FB,E4C63D,E4CE8F,E4E0A6,E4E4AB,E8040B,E80688,E83617,E8802E,E88D28,E8B2AC,E8FBE9,EC2CE2,EC3586,EC852F,ECADB8,ECCED7,F01898,F02475,F05CD5,F0766F,F07807,F07960,F0989D,F099B6,F099BF,F0A35A,F0B0E7,F0B479,F0C1F1,F0C371,F0CBA1,F0D1A9,F0DBE2,F0DBF8,F0DCE2,F0F61C,F40616,F40E01,F40F24,F41BA1,F431C3,F437B7,F45C89,F4AFE7,F4DBE3,F4F15A,F4F951,F80377,F81EDF,F82793,F82D7C,F83880,F84E73,F86214,F86FC1,F887F1,F895EA,F8E94E,F8FFC2,FC183C,FC1D43,FC253F,FC2A9C,FCB6D8,FCD848,FCE998,FCFC48 o="Apple, Inc."
+000393,000502,000A27,000A95,000D93,0010FA,001124,001451,0016CB,0017F2,0019E3,001B63,001CB3,001D4F,001E52,001EC2,001F5B,001FF3,0021E9,002241,002312,002332,00236C,0023DF,002436,002500,00254B,0025BC,002608,00264A,0026B0,0026BB,003065,003EE1,0050E4,0056CD,005B94,006171,006D52,007D60,008865,00A040,00B362,00C610,00CDFE,00DB70,00F4B9,00F76F,040CCE,041552,041E64,042665,04489A,044BED,0452F3,045453,0469F8,047295,04D3CF,04DB56,04E536,04F13E,04F7E4,080007,082CB6,086698,086D41,087045,087402,08E689,08F4AB,08F69C,08F8BC,0C1539,0C3021,0C3B50,0C3E9F,0C4DE9,0C5101,0C74C2,0C771A,0CBC9F,0CD746,101C0C,102959,103025,1040F3,10417F,1093E9,1094BB,109ADD,10DDB1,14109F,14205E,145A05,1460CB,147DDA,14876A,148FC6,1495CE,1499E2,149D99,14BD61,14C213,14C88B,14D00D,182032,183451,183EEF,1855E3,186590,187EB9,18810E,189EFC,18AF61,18AF8F,18E7F4,18EE69,18F1D8,18F643,1C1AC0,1C36BB,1C5CF2,1C9148,1C9E46,1CABA7,1CE62B,203CAE,206980,20768F,2078F0,207D74,209BCD,20A2E4,20AB37,20C9D0,20E2A8,20E874,20EE28,241B7A,241EEB,24240E,245BA7,24A074,24A2E1,24AB81,24D0DF,24E314,24F094,24F677,280B5C,283737,285AEB,286AB8,286ABA,2877F1,28A02B,28CFDA,28CFE9,28E02C,28E14C,28E7CF,28EC95,28ED6A,28F033,28F076,28FF3C,2C1F23,2C200B,2C3361,2C61F6,2CB43A,2CBE08,2CF0A2,2CF0EE,3010E4,3035AD,305714,30636B,309048,3090AB,30D9D9,30F7C5,3408BC,341298,34159E,34363B,344262,3451C9,347C25,34A395,34A8EB,34AB37,34C059,34E2FD,34FD6A,380F4A,38484C,38539C,3866F0,3871DE,38892C,38B54D,38C986,38CADA,38EC0D,38F9D3,3C0754,3C15C2,3C22FB,3C2EF9,3C2EFF,3C4DBE,3C7D0A,3CAB8E,3CBF60,3CCD36,3CD0F8,3CE072,402619,403004,40331A,403CFC,404D7F,406C8F,4070F5,40831D,4098AD,409C28,40A6D9,40B395,40BC60,40CBC0,40D32D,40F946,440010,4418FD,442A60,443583,444ADB,444C0C,4490BB,44A8FC,44C65D,44D884,44E66E,44FB42,48262C,483B38,48437C,484BAA,4860BC,48746E,48A195,48A91C,48B8A3,48BF6B,48D705,48E9F1,4C3275,4C569D,4C57CA,4C6BE8,4C74BF,4C7C5F,4C7CD9,4C8D79,4CB199,503237,507A55,507AC5,5082D5,50A67F,50BC96,50DE06,50EAD6,542696,542B8D,5433CB,544E90,5462E2,54724F,549963,549F13,54AE27,54E43A,54EAA8,581FAA,58404E,5855CA,586B14,587F57,58B035,58E28F,58E6BA,5C0947,5C1DD9,5C5948,5C8D4E,5C95AE,5C969D,5C97F3,5CADCF,5CF5DA,5CF7E6,5CF938,600308,6030D4,60334B,606944,6070C0,607EC9,608373,608B0E,608C4A,609217,609AC1,60A37D,60C547,60D9C7,60F445,60F81D,60FACD,60FB42,60FEC5,640BD7,64200C,645AED,647033,6476BA,649ABE,64A3CB,64A5C3,64B0A6,64B9E8,64C753,64D2C4,64E682,680927,685B35,68644B,68967B,689C70,68A86D,68AB1E,68AE20,68D93C,68DBCA,68EF43,68FB7E,68FEF7,6C19C0,6C3E6D,6C4008,6C4A85,6C4D73,6C709F,6C72E7,6C8DC1,6C94F8,6C96CF,6CAB31,6CC26B,6CE85C,701124,7014A6,703C69,703EAC,70480F,705681,70700D,7073CB,7081EB,70A2B3,70CD60,70DEE2,70E72C,70EA5A,70ECE4,70EF00,70F087,741BB2,74428B,748114,748D08,748F3C,749EAF,74B587,74E1B6,74E2F5,7831C1,783A84,784F43,7867D7,786C1C,787B8A,787E61,78886D,789F70,78A3E4,78CA39,78D162,78D75F,78E3DE,78FD94,7C0191,7C04D0,7C11BE,7C5049,7C6D62,7C6DF8,7C9A1D,7CA1AE,7CAB60,7CC3A1,7CC537,7CD1C3,7CF05F,7CFADF,80006E,800C67,804971,804A14,805FC5,808223,80929F,80B03D,80BE05,80D605,80E650,80EA96,80ED2C,842999,843835,844167,846878,84788B,848506,8489AD,848E0C,84A134,84AB1A,84AD8D,84B153,84FCAC,84FCFE,881908,881FA1,885395,8863DF,886440,8866A5,886B6E,88A479,88A9B7,88AE07,88B291,88C08B,88C663,88CB87,88E87F,88E9FE,8C006D,8C2937,8C2DAA,8C5877,8C7B9D,8C7C92,8C8590,8C861E,8C8EF2,8C8FE9,8CFABA,8CFE57,9027E4,903C92,9060F1,907240,90812A,908158,90840D,908C43,908D6C,909C4A,90A25B,90B0ED,90B21F,90B931,90C1C6,90DD5D,90E17B,90FD61,940C98,941625,949426,94B01F,94BF2D,94E96A,94F6A3,94F6D6,9800C6,9801A7,9803D8,9810E8,98460A,985AEB,9860CA,989E63,98B8E3,98CA33,98D6BB,98E0D9,98F0AB,98FE94,9C04EB,9C207B,9C293F,9C35EB,9C4FDA,9C648B,9C84BF,9C8BA0,9CE33F,9CE65E,9CF387,9CF48E,9CFC01,A01828,A03BE3,A04EA7,A056F3,A0999B,A0D795,A0EDCD,A0FBC5,A43135,A45E60,A46706,A483E7,A4B197,A4B805,A4C361,A4D18C,A4D1D2,A4D931,A4E975,A4F1E8,A82066,A85B78,A85C2C,A860B6,A8667F,A886DD,A88808,A88E24,A8913D,A8968A,A8BBCF,A8BE27,A8FAD8,AC15F4,AC1D06,AC1F74,AC293A,AC3C0B,AC61EA,AC7F3E,AC87A3,AC88FD,AC9085,ACBC32,ACCF5C,ACE4B5,ACFDEC,B019C6,B03495,B035B5,B0481A,B065BD,B0702D,B09FBA,B0CA68,B418D1,B440A4,B44BD2,B48B19,B49CDF,B4F0AB,B4F61C,B8098A,B817C2,B841A4,B844D9,B853AC,B85D0A,B8634D,B8782E,B87BC5,B88D12,B89047,B8B2F8,B8C111,B8C75D,B8E856,B8F12A,B8F6B1,B8FF61,BC0963,BC3BAF,BC4CC4,BC52B7,BC5436,BC6778,BC6C21,BC926B,BC9FEF,BCA5A9,BCA920,BCB863,BCE143,BCEC5D,BCFED9,C01ADA,C06394,C0847A,C09AD0,C09F42,C0A53E,C0A600,C0B658,C0CCF8,C0CECD,C0D012,C0E862,C0F2FB,C42AD0,C42C03,C4618B,C48466,C4910C,C49880,C4B301,C81EE7,C82A14,C8334B,C83C85,C869CD,C86F1D,C88550,C8B1CD,C8B5B7,C8BCC8,C8D083,C8E0EB,C8F650,CC088D,CC08E0,CC20E8,CC25EF,CC29F5,CC2DB7,CC4463,CC660A,CC785F,CCC760,CCD281,D0034B,D023DB,D02598,D02B20,D03311,D03FAA,D04F7E,D06544,D0817A,D0A637,D0C5F3,D0D23C,D0D2B0,D0E140,D446E1,D4619D,D461DA,D4909C,D49A20,D4A33D,D4DCCD,D4F46F,D8004D,D81C79,D81D72,D83062,D84C90,D88F76,D89695,D89E3F,D8A25E,D8BB2C,D8CF9C,D8D1CB,D8DC40,DC080F,DC0C5C,DC2B2A,DC2B61,DC3714,DC415F,DC5285,DC56E7,DC86D8,DC9B9C,DCA4CA,DCA904,DCD3A2,E02B96,E0338E,E05F45,E06678,E0897E,E0ACCB,E0B52D,E0B55F,E0B9BA,E0C767,E0C97A,E0EB40,E0F5C6,E0F847,E425E7,E42B34,E450EB,E47684,E48B7F,E490FD,E498D6,E49A79,E49ADC,E4B2FB,E4C63D,E4CE8F,E4E0A6,E4E4AB,E8040B,E80688,E83617,E87F95,E8802E,E88152,E8854B,E88D28,E8B2AC,E8FBE9,EC2651,EC2CE2,EC3586,EC852F,ECADB8,ECCED7,F01898,F02475,F05CD5,F0766F,F07807,F07960,F0989D,F099B6,F099BF,F0A35A,F0B0E7,F0B479,F0C1F1,F0C371,F0CBA1,F0D1A9,F0DBE2,F0DBF8,F0DCE2,F0F61C,F40616,F40E01,F40F24,F41BA1,F431C3,F437B7,F45C89,F4AFE7,F4DBE3,F4F15A,F4F951,F80377,F81093,F81EDF,F82793,F82D7C,F83880,F84E73,F86214,F86FC1,F887F1,F895EA,F8E94E,F8FFC2,FC183C,FC1D43,FC253F,FC2A9C,FC66CF,FCB6D8,FCD848,FCE998,FCFC48 o="Apple, Inc."
000394 o="Connect One"
000395 o="California Amplifier"
000396 o="EZ Cast Co., Ltd."
@@ -942,7 +942,7 @@
0003E5 o="Hermstedt SG"
0003E6 o="Entone, Inc."
0003E7 o="Logostek Co. Ltd."
-0003E8 o="Wavelength Digital Limited"
+0003E8 o="Wavesight Limited"
0003E9 o="Akara Canada, Inc."
0003EA o="Mega System Technologies, Inc."
0003EB o="Atrica"
@@ -963,7 +963,7 @@
0003FA o="TiMetra Networks"
0003FB o="ENEGATE Co.,Ltd."
0003FC o="Intertex Data AB"
-0003FF,00125A,00155D,0017FA,001DD8,002248,0025AE,0C413E,0CE725,102F6B,149A10,1C1ADF,206274,20A99B,2816A8,281878,2C2997,2C5491,3C8375,485073,4886E8,5CBA37,6C5D3A,70BC10,74E28C,80C5E6,845733,8463D6,949AA9,985FD3,987A14,9C6C15,9CAA1B,B831B5,B84FD5,BC8385,C49DED,C83F26,D0929E,D48F33,DC9840,EC59E7,EC8350,F01DBC,F06E0B o="Microsoft Corporation"
+0003FF,00125A,00155D,0017FA,001DD8,002248,0025AE,0C413E,0CE725,102F6B,149A10,1C1ADF,206274,20A99B,2816A8,281878,2C2997,2C5491,3C8375,441622,485073,4886E8,5CBA37,6C5D3A,70BC10,74E28C,80C5E6,845733,8463D6,949AA9,985FD3,987A14,9C6C15,9CAA1B,A085FC,B831B5,B84FD5,BC8385,C49DED,C83F26,D0929E,D48F33,DC9840,EC59E7,EC8350,F01DBC,F06E0B o="Microsoft Corporation"
000400,002000,0021B7,788C77 o="LEXMARK INTERNATIONAL, INC."
000401 o="Osaki Electric Co., Ltd."
000402 o="Nexsan Technologies, Ltd."
@@ -1044,7 +1044,7 @@
000453 o="YottaYotta, Inc."
000454 o="Quadriga UK"
000455 o="ANTARA.net"
-000456,58C17A,BCE67C o="Cambium Networks Limited"
+000456,58C17A,BCA993,BCE67C o="Cambium Networks Limited"
000457 o="Universal Access Technology, Inc."
000458 o="Fusion X Co., Ltd."
000459 o="Veristar Corporation"
@@ -1113,7 +1113,7 @@
0004A0 o="Verity Instruments, Inc."
0004A1 o="Pathway Connectivity"
0004A2 o="L.S.I. Japan Co., Ltd."
-0004A3,001EC0,049162,5410EC,682719,801F12,D88039 o="Microchip Technology Inc."
+0004A3,001EC0,049162,5410EC,682719,801F12,D88039,E8EB1B o="Microchip Technology Inc."
0004A4 o="NetEnabled, Inc."
0004A5,000D0A o="Barco Projection Systems NV"
0004A6 o="SAF Tehnika Ltd."
@@ -1266,7 +1266,7 @@
00054C o="RF Innovations Pty Ltd"
00054D o="Brans Technologies, Inc."
00054E,E8C1D7 o="Philips"
-00054F,104E89,10C6FC,148F21,F09919 o="Garmin International"
+00054F,104E89,10C6FC,148F21,B4C26A,F09919 o="Garmin International"
000550 o="Vcomms Connect Limited"
000551 o="F & S Elektronik Systeme GmbH"
000552 o="Xycotec Computer GmbH"
@@ -1314,7 +1314,7 @@
000582 o="ClearCube Technology"
000583 o="ImageCom Limited"
000584 o="AbsoluteValue Systems, Inc."
-000585,0010DB,00121E,0014F6,0017CB,0019E2,001BC0,001DB5,001F12,002159,002283,00239C,0024DC,002688,003146,009069,045C6C,0881F4,08B258,0C8126,0C8610,100E7E,1039E9,182AD3,1C9C8C,201BC9,204E71,20D80B,288A1C,28A24B,28C0DA,2C2131,2C2172,2C6BF5,307C5E,30B64F,384F49,3C6104,3C8AB0,3C8C93,3C94D5,407183,40A677,40B4F0,40DEAD,44AA50,44ECCE,44F477,4C16FC,4C9614,50C58D,541E56,544B8C,54E032,5800BB,5C4527,5C5EAB,64649B,648788,64C3D6,7819F7,784F9B,78507C,78FE3D,7C2586,7CE2CA,80711F,807FF8,80ACAC,841888,84B59C,84C1C1,88A25E,88D98F,88E0F3,88E64B,94F7AD,9C8ACB,9CCC83,A8D0E5,AC4BC8,B033A6,B0A86E,B0C69A,B8C253,C00380,C042D0,C0BFA7,C8E7F0,CCE17F,CCE194,D007CA,D0DD49,D404FF,D818D3,D8B122,DC38E1,E45D37,E4FC82,E8B6C2,EC13DB,EC3873,EC3EF7,F01C2D,F04B3A,F07CC7,F4A739,F4B52F,F4CC55,F8C001,FC3342 o="Juniper Networks"
+000585,0010DB,00121E,0014F6,0017CB,0019E2,001BC0,001DB5,001F12,002159,002283,00239C,0024DC,002688,003146,009069,045C6C,0881F4,08B258,0C599C,0C8126,0C8610,100E7E,1039E9,182AD3,1C9C8C,201BC9,204E71,20D80B,288A1C,28A24B,28C0DA,2C2131,2C2172,2C6BF5,307C5E,30B64F,384F49,3C6104,3C8AB0,3C8C93,3C94D5,407183,40A677,40B4F0,40DEAD,44AA50,44ECCE,44F477,4C16FC,4C9614,50C58D,50C709,541E56,544B8C,54E032,5800BB,5C4527,5C5EAB,64649B,648788,64C3D6,7819F7,784F9B,78507C,78FE3D,7C2586,7CE2CA,80711F,807FF8,80ACAC,840328,841888,84B59C,84C1C1,88A25E,88D98F,88E0F3,88E64B,94BF94,94F7AD,9C8ACB,9CCC83,A8D0E5,AC4BC8,B033A6,B0A86E,B0C69A,B8C253,C00380,C042D0,C0BFA7,C8E7F0,C8FE6A,CCE17F,CCE194,D007CA,D0DD49,D404FF,D818D3,D8B122,DC38E1,E45D37,E4FC82,E8A245,E8B6C2,EC13DB,EC3873,EC3EF7,F01C2D,F04B3A,F07CC7,F4A739,F4B52F,F4BFA8,F4CC55,F8C001,FC3342 o="Juniper Networks"
000586 o="Lucent Technologies"
000587 o="Locus, Incorporated"
000588 o="Sensoria Corp."
@@ -1380,7 +1380,7 @@
0005C6 o="Triz Communications"
0005C7 o="I/F-COM A/S"
0005C8 o="VERYTECH"
-0005C9 o="LG Innotek Co., Ltd."
+0005C9,001EB2,0051ED,044EAF,1C08C1,203DBD,2C2BF9,30A9DE,402F86,44CB8B,60AB14,7440BE,7C1C4E,944444,A06FAA,ACF108,B4E62A,C4366C,C80210,CC8826,E8F2E2 o="LG Innotek"
0005CA o="Hitron Technology, Inc."
0005CB o="ROIS Technologies, Inc."
0005CC o="Sumtel Communications, Inc."
@@ -1477,7 +1477,7 @@
00062E o="Aristos Logic Corp."
00062F o="Pivotech Systems Inc."
000630 o="Adtranz Sweden"
-000631,44657F,487746,CCBE59,EC4F82 o="Calix Inc."
+000631,44657F,487746,CCBE59,D0768F,EC4F82 o="Calix Inc."
000632 o="Mesco Engineering GmbH"
000633 o="Cross Match Technologies GmbH"
000634 o="GTE Airfone Inc."
@@ -1517,7 +1517,7 @@
000658 o="Helmut Fischer GmbH Institut für Elektronik und Messtechnik"
000659 o="EAL (Apeldoorn) B.V."
00065A o="Strix Systems"
-00065B,000874,000BDB,000D56,000F1F,001143,00123F,001372,001422,0015C5,00188B,0019B9,001AA0,001C23,001D09,001E4F,001EC9,002170,00219B,002219,0023AE,0024E8,002564,0026B9,004E01,00B0D0,00C04F,0C29EF,106530,107D1A,109836,141877,149ECF,14B31F,14FEB5,180373,185A58,1866DA,18A99B,18DBF2,18FB7B,1C4024,1C721D,20040F,204747,246E96,24B6FD,28F10E,2CEA7F,3417EB,3448ED,34E6D7,3C2C30,405CFD,44A842,484D7E,4C7625,4CD98F,509A4C,544810,549F35,54BF64,588A5A,5C260A,5CF9DD,64006A,684F64,6C2B59,74867A,74E6E2,782BCB,7845C4,78AC44,801844,842B2B,847BEB,848F69,886FD4,8C04BA,8CEC4B,90B11C,9840BB,989096,98E743,A41F72,A44CC8,A4BADB,A4BB6D,A89969,B083FE,B4E10F,B82A72,B88584,B8AC6F,B8CA3A,BC305B,C81F66,C8F750,CCC5E5,D0431E,D067E5,D09466,D481D7,D4AE52,D4BED9,D89EF3,D8D090,DCF401,E0D848,E0DB55,E4434B,E454E8,E4B97A,E4F004,ECF4BB,F01FAF,F04DA2,F0D4E2,F40270,F48E38,F8B156,F8BC12,F8CAB8,F8DB88 o="Dell Inc."
+00065B,000874,000BDB,000D56,000F1F,001143,00123F,001372,001422,0015C5,00188B,0019B9,001AA0,001C23,001D09,001E4F,001EC9,002170,00219B,002219,0023AE,0024E8,002564,0026B9,004E01,00B0D0,00C04F,0C29EF,106530,107D1A,109836,141877,149ECF,14B31F,14FEB5,180373,185A58,1866DA,18A99B,18DBF2,18FB7B,1C4024,1C721D,20040F,204747,246E96,247152,24B6FD,28F10E,2CEA7F,3417EB,3448ED,34E6D7,3C2C30,405CFD,44A842,484D7E,4C7625,4CD98F,509A4C,544810,549F35,54BF64,588A5A,5C260A,5CF9DD,64006A,684F64,6C2B59,70B5E8,74867A,74E6E2,782BCB,7845C4,78AC44,801844,842B2B,847BEB,848F69,886FD4,8C04BA,8C47BE,8CEC4B,90B11C,9840BB,989096,98E743,A41F72,A44CC8,A4BADB,A4BB6D,A89969,B083FE,B4E10F,B82A72,B88584,B8AC6F,B8CA3A,B8CB29,BC305B,C03EBA,C81F66,C8F750,CC483A,CCC5E5,D0431E,D067E5,D09466,D481D7,D4AE52,D4BED9,D89EF3,D8D090,DCF401,E0D848,E0DB55,E4434B,E454E8,E4B97A,E4F004,ECF4BB,F01FAF,F04DA2,F0D4E2,F40270,F48E38,F8B156,F8BC12,F8CAB8,F8DB88 o="Dell Inc."
00065C o="Malachite Technologies, Inc."
00065D o="Heidelberg Web Systems"
00065E o="Photuris, Inc."
@@ -1731,7 +1731,7 @@
00073D o="Nanjing Postel Telecommunications Co., Ltd."
00073E o="China Great-Wall Computer Shenzhen Co., Ltd."
00073F o="Woojyun Systec Co., Ltd."
-000740,000D0B,001601,001D73,0024A5,004026,106F3F,18C2BF,343DC4,4CE676,50C4DD,58278C,6084BD,7403BD,84AFEC,8857EE,B0C745,CCE1D5,DCFB02 o="BUFFALO.INC"
+000740,000D0B,001601,001D73,0024A5,004026,106F3F,18C2BF,18ECE7,343DC4,4CE676,50C4DD,58278C,6084BD,7403BD,84AFEC,8857EE,B0C745,CCE1D5,DCFB02 o="BUFFALO.INC"
000741 o="Sierra Automated Systems"
000742 o="Ormazabal"
000743 o="Chelsio Communications"
@@ -1803,7 +1803,7 @@
00078B o="Wegener Communications, Inc."
00078C o="Elektronikspecialisten i Borlange AB"
00078D o="NetEngines Ltd."
-00078E o="Garz & Friche GmbH"
+00078E o="Garz & Fricke GmbH"
00078F o="Emkay Innovative Products"
000790 o="Tri-M Technologies (s) Limited"
000791 o="International Data Communications, Inc."
@@ -1861,7 +1861,7 @@
0007C8 o="Brain21, Inc."
0007C9 o="Technol Seven Co., Ltd."
0007CA o="Creatix Polymedia Ges Fur Kommunikaitonssysteme"
-0007CB,0024D4,140C76,342792,68A378,70FC8F,8C97EA,E49E12,F4CAE5 o="FREEBOX SAS"
+0007CB,0024D4,140C76,342792,68A378,70FC8F,8C97EA,DC00B0,E49E12,F4CAE5 o="FREEBOX SAS"
0007CC o="Kaba Benzing GmbH"
0007CD o="Kumoh Electronic Co, Ltd"
0007CE o="Cabletime Limited"
@@ -1874,7 +1874,7 @@
0007D5 o="3e Technologies Int;., Inc."
0007D6 o="Commil Ltd."
0007D7 o="Caporis Networks AG"
-0007D8,00265B,00FC8D,0C473D,1CABC0,30B7D4,64777D,688F2E,68B6FC,749BE8,788DF7,840B7C,84948C,9050CA,A84E3F,AC202E,B0F530,BC1401,BC3E07,BC4DFB,F0F249,F81D0F,FC5A1D o="Hitron Technologies. Inc"
+0007D8,00265B,00FC8D,0C473D,1CABC0,30B7D4,64777D,688F2E,68B6FC,749BE8,788DF7,840B7C,84948C,9050CA,90AAC3,A84E3F,AC202E,B0F530,BC1401,BC3E07,BC4DFB,F0F249,F81D0F,FC5A1D o="Hitron Technologies. Inc"
0007D9 o="Splicecom"
0007DA o="Neuro Telecom Co., Ltd."
0007DB o="Kirana Networks, Inc."
@@ -2258,7 +2258,7 @@
00098E o="ipcas GmbH"
00098F o="Cetacean Networks"
000990 o="ACKSYS Communications & systems"
-000991 o="GE Fanuc Automation Manufacturing, Inc."
+000991 o="Intelligent Platforms, LLC."
000992 o="InterEpoch Technology,INC."
000993,000A30,0CD9C1,7CFC3C,F855CD o="Visteon Corporation"
000994 o="Cronyx Engineering"
@@ -2376,7 +2376,7 @@
000A0A o="SUNIX Co., Ltd."
000A0B o="Sealevel Systems, Inc."
000A0C o="Scientific Research Corporation"
-000A0D o="FCI Deutschland GmbH"
+000A0D,78A714 o="Amphenol"
000A0E o="Invivo Research Inc."
000A0F o="Ilryung Telesys, Inc"
000A10 o="FAST media integrations AG"
@@ -2584,7 +2584,7 @@
000AE8 o="Cathay Roxus Information Technology Co. LTD"
000AE9 o="AirVast Technology Inc."
000AEA o="ADAM ELEKTRONIK LTD. ŞTI"
-000AEB,001478,0019E0,001D0F,002127,0023CD,002586,002719,081F71,085700,0C4B54,0C722C,0C8063,0C8268,10FEED,147590,148692,14CC20,14CF92,14E6E4,18A6F7,18D6C7,1C3BF3,1C4419,1CFA68,206BE7,20DCE6,246968,282CB2,28EE52,30B49E,30B5C2,30FC68,349672,34E894,388345,3C46D8,40169F,403F8C,44B32D,480EEC,487D2E,503EAA,50BD5F,50C7BF,50D4F7,50FA84,547595,54A703,54C80F,54E6FC,5C63BF,5C899A,603A7C,60E327,645601,6466B3,646E97,647002,68FF7B,6CE873,704F57,7405A5,74DA88,74EA3A,7844FD,78A106,7C8BCA,7CB59B,808917,808F1D,8416F9,882593,8C210A,8CA6DF,90AE1B,90F652,940C6D,94D9B3,984827,98DAC4,98DED0,9C216A,9CA615,A0F3C1,A42BB0,A8154D,A8574E,AC84C6,B0487A,B04E26,B09575,B0958E,B0BE76,B8F883,BC4699,BCD177,C025E9,C04A00,C06118,C0E42D,C46E1F,C47154,C4E984,CC08FB,CC32E5,CC3429,D03745,D076E7,D0C7C0,D4016D,D46E0E,D807B6,D80D17,D8150D,D84732,D85D4C,DC0077,DCFE18,E005C5,E4D332,E894F6,E8DE27,EC086B,EC172F,EC26CA,EC888F,F0F336,F483CD,F4EC38,F4F26D,F81A67,F8D111,FCD733 o="TP-LINK TECHNOLOGIES CO.,LTD."
+000AEB,001478,0019E0,001D0F,002127,0023CD,002586,002719,081F71,085700,0C4B54,0C722C,0C8063,0C8268,10FEED,147590,148692,14CC20,14CF92,14E6E4,18A6F7,18D6C7,1C3BF3,1C4419,1CFA68,206BE7,20DCE6,246968,282CB2,28EE52,30B49E,30B5C2,30FC68,349672,34E894,388345,3C46D8,3C846A,40169F,403F8C,44B32D,480EEC,487D2E,503EAA,50BD5F,50C7BF,50D4F7,50FA84,547595,54A703,54C80F,54E6FC,5C63BF,5C899A,6032B1,603A7C,60E327,645601,6466B3,646E97,647002,68FF7B,6CE873,704F57,7405A5,74DA88,74EA3A,7844FD,78A106,7C8BCA,7CB59B,808917,808F1D,80EA07,8416F9,84D81B,882593,8C210A,8CA6DF,90AE1B,90F652,940C6D,94D9B3,984827,98DAC4,98DED0,9C216A,9CA615,A0F3C1,A42BB0,A8154D,A8574E,AC84C6,B0487A,B04E26,B09575,B0958E,B0BE76,B8F883,BC4699,BCD177,C025E9,C04A00,C06118,C0E42D,C46E1F,C47154,C4E984,CC08FB,CC32E5,CC3429,D03745,D076E7,D0C7C0,D4016D,D46E0E,D807B6,D80D17,D8150D,D84732,D85D4C,DC0077,DCFE18,E005C5,E4D332,E894F6,E8DE27,EC086B,EC172F,EC26CA,EC888F,F0F336,F483CD,F4EC38,F4F26D,F81A67,F8D111,FCD733 o="TP-LINK TECHNOLOGIES CO.,LTD."
000AEC o="Koatsu Gas Kogyo Co., Ltd."
000AED,0011FC,D47B75 o="HARTING Electronics GmbH"
000AEE o="GCD Hard- & Software GmbH"
@@ -2686,7 +2686,7 @@
000B54 o="BiTMICRO Networks, Inc."
000B55 o="ADInstruments"
000B56 o="Cybernetics"
-000B57,086BD7,14B457,588E81,680AE2,842E14,90FD9F,CCCCCC,EC1BBD o="Silicon Laboratories"
+000B57,086BD7,14B457,588E81,5C0272,60A423,680AE2,842E14,90FD9F,BC33AC,CCCCCC,EC1BBD o="Silicon Laboratories"
000B58 o="Astronautics C.A LTD"
000B59 o="ScriptPro, LLC"
000B5A o="HyperEdge"
@@ -2703,7 +2703,7 @@
000B68 o="Addvalue Communications Pte Ltd"
000B69 o="Franke Finland Oy"
000B6A,00138F,001966 o="Asiarock Technology Limited"
-000B6B,001BB1,2824FF,2CDCAD,30144A,44E4EE,48A9D2,6002B4,64FF0A,746FF7,80EA23,8C579B,90A4DE,984914,A854B2,B00073,B89F09,B8B7F1,BC307D-BC307E,D86162,E037BF o="Wistron Neweb Corporation"
+000B6B,001BB1,1CD6BE,2824FF,2C9FFB,2CDCAD,30144A,44E4EE,48A9D2,6002B4,64FF0A,746FF7,80EA23,8C579B,90A4DE,984914,A854B2,B00073,B89F09,B8B7F1,BC307D-BC307E,D86162,E037BF o="Wistron Neweb Corporation"
000B6C o="Sychip Inc."
000B6D o="SOLECTRON JAPAN NAKANIIDA"
000B6E o="Neff Instrument Corp."
@@ -2728,7 +2728,7 @@
000B82,C074AD o="Grandstream Networks, Inc."
000B83 o="DATAWATT B.V."
000B84 o="BODET"
-000B86,001A1E,00246C,04BD88,104F58,186472,204C03,24DEC6,3821C7,40E3D6,6CF37F,703A0E,7C573C,84D47E,883A30,9020C2,94B40F,9C1C12,ACA31E,B45D50,B83A5A,B8D4E7,BC9FE4,D015A6,D0D3E0,D8C7C8,E82689,F05C19,F42E7F,F860F0 o="Aruba, a Hewlett Packard Enterprise Company"
+000B86,001A1E,00246C,04BD88,104F58,186472,1C28AF,204C03,2462CE,24DEC6,3821C7,40E3D6,64E881,6CF37F,703A0E,7C573C,84D47E,883A30,8C85C1,9020C2,94B40F,9C1C12,ACA31E,B45D50,B83A5A,B8D4E7,BC9FE4,CCD083,D015A6,D0D3E0,D8C7C8,E82689,F05C19,F42E7F,F860F0 o="Aruba, a Hewlett Packard Enterprise Company"
000B87 o="American Reliance Inc."
000B88 o="Vidisco ltd."
000B89 o="Top Global Technology, Ltd."
@@ -2885,7 +2885,7 @@
000C2D o="FullWave Technology Co., Ltd."
000C2E o="Openet information technology(shenzhen) Co., Ltd."
000C2F o="SeorimTechnology Co.,Ltd."
-000C32 o="Avionic Design Development GmbH"
+000C32 o="Avionic Design GmbH"
000C33 o="Compucase Enterprise Co. Ltd."
000C34 o="Vixen Co., Ltd."
000C35 o="KaVo Dental GmbH & Co. KG"
@@ -2901,7 +2901,7 @@
000C3F o="Cogent Defence & Security Networks,"
000C40 o="Altech Controls"
000C41,000E08,000F66,001217,001310,0014BF,0016B6,001839,0018F8,001A70,001C10,001D7E,001EE5,002129,00226B,002369,00259C,20AA4B,48F8B3,586D8F,687F74,98FC11,C0C1C0,C8B373,C8D719 o="Cisco-Linksys, LLC"
-000C42,4C5E0C,64D154,6C3B6B,744D28,B869F4,C4AD34,CC2DE0,D4CA6D,E48D8C o="Routerboard.com"
+000C42,488F5A,4C5E0C,64D154,6C3B6B,744D28,B869F4,C4AD34,CC2DE0,D4CA6D,E48D8C o="Routerboard.com"
000C43 o="Ralink Technology, Corp."
000C44 o="Automated Interfaces, Inc."
000C45 o="Animation Technologies Inc."
@@ -2943,7 +2943,7 @@
000C6B o="Kurz Industrie-Elektronik GmbH"
000C6C o="Eve Systems GmbH"
000C6D o="Edwards Ltd."
-000C6E,000EA6,00112F,0011D8,0013D4,0015F2,001731,0018F3,001A92,001BFC,001D60,001E8C,001FC6,002215,002354,00248C,002618,00E018,049226,04D4C4,04D9F5,08606E,086266,0C9D92,107B44,10BF48,10C37B,14DAE9,14DDA9,1831BF,1C872C,1CB72C,20CF30,2C4D54,2C56DC,2CFDA1,305A3A,3085A9,3497F6,382C4A,38D547,40167E,40B076,485B39,4CEDFB,50465D,5404A6,54A050,6045CB,60A44C,704D7B,708BCD,74D02B,7824AF,88D7F6,90E6BA,9C5C8E,A85E45,AC220B,AC9E17,B06EBF,BCAEC5,BCEE7B,C86000,D017C2,D45D64,D850E6,E03F49,E0CB4E,F07959,F46D04,F832E4,FCC233 o="ASUSTek COMPUTER INC."
+000C6E,000EA6,00112F,0011D8,0013D4,0015F2,001731,0018F3,001A92,001BFC,001D60,001E8C,001FC6,002215,002354,00248C,002618,00E018,049226,04D4C4,04D9F5,08606E,086266,0C9D92,107B44,10BF48,10C37B,14DAE9,14DDA9,1831BF,1C872C,1CB72C,20CF30,244BFE,2C4D54,2C56DC,2CFDA1,305A3A,3085A9,3497F6,382C4A,38D547,3C7C3F,40167E,40B076,485B39,4CEDFB,50465D,5404A6,54A050,6045CB,60A44C,704D7B,708BCD,74D02B,7824AF,88D7F6,90E6BA,9C5C8E,A85E45,AC220B,AC9E17,B06EBF,BCAEC5,BCEE7B,C86000,D017C2,D45D64,D850E6,E03F49,E0CB4E,F07959,F46D04,F832E4,FCC233 o="ASUSTek COMPUTER INC."
000C6F o="Amtek system co.,LTD."
000C70 o="ACC GmbH"
000C71 o="Wybron, Inc"
@@ -2969,7 +2969,7 @@
000C87 o="AMD"
000C88 o="Apache Micro Peripherals, Inc."
000C89 o="AC Electric Vehicles, Ltd."
-000C8A,0452C7,08DF1F,2811A5,2C41A1,4C875D,60ABD2 o="Bose Corporation"
+000C8A,0452C7,08DF1F,2811A5,2C41A1,4C875D,60ABD2,782B64 o="Bose Corporation"
000C8B o="Connect Tech Inc"
000C8C o="KODICOM CO.,LTD."
000C8D o="MATRIX VISION GmbH"
@@ -3024,7 +3024,7 @@
000CBE o="Innominate Security Technologies AG"
000CBF o="Holy Stone Ent. Co., Ltd."
000CC0 o="Genera Oy"
-000CC1,001345,001864,001D05,002085 o="Eaton Corporation"
+000CC1,001345,001864,002085 o="Eaton Corporation"
000CC2 o="ControlNet (India) Private Limited"
000CC3 o="BeWAN systems"
000CC4 o="Tiptel AG"
@@ -3081,7 +3081,7 @@
000CFF o="MRO-TEK Realty Limited"
000D00 o="Seaway Networks Inc."
000D01 o="P&E Microcomputer Systems, Inc."
-000D02,001B8B,003A9D,106682,1CB17F,6CE4DA,98F199,A41242,C025A2,F8B797 o="NEC Platforms, Ltd."
+000D02,001B8B,003A9D,106682,1CB17F,6CE4DA,8022A7,98F199,A41242,C025A2,F8B797 o="NEC Platforms, Ltd."
000D03 o="Matrics, Inc."
000D04 o="Foxboro Eckardt Development GmbH"
000D05 o="cybernet manufacturing inc."
@@ -3389,7 +3389,7 @@
000E56 o="4G Systems GmbH & Co. KG"
000E57 o="Iworld Networking, Inc."
000E58,347E5C,48A6B8,542A1B,5CAAFD,7828CA,949F3E,B8E937,F0F6C1 o="Sonos, Inc."
-000E59,001556,00194B,001BBF,001E74,001F95,002348,002569,002691,0037B7,00604C,00789E,00CB51,083E5D,08D59D,181E78,18622C,1890D8,2420C7,247F20,289EFC,2C3996,2C79D7,2CE412,302478,3093BC,34495B,346B46,348AAE,34DB9C,3835FB,3C1710,3C81D8,4065A3,40C729,40F201,44E9DD,4883C7,48D24F,4C17EB,5464D9,589043,5CB13E,646624,681590,6C2E85,700B01,786559,7C034C,7C03D8,7C2664,8020DA,84A06E,84A1D1,84A423,88A6C6,8C10D4,90013B,904D4A,907282,94FEF4,981E19,988B5D,A01B29,A039EE,A08E78,A408F5,A89A93,AC3B77,AC84C9,B0982B,B0B28F,B86685,B8D94D,B8EE0E,C0AC54,C0D044,C891F9,C8CD72,CC33BB,D05794,D06EDE,D084B0,D86CE9,D87D7F,D8A756,D8D775,E8ADA6,E8BE81,E8F1B0,ECBEDD,F08175,F08261,F46BEF,F4EB38,F8084F,F8AB05 o="Sagemcom Broadband SAS"
+000E59,001556,00194B,001BBF,001E74,001F95,002348,002569,002691,0037B7,00604C,00789E,00CB51,083E5D,08D59D,100645,10D7B0,181E78,18622C,1890D8,209A7D,2420C7,247F20,289EFC,2C3996,2C79D7,2CE412,302478,3093BC,34495B,346B46,348AAE,34DB9C,3835FB,3C1710,3C81D8,4065A3,40C729,40F201,44ADB1,44E9DD,4883C7,48D24F,4C17EB,5464D9,589043,5CB13E,646624,681590,6C2E85,6C9961,6CBAB8,700B01,786559,7C034C,7C03D8,7C2664,8020DA,84A06E,84A1D1,84A423,88A6C6,8C10D4,8CC5B4,90013B,904D4A,907282,94FEF4,981E19,988B5D,A01B29,A039EE,A08E78,A408F5,A86ABB,A89A93,AC3B77,AC84C9,B0982B,B0B28F,B86685,B8D94D,B8EE0E,C0AC54,C0D044,C891F9,C8CD72,CC33BB,D05794,D06EDE,D084B0,D4F829,D86CE9,D87D7F,D8A756,D8D775,E8ADA6,E8BE81,E8F1B0,ECBEDD,F08175,F08261,F46BEF,F4EB38,F8084F,F8AB05 o="Sagemcom Broadband SAS"
000E5A o="TELEFIELD inc."
000E5B o="ParkerVision - Direct2Data"
000E5D o="Triple Play Technologies A/S"
@@ -3406,7 +3406,7 @@
000E69 o="China Electric Power Research Institute"
000E6B o="Janitza electronics GmbH"
000E6C o="Device Drivers Limited"
-000E6D,0013E0,0021E8,0026E8,00376D,006057,009D6B,00AEFA,044665,1098C3,10A5D0,147DC5,1C7022,1C994C,2002AF,2C4CC6,40F308,449160,44A7CF,48EB62,58D50A,5CDAD4,5CF8A1,6021C0,60F189,784B87,88308A,8C4500,90B686,98F170,A0C9A0,A0CC2B,A408EA,B072BF,B8D7AF,C4AC59,CCC079,D0E44A,D44DA4,D45383,D8C46A,DCEFCA,E8E8B7,F02765,FCC2DE,FCDBB3 o="Murata Manufacturing Co., Ltd."
+000E6D,0013E0,0021E8,0026E8,00376D,006057,009D6B,00AEFA,044665,1098C3,10A5D0,147DC5,1848CA,1C7022,1C994C,2002AF,2C4CC6,40F308,449160,44A7CF,48EB62,58D50A,5CDAD4,5CF8A1,6021C0,60F189,707414,747A90,784B87,88308A,8C4500,90B686,98F170,A0C9A0,A0CC2B,A408EA,B072BF,B8D7AF,C4AC59,CCC079,D0E44A,D44DA4,D45383,D8C46A,DCEFCA,E8E8B7,F02765,FCC2DE,FCDBB3 o="Murata Manufacturing Co., Ltd."
000E6E o="MAT S.A. (Mircrelec Advanced Technology)"
000E6F o="IRIS Corporation Berhad"
000E70 o="in2 Networks"
@@ -3435,7 +3435,7 @@
000E8B o="Astarte Technology Co, Ltd."
000E8D o="Systems in Progress Holding GmbH"
000E8E o="SparkLAN Communications, Inc."
-000E8F,00C002,142E5E,3C9872,60CE86,749D79,788102,7894B4,944A0C,B4A5EF,D42122,D460E3,E06066 o="Sercomm Corporation."
+000E8F,00C002,105072,142E5E,3C9872,60CE86,749D79,788102,7894B4,944A0C,B4A5EF,D42122,D460E3,E06066,E81B69 o="Sercomm Corporation."
000E90 o="PONICO CORP."
000E91 o="Navico Auckland Ltd"
000E92 o="Open Telecom"
@@ -3447,7 +3447,7 @@
000E98,00C068 o="HME Clear-Com LTD."
000E99 o="Spectrum Digital, Inc"
000E9A,000EE4 o="BOE TECHNOLOGY GROUP CO.,LTD"
-000E9C o="Benchmark Electronics"
+000E9C,98CBA4 o="Benchmark Electronics"
000E9D o="Tiscali UK Ltd"
000E9E o="Topfield Co., Ltd"
000E9F o="TEMIC SDS GmbH"
@@ -3877,7 +3877,7 @@
00107C o="P-COM, INC."
00107D o="AURORA COMMUNICATIONS, LTD."
00107E o="BACHMANN ELECTRONIC GmbH"
-00107F o="CRESTRON ELECTRONICS, INC."
+00107F,C44268 o="CRESTRON ELECTRONICS, INC."
001080 o="METAWAVE COMMUNICATIONS"
001081 o="DPS, INC."
001082 o="JNA TELECOMMUNICATIONS LIMITED"
@@ -3993,7 +3993,7 @@
001102 o="Aurora Multimedia Corp."
001103 o="kawamura electric inc."
001104 o="TELEXY"
-001105,FC4BBC o="Sunplus Technology Co., Ltd."
+001105,1C501E,FC4BBC o="Sunplus Technology Co., Ltd."
001106 o="Siemens NV (Belgium)"
001107 o="RGB Networks Inc."
001108 o="Orbital Data Corporation"
@@ -4205,7 +4205,7 @@
0011F2 o="Institute of Network Technologies"
0011F3 o="NeoMedia Europe AG"
0011F4 o="woori-net"
-0011F5,0016E3,001B9E,002163,0024D2,0026B6,009096,086A0A,1CB044,24EC99,4CEDDE,7829ED,7CB733,7CDB98,807871,94917F,A0648F,B0EABC,B4749F,B482FE,B4EEB4,C0D962,C8B422,D47BB0,D8FB5E,E0CA94,E0CEC3,E839DF,E8D11B,F85B3B,FCB4E6 o="ASKEY COMPUTER CORP"
+0011F5,0016E3,001B9E,002163,0024D2,0026B6,009096,086A0A,08B055,1CB044,24EC99,4CEDDE,7829ED,7CB733,7CDB98,807871,94917F,A0648F,B0EABC,B4749F,B482FE,B4EEB4,C0D962,C8B422,D47BB0,D8FB5E,E0CA94,E0CEC3,E839DF,E8D11B,F46942,F85B3B,FCB4E6 o="ASKEY COMPUTER CORP"
0011F6 o="Asia Pacific Microsystems , Inc."
0011F7 o="Shenzhen Forward Industry Co., Ltd"
0011F8 o="AIRAYA Corp"
@@ -4264,7 +4264,7 @@
001234 o="Camille Bauer"
001235 o="Andrew Corporation"
001236 o="ConSentry Networks"
-001237,00124B,0012D1-0012D2,001783,0017E3-0017EC,00182F-001834,001AB6,0021BA,0022A5,0023D4,0024BA,0035FF,0081F9,0479B7,04A316,04E451,04EE03,080028,0C1C57,0C61CF,0CAE7D,0CB2B7,10082C,102EAF,10CEA9,1442FC,1804ED,1862E4,1893D7,1C4593,1CBA8C,1CDF52,1CE2CC,209148,20C38F,20CD39,247189,247D4D,28EC9A,2C6B7D,2CAB33,304511,3403DE,3414B5,341513,342AF1,34B1F7,380B3C,3881D7,38D269,3C2DB7,3C7DB1,3CA308,4006A0,402E71,405FC2,40984E,40BD32,44C15C,44EAD8,4C2498,4C3FD3,50338B,5051A9,505663,506583,507224,508CB1,50F14A,544A16,546C0E,547DCD,587A62,5893D8,5C313E,5C6B32,5CF821,606405,607771,64694E,647BD4,649C8E,64CFD9,684749,689E19,68C90B,6CC374,6CECEB,7086C1,70E56E,70FF76,74D6EA,74DAEA,74E182,780473,78A504,78C5E5,78DB2F,78DEE4,7C010A,7C3866,7C669D,7C8EE4,7CEC79,8030DC,806FB0,847E40,84DD20,84EB18,883314,883F4A,884AEA,88C255,8C8B83,9059AF,907065,909A77,90D7EB,90E202,948854,94E36D,98072D,985945,985DAD,987BF3,9884E3,9C1D58,A0E6F8,A0F6FD,A434F1,A4D578,A4DA32,A81087,A81B6A,A863F2,A8E2C1,A8E77D,B07E11,B09122,B0B448,B0D5CC,B452A9,B4994C,B4BC7C,B4EED4,B8FFFE,BC0DA5,BC6A29,C0E422,C464E3,C4BE84,C4EDBA,C4F312,C83E99,C8A030,C8DF84,C8FD19,CC78AB,CC8CE3,D003EB,D00790,D03761,D03972,D05FB8,D08CB5,D0B5C2,D0FF50,D43639,D494A1,D4F513,D8543A,D8952F,D8A98B,D8DDFD,E07DEA,E0C79D,E0D7BA,E0E5CF,E415F6,E4E112,E8EB11,EC1127,EC24B8,F045DA,F0B5D1,F0C77F,F0F8F2,F45EAB,F4844C,F4B85E,F4E11E,F4FC32,F83002,F83331,F8369B,F88A5E,FC0F4B,FC6947 o="Texas Instruments"
+001237,00124B,0012D1-0012D2,001783,0017E3-0017EC,00182F-001834,001AB6,0021BA,0022A5,0023D4,0024BA,0035FF,0081F9,0479B7,04A316,04E451,04EE03,080028,0C1C57,0C61CF,0CAE7D,0CB2B7,0CEC80,10082C,102EAF,10CEA9,1442FC,1804ED,1862E4,1893D7,1C4593,1CBA8C,1CDF52,1CE2CC,209148,20C38F,20CD39,247189,247D4D,28EC9A,2C6B7D,2CAB33,304511,3403DE,3414B5,341513,342AF1,34B1F7,380B3C,3881D7,38D269,3C2DB7,3C7DB1,3CA308,4006A0,402E71,405FC2,40984E,40BD32,44C15C,44EAD8,4C2498,4C3FD3,50338B,5051A9,505663,506583,507224,508CB1,50F14A,544A16,546C0E,547DCD,587A62,5893D8,5C313E,5C6B32,5CF821,606405,607771,609866,6433DB,64694E,647BD4,649C8E,64CFD9,684749,689E19,68C90B,6CC374,6CECEB,7086C1,70E56E,70FF76,74D6EA,74DAEA,74E182,780473,78A504,78C5E5,78DB2F,78DEE4,7C010A,7C3866,7C669D,7C8EE4,7CEC79,8030DC,806FB0,847E40,84DD20,84EB18,883314,883F4A,884AEA,88C255,8C8B83,9059AF,907065,909A77,90D7EB,90E202,948854,94E36D,98072D,985945,985DAD,987BF3,9884E3,9C1D58,A0E6F8,A0F6FD,A406E9,A434F1,A4D578,A4DA32,A81087,A81B6A,A863F2,A8E2C1,A8E77D,B07E11,B09122,B0B113,B0B448,B0D5CC,B452A9,B4994C,B4BC7C,B4EED4,B8804F,B8FFFE,BC0DA5,BC6A29,C0E422,C464E3,C4BE84,C4EDBA,C4F312,C83E99,C8A030,C8DF84,C8FD19,CC78AB,CC8CE3,D003EB,D00790,D03761,D03972,D05FB8,D08CB5,D0B5C2,D0FF50,D43639,D494A1,D4F513,D8543A,D8714D,D8952F,D8A98B,D8DDFD,E06234,E07DEA,E0C79D,E0D7BA,E0E5CF,E415F6,E4E112,E8EB11,EC1127,EC24B8,F045DA,F0B5D1,F0C77F,F0F8F2,F45EAB,F4844C,F4B85E,F4E11E,F4FC32,F83002,F83331,F8369B,F88A5E,FC0F4B,FC6947 o="Texas Instruments"
001238 o="SetaBox Technology Co., Ltd."
001239 o="S Net Systems Inc."
00123A o="Posystech Inc., Co."
@@ -4415,7 +4415,7 @@
0012E0 o="Codan Limited"
0012E1 o="Alliant Networks, Inc"
0012E2 o="ALAXALA Networks Corporation"
-0012E3 o="Agat-RT, Ltd."
+0012E3 o="Agat Soft LLC"
0012E4 o="ZIEHL industrie-electronik GmbH + Co KG"
0012E5 o="Time America, Inc."
0012E6 o="SPECTEC COMPUTER CO., LTD."
@@ -4427,7 +4427,7 @@
0012EC o="Movacolor b.v."
0012ED o="AVG Advanced Technologies"
0012EF,70FC8C o="OneAccess SA"
-0012F0,001302,001320,0013CE,0013E8,001500,001517,00166F,001676,0016EA-0016EB,0018DE,0019D1-0019D2,001B21,001B77,001CBF-001CC0,001DE0-001DE1,001E64-001E65,001E67,001F3B-001F3C,00215C-00215D,00216A-00216B,0022FA-0022FB,002314-002315,0024D6-0024D7,0026C6-0026C7,00270E,002710,0028F8,00BB60,00C2C6,00DBDF,00E18C,0433C2,04D3B0,04EA56,04ED33,081196,087190,08D23E,08D40C,0C5415,0C7A15,0C8BFD,0CD292,0CDD24,1002B5,100BA9,104A7D,10F005,144F8A,14ABC5,14F6D8,181DEA,183DA2,185680,185E0F,18FF0F,1C1BB5,1C4D70,2016B9,207918,24418C,247703,24EE9A,2816AD,287FCF,28B2BD,28C63F,2C6E85,302432,303A64,30E37A,340286,3413E8,34415D,34CFF6,34DE1A,34E12D,34E6AD,34F39A,34F64B,380025,38BAF8,38DEAD,3C58C2,3C6AA7,3CA9F4,3CF011,3CF862,3CFDFE,4025C2,4074E0,40A3CC,40A6B7,40EC99,44032C,448500,484520,4851B7,4889E7,48A472,48F17F,4C1D96,4C3488,4C79BA,4C8093,4CEB42,502DA2,5076AF,50E085,50EB71,548D5A,5891CF,58946B,58961D,58A023,58A839,58FB84,5C514F,5C5F67,5C80B6,5C879C,5CC5D4,5CCD5B,5CD2E4,5CE0C5,6036DD,605718,606720,606C66,60F262,60F677,6432A8,644C36,645D86,648099,64BC58,64D4DA,6805CA,680715,681729,685D43,68ECC5,6C2995,6C6A77,6C8814,6CA100,701CE7,7470FD,74D83E,74E50B,74E5F9,780CB8,78929C,78FF57,7C2A31,7C5CF8,7C67A2,7C7635,7C7A91,7CB0C2,7CB27D,7CCCB8,80000B,801934,803253,8086F2,809B20,843A4B,84683E,84A6C8,84C5A6,84EF18,84FDD1,88532E,887873,88B111,8C705A,8CA982,8CC681,902E1C,9049FA,9061AE,907841,90E2BA,94659C,94B86D,94E6F7,982CBC,983B8F,984FEE,98541B,98AF65,9C4E36,9CDA3E,9CFCE8,A0369F,A0510B,A08869,A088B4,A0A4C5,A0A8CD,A0AFBD,A0C589,A0D37A,A402B9,A434D9,A44E31,A4BF01,A4C3F0,A4C494,A86DAA,A87EEA,AC1203,AC2B6E,AC7289,AC7BA1,ACED5C,ACFDCE,B0359F,B46921,B46BFC,B46D83,B49691,B4B676,B4D5BD,B80305,B808CF,B88198,B88A60,B89A2A,B8B81E,B8BF83,BC0F64,BC542F,BC7737,BCA8A6,C0B6F9,C0B883,C48508,C4D987,C809A8,C82158,C8348E,C858C0,C8F733,CC2F71,CC3D82,CCF9E4,D0577B,D07E35,D0ABD5,D0C637,D4258B,D43B04,D46D6D,D4D252,D83BBF,D8F2CA,D8FC93,DC5360,DC7196,DC8B28,DCA971,DCFB48,E09467,E09D31,E0D4E8,E4029B,E442A6,E45E37,E470B8,E4A471,E4A7A0,E4B318,E4F89C,E4FAFD,E82AEA,E8B1FC,F0421C,F0D5BF,F40669,F48C50,F49634,F4D108,F81654,F83441,F85971,F8633F,F894C2,F8E4E3,F8F21E,FC7774,FCF8AE o="Intel Corporate"
+0012F0,001302,001320,0013CE,0013E8,001500,001517,00166F,001676,0016EA-0016EB,0018DE,0019D1-0019D2,001B21,001B77,001CBF-001CC0,001DE0-001DE1,001E64-001E65,001E67,001F3B-001F3C,00215C-00215D,00216A-00216B,0022FA-0022FB,002314-002315,0024D6-0024D7,0026C6-0026C7,00270E,002710,0028F8,004238,00BB60,00C2C6,00DBDF,00E18C,0433C2,046C59,04D3B0,04EA56,04ED33,081196,085BD6,087190,08D23E,08D40C,0C5415,0C7A15,0C8BFD,0CD292,0CDD24,1002B5,100BA9,104A7D,10F005,144F8A,14ABC5,14F6D8,181DEA,182649,183DA2,185680,185E0F,18FF0F,1C1BB5,1C4D70,2016B9,207918,24418C,247703,24EE9A,2816AD,287FCF,28B2BD,28C63F,2C6E85,2CDB07,302432,303A64,30E37A,340286,3413E8,342EB7,34415D,347DF6,34CFF6,34DE1A,34E12D,34E6AD,34F39A,34F64B,380025,386893,38BAF8,38DEAD,3C58C2,3C6AA7,3C9C0F,3CA9F4,3CF011,3CF862,3CFDFE,4025C2,4074E0,40A3CC,40A6B7,40EC99,44032C,448500,44AF28,484520,4851B7,4889E7,48A472,48F17F,4C1D96,4C3488,4C79BA,4C8093,4CEB42,502DA2,5076AF,50E085,50EB71,548D5A,5891CF,58946B,58961D,58A023,58A839,58FB84,5C514F,5C5F67,5C80B6,5C879C,5CC5D4,5CCD5B,5CD2E4,5CE0C5,6036DD,605718,606720,606C66,60F262,60F677,6432A8,644C36,645D86,648099,64BC58,64D4DA,6805CA,680715,681729,68545A,685D43,68ECC5,6C2995,6C6A77,6C8814,6CA100,701CE7,709CD1,7470FD,74D83E,74E50B,74E5F9,780CB8,782B46,78929C,78FF57,7C2A31,7C5CF8,7C67A2,7C7635,7C7A91,7CB0C2,7CB27D,7CCCB8,80000B,801934,803253,8086F2,809B20,843A4B,84683E,84A6C8,84C5A6,84EF18,84FDD1,88532E,887873,88B111,8C705A,8C8D28,8CA982,8CC681,902E1C,9049FA,9061AE,907841,90CCDF,90E2BA,94659C,94B86D,94E6F7,94E70B,982CBC,983B8F,984FEE,98541B,988D46,98AF65,9C2976,9C4E36,9CDA3E,9CFCE8,A0369F,A0510B,A08869,A088B4,A0A4C5,A0A8CD,A0AFBD,A0C589,A0D37A,A402B9,A434D9,A44E31,A4B1C1,A4BF01,A4C3F0,A4C494,A86DAA,A87EEA,AC1203,AC2B6E,AC675D,AC7289,AC7BA1,ACED5C,ACFDCE,B0359F,B07D64,B0A460,B46921,B46BFC,B46D83,B49691,B4B676,B4D5BD,B80305,B808CF,B88198,B88A60,B89A2A,B8B81E,B8BF83,BC0F64,BC17B8,BC542F,BC7737,BCA8A6,C0B6F9,C0B883,C48508,C4D987,C809A8,C82158,C8348E,C858C0,C8B29B,C8F733,CC2F71,CC3D82,CCD9AC,CCF9E4,D0577B,D07E35,D0ABD5,D0C637,D4258B,D43B04,D46D6D,D4D252,D83BBF,D8F2CA,D8F883,D8FC93,DC1BA1,DC41A9,DC5360,DC7196,DC8B28,DCA971,DCFB48,E09467,E09D31,E0D464,E0D4E8,E4029B,E442A6,E45E37,E470B8,E4A471,E4A7A0,E4B318,E4F89C,E4FAFD,E82AEA,E8B1FC,F0421C,F0D5BF,F40669,F48C50,F49634,F4D108,F81654,F83441,F85971,F8633F,F894C2,F8AC65,F8E4E3,F8F21E,FC4482,FC7774,FCB3BC,FCF8AE o="Intel Corporate"
0012F1 o="IFOTEC"
0012F3 o="connectBlue AB"
0012F4 o="Belco International Co.,Ltd."
@@ -4502,7 +4502,7 @@
001343 o="Matsushita Electronic Components (Europe) GmbH"
001344 o="Fargo Electronics Inc."
001348 o="Artila Electronics Co., Ltd."
-001349,0019CB,0023F8,00A0C5,04BF6D,082697,107BEF,1C740D,28285D,404A03,4C9EFF,5067F0,54833A,588BF3,5C6A80,5CE28C,5CF4AB,603197,88ACC0,8C5973,90EF68,980D67,A0E4CB,B0B2DC,B8D526,B8ECA3,BC9911,BCCF4F,C8544B,C86C87,CC5D4E,D8912A,E4186B,E8377A,EC43F6,FCF528 o="Zyxel Communications Corporation"
+001349,0019CB,0023F8,00A0C5,04BF6D,082697,107BEF,1C740D,28285D,404A03,4C9EFF,4CC53E,5067F0,50E039,54833A,588BF3,5C6A80,5CE28C,5CF4AB,603197,88ACC0,8C5973,90EF68,980D67,A0E4CB,B0B2DC,B8D526,B8ECA3,BC9911,BCCF4F,C8544B,C86C87,CC5D4E,D8912A,E4186B,E8377A,EC3EB3,EC43F6,FCF528 o="Zyxel Communications Corporation"
00134A o="Engim, Inc."
00134B o="ToGoldenNet Technology Inc."
00134C o="YDT Technology International"
@@ -4564,7 +4564,7 @@
00138E o="FOAB Elektronik AB"
001390 o="Termtek Computer Co., Ltd"
001391 o="OUEN CO.,LTD."
-001392,001D2E,001F41,00227F,002482,0025C4,044FAA,0CF4D5,184B0D,187C0B,1C3A60,1CB9C4,205869,24792A,24C9A1,2C5D93,2CC5D3,2CE6CC,3087D9,348F27,34FA9F,38FF36,441E98,4CB1CD,50A733,543D37,54EC2F,589396,58B633,60D02C,689234,6CAAB3,743E2B,74911A,84183A,8C0C90,8CFE74,903A72,94BFC4,94F665,AC6706,B479C8,C08ADE,C0C520,C4017C,C4108A,C803F5,C80873,D4684D,D4C19E,D838FC,E0107F,E81DA8,EC58EA,EC8CA2,F03E90,F0B052,F8E71E o="Ruckus Wireless"
+001392,001D2E,001F41,00227F,002482,0025C4,044FAA,0CF4D5,184B0D,187C0B,1C3A60,1CB9C4,205869,24792A,24C9A1,28B371,2C5D93,2CC5D3,2CE6CC,3087D9,3420E3,348F27,34FA9F,38FF36,441E98,4CB1CD,50A733,543D37,54EC2F,589396,58B633,60D02C,689234,6CAAB3,70CA97,743E2B,74911A,800384,84183A,8C0C90,8CFE74,903A72,94BFC4,94F665,AC6706,B479C8,C08ADE,C0C520,C4017C,C4108A,C803F5,C80873,D4684D,D4C19E,D838FC,DCAEEB,E0107F,E81DA8,EC58EA,EC8CA2,F03E90,F0B052,F8E71E o="Ruckus Wireless"
001393 o="Panta Systems, Inc."
001394 o="Infohand Co.,Ltd"
001395 o="congatec AG"
@@ -4710,7 +4710,7 @@
001435 o="CityCom Corp."
001436 o="Qwerty Elektronik AB"
001437 o="GSTeletech Co.,Ltd."
-001438,004E35,00FD45,040973,089734,08F1EA,1402EC,1C98EC,20677C,20A6CD,24F27F,34FCB9,3817C3,40B93C,4448C1,484AE9,48DF37,4CAEA3,548028,5CBA2C,70106F,8030E0,808DB7,88E9A4,904C81,941882,943FC2,9440C9,94F128,98F2B3,9C8CD8,9CDC71,A8BD27,B0B867,B47AF1,B88303,C8B5AD,D06726,D4F5EF,D89403,DC680C,E0071B,E8F724,EC9B8B,ECEBB8,F40343 o="Hewlett Packard Enterprise"
+001438,004E35,00FD45,040973,089734,08F1EA,1402EC,1C98EC,20677C,20A6CD,24F27F,34FCB9,3817C3,40B93C,4448C1,484AE9,48DF37,4CAEA3,54778A,548028,5CBA2C,70106F,8030E0,808DB7,88E9A4,904C81,941882,943FC2,9440C9,94F128,98F2B3,9C8CD8,9CDC71,A8BD27,B0B867,B47AF1,B88303,C8B5AD,D06726,D4F5EF,D89403,DC680C,E0071B,E8F724,EC9B8B,ECEBB8,F40343 o="Hewlett Packard Enterprise"
001439 o="Blonder Tongue Laboratories, Inc"
00143A o="RAYTALK INTERNATIONAL SRL"
00143B o="Sensovation AG"
@@ -4727,7 +4727,7 @@
001446 o="SuperVision Solutions LLC"
001447 o="BOAZ Inc."
001448 o="Inventec Multimedia & Telecom Corporation"
-001449,006CFD,00E400,1899F5,6488FF,842C80,982F3C,B46077,C0132B,D84710 o="Sichuan Changhong Electric Ltd."
+001449,006CFD,00E400,1899F5,6488FF,842C80,982F3C,B46077,B49E80,C0132B,D84710 o="Sichuan Changhong Electric Ltd."
00144A o="Taiwan Thick-Film Ind. Corp."
00144B o="Hifn, Inc."
00144C o="General Meters Corp."
@@ -4976,7 +4976,7 @@
00156A o="DG2L Technologies Pvt. Ltd."
00156B o="Perfisans Networks Corp."
00156C o="SANE SYSTEM CO., LTD"
-00156D,002722,0418D6,18E829,24A43C,44D9E7,687251,68D79A,7483C2,74ACB9,788A20,802AA8,B4FBE4,DC9FDB,E063DA,F09FC2,F492BF,FCECDA o="Ubiquiti Networks Inc."
+00156D,002722,0418D6,18E829,245A4C,24A43C,44D9E7,687251,68D79A,7483C2,74ACB9,784558,788A20,802AA8,B4FBE4,D021F9,DC9FDB,E063DA,F09FC2,F492BF,FCECDA o="Ubiquiti Networks Inc."
00156E o="A. W. Communication Systems Ltd"
00156F o="Xiranet Communications GmbH"
001571 o="Nolan Systems"
@@ -5030,7 +5030,7 @@
0015AC o="Capelon AB"
0015AD o="Accedian Networks"
0015AE o="kyung il"
-0015AF,002243,0025D3,08A95A,1C4BD6,240A64,2866E3,28C2DD,2CDCD7,384FF0,409922,409F38,40E230,44D832,485D60,54271E,5C9656,605BB4,6C71D9,6CADF8,706655,742F68,74C63B,74F06D,781881,809133,80A589,80C5F2,80D21D,94DBC9,A81D16,AC8995,B0EE45,C0E434,D0C5D3,D0E782,DC85DE,DCF505,E0B9A5,E8D819,F0038C o="AzureWave Technology Inc."
+0015AF,002243,0025D3,08A95A,1C4BD6,204EF6,240A64,2866E3,28C2DD,2CDCD7,384FF0,409922,409F38,40E230,44D832,485D60,54271E,5C9656,605BB4,6C71D9,6CADF8,706655,742F68,74C63B,74F06D,781881,809133,80A589,80C5F2,80D21D,94DBC9,A81D16,AC8995,B0EE45,C0E434,D0C5D3,D0E782,D8C0A6,DC85DE,DCF505,E0B9A5,E8D819,F0038C o="AzureWave Technology Inc."
0015B0 o="AUTOTELENET CO.,LTD"
0015B1 o="Ambient Corporation"
0015B2 o="Advanced Industrial Computer, Inc."
@@ -5076,7 +5076,7 @@
0015E6 o="MOBILE TECHNIKA Inc."
0015E7 o="Quantec Tontechnik"
0015EA o="Tellumat (Pty) Ltd"
-0015EB,0019C6,001E73,002293,002512,0026ED,004A77,041DC7,049573,08181A,083FBC,086083,0C1262,0C3747,0C72D9,10D0AB,143EBF,146080,18132D,1844E6,18686A,1C2704,208986,20E882,24586E,247E51,24C44A,24D3F2,287B09,288CB8,28FF3E,2C26C5,2C957F,300C23,309935,30D386,30F31D,343759,344B50,344DEA,346987,347839,34DAB7,34DE34,34E0CF,384608,386E88,38D82F,38E1AA,38E2DD,3CDA2A,4413D0,44F436,44FB5A,44FFBA,48282F,4859A4,48A74E,4C09B4,4C16F1,4C494F,4CABFC,4CAC0A,4CCBF5,5078B3,50AF4D,540955,5422F8,54BE53,585FF6,5C3A3D,601466,601888,6073BC,64136C,681AB2,688AF0,689FF0,6C8B2F,6CA75F,6CD2BA,702E22,709F2D,744AA4,749781,74A78E,74B57E,781D4A,78312B,789682,78C1A7,78E8B6,7C3953,80B07B,84139F,841C70,84742A,847460,885DFB,88D274,8C14B4,8C68C8,8C7967,8CDC02,8CE081,8CE117,901D27,90869B,90C7D8,90D8F3,90FD73,94A7B7,94BF80,98006A,981333,986CF5,98F428,98F537,9C2F4E,9C63ED,9C6F52,9CA9E4,9CD24B,9CE91C,A091C8,A0EC80,A44027,A47E39,A8A668,AC00D0,AC6462,B00AD5,B075D5,B0ACD2,B0B194,B0C19E,B41C30,B49842,B4B362,B4DEDF,B805AB,BC1695,C09FE1,C0FD84,C4741E,C4A366,C85A9F,C864C7,C87B5B,C8EAF8,CC1AFA,CC7B35,D0154A,D058A8,D05BA8,D0608C,D071C4,D437D7,D47226,D476EA,D49E05,D4B709,D4C1C8,D855A3,D87495,D8A8C8,DC028E,DC7137,DCDFD6,DCF8B9,E01954,E0383F,E07C13,E0C3F3,E447B3,E47723,E47E9A,E4BD4B,E4CA12,E8ACAD,E8B541,EC1D7F,EC237B,EC8263,EC8A4C,ECF0FE,F084C9,F41F88,F46DE2,F4B5AA,F4B8A7,F4E4AD,F80DF0,F8A34F,F8DFA8,FC2D5E,FC94CE,FCC897 o="zte corporation"
+0015EB,0019C6,001E73,002293,002512,0026ED,004A77,041DC7,049573,08181A,083FBC,086083,0C1262,0C3747,0C72D9,10D0AB,14007D,143EBF,146080,18132D,1844E6,18686A,1C2704,208986,20E882,24586E,247E51,24C44A,24D3F2,287B09,288CB8,28FF3E,2C26C5,2C957F,300C23,304240,309935,30CC21,30D386,30F31D,343654,343759,344B50,344DEA,346987,347839,34DAB7,34DE34,34E0CF,384608,38549B,386E88,38D82F,38E1AA,38E2DD,3CDA2A,3CF652,4413D0,445943,44F436,44FB5A,44FFBA,48282F,4859A4,48A74E,4C09B4,4C16F1,4C494F,4CABFC,4CAC0A,4CCBF5,5078B3,50AF4D,540955,5422F8,5484DC,54BE53,585FF6,5C3A3D,601466,601888,6073BC,64136C,681AB2,688AF0,689FF0,6C8B2F,6CA75F,6CD2BA,702E22,709F2D,744AA4,749781,74A78E,74B57E,781D4A,78312B,789682,78C1A7,78E8B6,7C3953,80B07B,84139F,841C70,84742A,847460,885DFB,88D274,8C14B4,8C68C8,8C7967,8CDC02,8CE081,8CE117,901D27,90869B,90C7D8,90D8F3,90FD73,94A7B7,94BF80,94E3EE,98006A,981333,986CF5,98F428,98F537,9C2F4E,9C63ED,9C6F52,9CA9E4,9CD24B,9CE91C,A091C8,A0CFF5,A0EC80,A44027,A47E39,A802DB,A8A668,AC00D0,AC6462,B00AD5,B075D5,B0ACD2,B0B194,B0C19E,B41C30,B49842,B4B362,B4DEDF,B805AB,B8DD71,BC1695,C09FE1,C0B101,C0FD84,C4741E,C4A366,C85A9F,C864C7,C87B5B,C8EAF8,CC1AFA,CC7B35,D0154A,D058A8,D05BA8,D0608C,D071C4,D437D7,D47226,D476EA,D49E05,D4B709,D4C1C8,D4F756,D855A3,D87495,D8A8C8,DC028E,DC7137,DCDFD6,DCF8B9,E01954,E0383F,E07C13,E0C3F3,E447B3,E47723,E47E9A,E4BD4B,E4CA12,E8A1F8,E8ACAD,E8B541,EC1D7F,EC237B,EC6CB5,EC8263,EC8A4C,ECF0FE,F084C9,F41F88,F46DE2,F4B5AA,F4B8A7,F4E4AD,F80DF0,F864B8,F8A34F,F8DFA8,FC2D5E,FC449F,FC94CE,FCC897 o="zte corporation"
0015EC o="Boca Devices LLC"
0015ED o="Fulcrum Microsystems, Inc."
0015EE o="Omnex Control Systems"
@@ -5143,7 +5143,7 @@
001631 o="Xteam"
001633 o="Oxford Diagnostics Ltd."
001634 o="Mathtech, Inc."
-001636,001B24,001E68,00238B,00269E,00C09F,047D7B,089E01,2C600C,54AB3A,60EB69,A81E84,C45444,C80AA9,E89A8F o="QUANTA COMPUTER INC."
+001636,001B24,001E68,00238B,00269E,00C09F,047D7B,089E01,2C600C,54AB3A,60EB69,A81E84,B4A9FC,C01850,C45444,C80AA9,D8C497,E89A8F o="Quanta Computer Inc."
001637 o="CITEL SpA"
001639 o="Ubiquam Co., Ltd."
00163A o="YVES TECHNOLOGY CO., LTD."
@@ -5320,7 +5320,7 @@
00170C o="Twig Com Ltd."
00170D o="Dust Networks Inc."
001710 o="Casa Systems Inc."
-001711 o="GE Healthcare Bio-Sciences AB"
+001711 o="Cytiva Sweden AB"
001712 o="ISCO International"
001713 o="Tiger NetCom"
001714 o="BR Controls Nederland bv"
@@ -5353,7 +5353,7 @@
00172F o="NeuLion Incorporated"
001730 o="Automation Electronics"
001732 o="Science-Technical Center %RISSA%"
-001733,001D16,002515,249504,307ECB,44CE7D,6035C0,CC2D1B,E0A1D7,E45D51 o="SFR"
+001733,001D16,002515,249504,307ECB,44CE7D,6035C0,6C61F4,CC2D1B,E0A1D7,E45D51 o="SFR"
001734 o="ADC Telecommunications"
001735 o="Intel Wireless Network Group"
001736 o="iiTron Inc."
@@ -5364,7 +5364,7 @@
00173C o="Extreme Engineering Solutions"
00173D o="Neology"
00173E o="LeucotronEquipamentos Ltda."
-00173F,001CDF,002275,08863B,149182,24F5A2,302303,58EF68,6038E0,94103E,944452,B4750E,C05627,C4411E,EC1A59 o="Belkin International Inc."
+00173F,001CDF,002275,08863B,149182,24F5A2,302303,58EF68,6038E0,94103E,944452,B4750E,C05627,C4411E,E89F80,EC1A59 o="Belkin International Inc."
001740 o="Bluberi Gaming Technologies Inc"
001741 o="DEFIDEV"
001743 o="Deck Srl"
@@ -5527,7 +5527,7 @@
001807 o="Fanstel Corp."
001808 o="SightLogix, Inc."
001809,7445CE o="CRESYN"
-00180A,0C8DDB,2C3F0B,3456FE,4CC8A1,683A1E,881544,981888,AC17C8,B80756,CC03D9,E0553D,E0CBBC,F89E28 o="Cisco Meraki"
+00180A,0C8DDB,2C3F0B,3456FE,388479,4CC8A1,683A1E,6CDEA9,881544,981888,A8469D,AC17C8,B80756,CC03D9,E0553D,E0CBBC,F89E28 o="Cisco Meraki"
00180B o="Brilliant Telecommunications"
00180C o="Optelian Access Networks"
00180D o="Terabytes Server Storage Tech Corp"
@@ -5624,7 +5624,7 @@
00187F o="ZODIANET"
001880 o="Maxim Integrated Products"
001881 o="Buyang Electronics Industrial Co., Ltd"
-001882,001E10,002568,00259E,002EC7,0034FE,00464B,005A13,00664B,009ACD,00BE3B,00E0FC,00F81C,04021F,0425C5,042758,043389,044A6C,044F4C,047503,047970,04885F,048C16,049FCA,04B0E7,04BD70,04C06F,04F938,04FE8D,0819A6,08318B,084F0A,086361,087A4C,08C021,08E84F,0C2C54,0C37DC,0C41E9,0C45BA,0C704A,0C8FFF,0C96BF,0CB527,0CC6CC,0CD6BD,100177,101B54,104400,104780,105172,10B1F8,10C172,10C3AB,10C61F,1409DC,143004,143CC3,14579F,145F94,149D09,14A0F8,14A51A,14B968,14D11F,14D169,18022D,183D5E,185644,18C58A,18CF24,18D276,18DED7,1C151F,1C1D67,1C20DB,1C4363,1C599B,1C6758,1C7F2C,1C8E5C,1CAECB,1CB796,2008ED,200BC7,20283E,202BC1,203DB2,2054FA,20658E,20A680,20DA22,20F17C,20F3A3,2400BA,240995,24166D,241FA0,242E02,243154,244427,244C07,2469A5,247F3C,249EAB,24A52C,24BCF8,24DA33,24DBAC,24DF6A,24FB65,2811EC,283152,283CE4,2841C6,285FDB,286ED4,289E97,28A6DB,28B448,28DEE5,28E34E,2C1A01,2C55D3,2C58E8,2C97B1,2C9D1E,2CAB00,2CCF58,304596,307496,308730,30A1FA,30D17E,30E98E,30F335,30FBB8,30FD65,3400A3,340A98,3412F9,341E6B,342912,342EB6,346AC2,346BD3,347916,34A2A2,34B354,34CDBE,38378B,3847BC,384C4F,38BC01,38EB47,38F889,38FB14,3C15FB,3C4711,3C678C,3C7843,3C9D56,3CCD5D,3CDFBD,3CE824,3CF808,3CFA43,404D8E,407D0F,40CBA8,40EEDD,44004D,4455B1,4459E3,446747,446A2E,446EE5,447654,4482E5,44A191,44C346,44D791,480031,483C0C,483FE9,48435A,4846FB,485702,486276,487B6B,488EEF,48AD08,48D539,48DB50,48DC2D,48F8DB,48FD8E,4C1FCC,4C5499,4C8BEF,4CB16C,4CD0CB,4CD1A1,4CF55B,4CF95D,4CFB45,50016B,5001D9,5004B8,501D93,505DAC,50680A,506F77,509F27,50A72B,541310,5425EA,5434EF,5439DF,54511B,548998,549209,54A51B,54B121,54BAD6,581F28,582575,582AF7,58605F,587F66,58BAD4,58D759,58F987,5C0339,5C0979,5C4CA9,5C546D,5C7D5E,5CA86A,5CB395,5CB43E,5CC307,5CE883,5CF96A,600810,60123C,602E20,608334,60D755,60DE44,60DEF3,60E701,60F18A,60FA9D,6416F0,642CAC,643E8C,646D6C,64A651,684AAE,6889C1,688F84,68A03E,68A0F6,68A828,68CC6E,6C1632,6CB749,6CEBB6,70192F,702F35,7054F5,70723C,707990,707BE8,708A09,70A8E3,70C7F2,70D313,70FD45,745909,745AAA,7460FA,74882A,749D8F,74A063,74A528,74C14F,74D21D,7817BE,781DBA,785860,786256,786A89,78B46A,78D752,78F557,78F5FD,7C11CB,7C1CF1,7C6097,7C7668,7C7D3D,7C942A,7CA177,7CA23E,7CB15D,7CC385,7CD9A0,801382,8038BC,804126,806933,80717A,807D14,80B575,80B686,80D09B,80D4A5,80FB06,8421F1,8446FE,844765,845B12,847637,849FB5,84A8E4,84A9C4,84AD58,84BE52,84DBAC,88108F,881196,8828B3,883FD3,88403B,884477,8853D4,886639,888603,88A2D7,88BCC1,88BFE4,88CEFA,88CF98,88E3AB,88F56E,88F872,8C0D76,8C15C7,8C2505,8C34FD,8C426D,8C683A,8C6D77,8CE5EF,8CEBC6,8CFD18,900325,9017AC,9017C8,902BD2,904E2B,90671C,909497,94049C,940B19,940E6B,94772B,94D00D,94DBDA,94E7EA,94FE22,9835ED,989C57,98E7F5,9C1D36,9C28EF,9C37F4,9C52F8,9C69D1,9C713A,9C741A,9C7DA3,9CB2B2,9CC172,9CE374,A0086F,A01C8D,A057E3,A08CF8,A08D16,A0A33B,A0DF15,A0F479,A400E2,A416E7,A47174,A4933F,A49947,A49B4F,A4BA76,A4BE2B,A4C64F,A4CAA0,A4DCBE,A80C63,A82BCD,A8494D,A87D12,A8C83A,A8CA7B,A8E544,A8F5AC,AC075F,AC4E91,AC6175,AC751D,AC853D,AC8D34,AC9232,ACB3B5,ACCF85,ACE215,ACE342,ACE87B,ACF970,B00875,B05508,B05B67,B08900,B0E17E,B0E5ED,B0EB57,B40931,B41513,B43052,B44326,B46E08,B48655,B4B055,B4CD27,B4F58E,B4FBF9,B808D7,B89436,B8BC1B,B8C385,B8E3B1,BC25E0,BC3D85,BC3F8F,BC620E,BC7574,BC7670,BC9C31,BCB0E7,BCE265,C07009,C0BFC0,C0F4E6,C40528,C40683,C4072F,C4447D,C4473F,C467D1,C486E9,C49F4C,C4B8B4,C4F081,C4FF1F,C80CC8,C81451,C81FBE,C850CE,C85195,C88D83,C894BB,C8A776,C8C2FA,C8C465,C8D15E,CC0577,CC53B5,CC64A6,CC96A0,CCA223,CCBBFE,CCCC81,D016B4,D02DB3,D03E5C,D065CA,D06F82,D07AB5,D0C65B,D0D04B,D0D783,D0EFC1,D0FF98,D440F0,D4612E,D462EA,D46AA8,D46BA6,D46E5C,D494E8,D4A148,D4B110,D4F9A1,D82918,D8490B,D89B3B,D8C771,DC094C,DC16B2,DC21E2,DC729B,DC9088,DC9914,DCC64B,DCD2FC,DCD916,DCEE06,E00084,E0191D,E0247F,E02481,E02861,E03676,E09796,E0A3AC,E0CC7A,E40EEE,E419C1,E43493,E435C8,E468A3,E472E2,E47E66,E48326,E4A7C5,E4A8B6,E4C2D1,E4FB5D,E4FDA1,E8088B,E84DD0,E86819,E884C6,E8ABF3,E8BDD1,E8CD2D,EC233D,EC388F,EC4D47,EC5623,EC8914,EC8C9A,ECCB30,F00FEC,F02FA7,F033E5,F03F95,F04347,F063F9,F09838,F0C850,F0E4A2,F41D6B,F44C7F,F4559C,F4631F,F47960,F48E92,F49FF3,F4A4D6,F4B78D,F4BF80,F4C714,F4CB52,F4DCF9,F4DEAF,F4E3FB,F4E5F2,F80113,F823B2,F83DFF,F84ABF,F86EEE,F87588,F898B9,F898EF,F89A78,F8BF09,F8C39E,F8E811,FC1BD1,FC3F7C,FC48EF,FC8743,FC9435,FCAB90,FCBCD1,FCE33C o="HUAWEI TECHNOLOGIES CO.,LTD"
+001882,001E10,002568,00259E,002EC7,0034FE,00464B,005A13,006151,00664B,009ACD,00BE3B,00E0FC,00E406,00F81C,04021F,0425C5,042758,043389,044A6C,044F4C,047503,047970,04885F,048C16,049FCA,04B0E7,04BD70,04C06F,04E795,04F938,04FE8D,0819A6,08318B,084F0A,086361,087A4C,08C021,08E84F,0C2C54,0C31DC,0C37DC,0C41E9,0C45BA,0C704A,0C8FFF,0C96BF,0CB527,0CC6CC,0CD6BD,100177,101B54,104400,104780,105172,10B1F8,10C172,10C3AB,10C61F,1409DC,1413FB,143004,143CC3,14579F,145F94,149D09,14A0F8,14A51A,14B968,14D11F,14D169,18022D,183D5E,185644,18C58A,18CF24,18D276,18DED7,1C151F,1C1D67,1C20DB,1C3D2F,1C4363,1C599B,1C6758,1C7F2C,1C8E5C,1CAECB,1CB796,2008ED,200BC7,20283E,202BC1,203DB2,2054FA,20658E,20A680,20AB48,20DA22,20F17C,20F3A3,2400BA,240995,24166D,241FA0,242E02,243154,244427,244C07,2469A5,247F3C,2491BB,249EAB,24A52C,24BCF8,24DA33,24DBAC,24DF6A,24FB65,2811EC,283152,283CE4,2841C6,285FDB,2868D2,286ED4,289E97,28A6DB,28B448,28DEE5,28E34E,2C1A01,2C55D3,2C58E8,2C97B1,2C9D1E,2CAB00,2CCF58,304596,307496,308730,30A1FA,30C50F,30D17E,30E98E,30F335,30FBB8,30FD65,3400A3,340A98,3412F9,341E6B,342912,342EB6,345840,346AC2,346BD3,347916,34A2A2,34B354,34CDBE,38378B,3847BC,384C4F,38881E,38BC01,38EB47,38F889,38FB14,3C15FB,3C306F,3C4711,3C678C,3C7843,3C9D56,3CCD5D,3CDFBD,3CE824,3CF808,3CFA43,404D8E,407D0F,40CBA8,40EEDD,44004D,44227C,4455B1,4459E3,446747,446A2E,446EE5,447654,4482E5,44A191,44C346,44D791,480031,482CD0,483C0C,483FE9,48435A,4846FB,485702,486276,487B6B,488EEF,48AD08,48D539,48DB50,48DC2D,48F8DB,48FD8E,4C1FCC,4C5499,4C8BEF,4CAE13,4CB16C,4CD0CB,4CD1A1,4CF55B,4CF95D,4CFB45,50016B,5001D9,5004B8,501D93,50464A,505DAC,50680A,506F77,509F27,50A72B,541310,5425EA,5434EF,5439DF,54511B,548998,549209,54A51B,54B121,54BAD6,581F28,582575,582AF7,58605F,587F66,58BAD4,58D061,58D759,58F987,5C0339,5C0979,5C4CA9,5C546D,5C647A,5C7D5E,5C9157,5CA86A,5CB395,5CB43E,5CC307,5CE883,5CF96A,600810,60123C,602E20,607ECD,608334,60D755,60DE44,60DEF3,60E701,60F18A,60FA9D,6416F0,642CAC,643E8C,645E10,646D6C,64A651,684AAE,6889C1,688F84,68A03E,68A0F6,68A828,68CC6E,68E209,6C1632,6C442A,6CB749,6CEBB6,70192F,702F35,7054F5,70723C,707990,707BE8,708A09,708CB6,70A8E3,70C7F2,70D313,70FD45,745909,745AAA,7460FA,74882A,749D8F,74A063,74A528,74C14F,74D21D,7817BE,781DBA,785773,785860,786256,786A89,78B46A,78D752,78F557,78F5FD,7C11CB,7C1CF1,7C6097,7C7668,7C7D3D,7C942A,7CA177,7CA23E,7CB15D,7CC385,7CD9A0,801382,8038BC,804126,806933,80717A,807D14,80B575,80B686,80D09B,80D4A5,80E1BF,80FB06,8421F1,843E92,8446FE,844765,845B12,847637,849FB5,84A8E4,84A9C4,84AD58,84BE52,84DBAC,88108F,881196,8828B3,883FD3,884033,88403B,884477,8853D4,886639,888603,88A2D7,88BCC1,88BFE4,88CEFA,88CF98,88E3AB,88F56E,88F872,8C0D76,8C15C7,8C2505,8C34FD,8C426D,8C683A,8C6D77,8CE5EF,8CEBC6,8CFD18,900325,9016BA,90173F,9017AC,9017C8,902BD2,903FEA,904E2B,90671C,909497,90A5AF,9400B0,94049C,940B19,940E6B,942533,94772B,94D00D,94DBDA,94E7EA,94FE22,9835ED,9844CE,989C57,98E7F5,9C1D36,9C28EF,9C37F4,9C52F8,9C69D1,9C713A,9C741A,9C7DA3,9CB2B2,9CC172,9CE374,A0086F,A01C8D,A057E3,A08CF8,A08D16,A0A33B,A0DF15,A0F479,A400E2,A416E7,A47174,A47CC9,A4933F,A49947,A49B4F,A4BA76,A4BDC4,A4BE2B,A4C64F,A4CAA0,A4DCBE,A80C63,A82BCD,A8494D,A87D12,A8C83A,A8CA7B,A8E544,A8F5AC,AC075F,AC4E91,AC6089,AC6175,AC751D,AC853D,AC8D34,AC9232,ACB3B5,ACCF85,ACE215,ACE342,ACE87B,ACF970,B00875,B05508,B05B67,B0761B,B08900,B0E17E,B0E5ED,B0EB57,B40931,B41513,B43052,B44326,B46E08,B48655,B4B055,B4CD27,B4F58E,B4FBF9,B808D7,B89436,B8BC1B,B8C385,B8E3B1,BC25E0,BC3D85,BC3F8F,BC620E,BC7574,BC7670,BC76C5,BC9C31,BCB0E7,BCE265,C07009,C0BC9A,C0BFC0,C0F4E6,C0F6C2,C0FFA8,C40528,C40683,C4072F,C40D96,C4447D,C4473F,C467D1,C486E9,C49F4C,C4A402,C4B8B4,C4F081,C4FF1F,C80CC8,C81451,C81FBE,C850CE,C85195,C88D83,C894BB,C8A776,C8C2FA,C8C465,C8D15E,C8E600,CC0577,CC53B5,CC64A6,CC96A0,CCA223,CCB182,CCBBFE,CCCC81,CCD73C,D016B4,D02DB3,D03E5C,D065CA,D06F82,D07AB5,D0C65B,D0D04B,D0D783,D0EFC1,D0FF98,D440F0,D44649,D4612E,D462EA,D46AA8,D46BA6,D46E5C,D494E8,D4A148,D4B110,D4D51B,D4F9A1,D82918,D8490B,D89B3B,D8C771,DC094C,DC16B2,DC21E2,DC729B,DC9088,DC9914,DCC64B,DCD2FC,DCD916,DCEE06,DCEF80,E00084,E0191D,E0247F,E02481,E02861,E03676,E09796,E0A3AC,E0CC7A,E40EEE,E419C1,E43493,E435C8,E43EC6,E468A3,E472E2,E47E66,E48326,E4A7C5,E4A8B6,E4C2D1,E4D373,E4FB5D,E4FDA1,E8088B,E8136E,E84DD0,E86819,E884C6,E8ABF3,E8BDD1,E8CD2D,EC233D,EC388F,EC4D47,EC5623,EC753E,EC8914,EC8C9A,ECC01B,ECCB30,F00FEC,F02FA7,F033E5,F03F95,F04347,F063F9,F09838,F09BB8,F0C850,F0E4A2,F41D6B,F44C7F,F4559C,F4631F,F47960,F48E92,F49FF3,F4A4D6,F4B78D,F4BF80,F4C714,F4CB52,F4DCF9,F4DEAF,F4E3FB,F4E5F2,F80113,F823B2,F82E3F,F83DFF,F84ABF,F86EEE,F87588,F898B9,F898EF,F89A78,F8BF09,F8C39E,F8E811,FC1BD1,FC3F7C,FC48EF,FC73FB,FC8743,FC9435,FCAB90,FCBCD1,FCE33C o="HUAWEI TECHNOLOGIES CO.,LTD"
001883 o="FORMOSA21 INC."
001884,C47130 o="Fon Technology S.L."
001885,001F92 o="Avigilon Corporation"
@@ -5774,7 +5774,7 @@
00192B o="Aclara RF Systems Inc."
00192E o="Spectral Instruments, Inc."
001931 o="Balluff GmbH"
-001932 o="Gude Analog- und Digialsysteme GmbH"
+001932 o="Gude Systems GmbH"
001933 o="Strix Systems, Inc."
001934 o="TRENDON TOUCH TECHNOLOGY CORP."
001935 o="DUERR DENTAL AG"
@@ -5832,7 +5832,6 @@
001974 o="16063"
001975 o="Beijing Huisen networks technology Inc"
001976 o="Xipher Technologies, LLC"
-001977,08EA44,206C8A,348584,4018B1,5859C2,787D53,7C95B1,885BDD,90B832,9C5D12,B87CF2,BCF310,C413E2,C8665D,C8675E,D854A2,E01C41,F09CE9,F4EAB5 o="Aerohive Networks Inc."
001978 o="Datum Systems, Inc."
00197A o="MAZeT GmbH"
00197B o="Picotest Corp."
@@ -5865,7 +5864,7 @@
00199A o="EDO-EVI"
00199B o="Diversified Technical Systems, Inc."
00199C o="CTRING"
-00199D,006B9E,2C641F,3C9BD6,A06A44,A48D3B,C41CFF,CC95D7 o="Vizio, Inc"
+00199D,006B9E,0C8B7D,2C641F,3C9BD6,A06A44,A48D3B,C41CFF,CC95D7 o="Vizio, Inc"
00199E o="Nifty"
00199F o="DKT A/S"
0019A0 o="NIHON DATA SYSTENS, INC."
@@ -5936,7 +5935,7 @@
0019F8 o="Embedded Systems Design, Inc."
0019F9 o="TDK-Lambda"
0019FA o="Cable Vision Electronics CO., LTD."
-0019FB,04819B,0CF9C0,2047ED,24A7DC,38A6CE,3C8994,7050AF,783E53,7C4CA5,807215,80751F,900218,902106,9C31C3,A0BDCD,B03E51,C03E0F,D058FC,D452EE,D4DACD o="BSkyB Ltd"
+0019FB,04819B,0CF9C0,2047ED,24A7DC,38A6CE,3C8994,507043,7050AF,783E53,7C4CA5,807215,80751F,900218,902106,9C31C3,A0BDCD,B03E51,C03E0F,C0A36E,D058FC,D452EE,D4DACD o="BSkyB Ltd"
0019FC o="PT. Ufoakses Sukses Luarbiasa"
0019FE o="SHENZHEN SEECOMM TECHNOLOGY CO.,LTD."
0019FF o="Finnzymes"
@@ -5957,7 +5956,7 @@
001A0E o="Cheng Uei Precision Industry Co.,Ltd"
001A0F o="Sistemas Avanzados de Control, S.A."
001A10 o="LUCENT TRANS ELECTRONICS CO.,LTD"
-001A11,00F620,089E08,1CF29A,20DFB9,240588,28BD89,30FD38,388B59,3C286D,3C5AB4,3C8D20,44070B,48D6D5,546009,58CB52,703ACB,7C2EBD,7CD95C,883D24,88541F,900CC8,9495A0,94EB2C,98D293,A47733,B02A43,B0E4D5,CCA7C1,CCF411,D4F547,D86C63,E4F042,F05C77,F072EA,F0EF86,F40304,F4F5D8,F4F5E8,F80FF9,F88FCA o="Google, Inc."
+001A11,00F620,089E08,14C14E,1CF29A,20DFB9,240588,28BD89,30FD38,388B59,3C286D,3C5AB4,3C8D20,44070B,44BB3B,48D6D5,546009,58CB52,60B76E,703ACB,7C2EBD,7CD95C,883D24,88541F,900CC8,9495A0,94EB2C,98D293,A47733,B02A43,B0E4D5,CCA7C1,CCF411,D4F547,D86C63,D88C79,E4F042,F05C77,F072EA,F0EF86,F40304,F4F5D8,F4F5E8,F80FF9,F88FCA o="Google, Inc."
001A12 o="Essilor"
001A13 o="Wanlida Group Co., LTD"
001A14 o="Xin Hua Control Engineering Co.,Ltd."
@@ -5978,7 +5977,7 @@
001A26 o="Deltanode Solutions AB"
001A27 o="Ubistar"
001A28 o="ASWT Co., LTD. Taiwan Branch H.K."
-001A29,90B97D o="Johnson Outdoors Marine Electronics d/b/a Minnkota"
+001A29,90B97D,C87125 o="Johnson Outdoors Marine Electronics d/b/a Minnkota"
001A2B o="Ayecom Technology Co., Ltd."
001A2C o="SATEC Co.,LTD"
001A2D o="The Navvo Group"
@@ -5997,7 +5996,7 @@
001A3C o="Technowave Ltd."
001A3D o="Ajin Vision Co.,Ltd"
001A3E o="Faster Technology LLC"
-001A3F,180D2C,58108C o="Intelbras"
+001A3F,180D2C,24FD0D,58108C,D8778B o="Intelbras"
001A40 o="A-FOUR TECH CO., LTD."
001A41 o="INOCOVA Co.,Ltd"
001A42 o="Techcity Technology co., Ltd."
@@ -6082,7 +6081,7 @@
001AA6 o="Telefunken Radio Communication Systems GmbH &CO.KG"
001AA7 o="Torian Wireless"
001AA8 o="Mamiya Digital Imaging Co., Ltd."
-001AA9,20934D,2875D8,54F6C5,5CCBCA,C40938 o="FUJIAN STAR-NET COMMUNICATION CO.,LTD"
+001AA9,20934D,2875D8,345594,54F6C5,5CCBCA,C40938 o="FUJIAN STAR-NET COMMUNICATION CO.,LTD"
001AAA o="Analogic Corp."
001AAB o="eWings s.r.l."
001AAC o="Corelatus AB"
@@ -6177,7 +6176,7 @@
001B14 o="Carex Lighting Equipment Factory"
001B15 o="Voxtel, Inc."
001B16 o="Celtro Ltd."
-001B17,00869C,08306B,08661F,240B0A,34E5EC,58493B,786D94,7C89C1,84D412,B40C25,C42456,D41D71,D49CF4,D4F4BE,E4A749,E8986D,EC6881 o="Palo Alto Networks"
+001B17,00869C,080342,08306B,08661F,240B0A,34E5EC,58493B,786D94,7C89C1,84D412,B40C25,C42456,D41D71,D49CF4,D4F4BE,E4A749,E8986D,EC6881 o="Palo Alto Networks"
001B18 o="Tsuken Electric Ind. Co.,Ltd"
001B19 o="IEEE I&M Society TC9"
001B1A o="e-trees Japan, Inc."
@@ -6267,7 +6266,7 @@
001B82 o="Taiwan Semiconductor Co., Ltd."
001B83 o="Finsoft Ltd"
001B84 o="Scan Engineering Telecom"
-001B85 o="MAN Diesel SE"
+001B85 o="MAN Energy Solutions"
001B87 o="Deepsound Tech. Co., Ltd"
001B88 o="Divinet Access Technologies Ltd"
001B89 o="EMZA Visual Sense Ltd."
@@ -6449,7 +6448,7 @@
001C5F o="Winland Electronics, Inc."
001C60 o="CSP Frontier Technologies,Inc."
001C61 o="Galaxy Microsystems LImited"
-001C62,001E75,001F6B,001FE3,0021FB,0022A9,002483,0025E5,0026E2,0034DA,003DE8,0057C1,00AA70,041B6D,08D46A,0C4885,10683F,10F1F2,10F96F,2021A5,2C54CF,2C598A,30766F,344DF7,34FCEF,3830F9,40B0FA,485929,48605F,505527,583F54,58A2B5,5C70A3,5CAF06,60E3AC,64899A,64BC0C,64C2DE,6CD68A,700514,74A722,78F882,7CF31B,805A04,88074B,88365F,88C9D0,8C3AE3,98B8BA,98D6F7,A039F7,A04F85,A09169,A816B2,A8922C,A8B86E,AC0D1B,ACF6F7,B4F1DA,B4F7A1,B81DAA,BCF5AC,C4438F,C49A02,C8F319,CCFA00,D013FD,DC0B34,E892A4,F01C13,F80CF3,F895C7,F8A9D0 o="LG Electronics (Mobile Communications)"
+001C62,001E75,001F6B,001FE3,0021FB,0022A9,002483,0025E5,0026E2,0034DA,003DE8,0057C1,00AA70,041B6D,08D46A,0C4885,10683F,10F1F2,10F96F,2021A5,2C54CF,2C598A,30766F,30FCEB,344DF7,34FCEF,3830F9,40B0FA,485929,48605F,48902F,505527,583F54,58A2B5,5C70A3,5CAF06,60E3AC,64899A,64BC0C,64C2DE,6CD68A,700514,74A722,78F882,7CF31B,805A04,88074B,88365F,88C9D0,8C3AE3,98B8BA,98D6F7,A039F7,A04F85,A09169,A816B2,A8922C,A8B86E,AC0D1B,ACF6F7,B4F1DA,B4F7A1,B81DAA,BCF5AC,C4438F,C49A02,C8F319,CCFA00,D013FD,DC0B34,E892A4,F01C13,F80CF3,F895C7,F8A9D0 o="LG Electronics (Mobile Communications)"
001C63 o="TRUEN"
001C64 o="Landis+Gyr"
001C65 o="JoeScan, Inc."
@@ -6466,7 +6465,7 @@
001C70 o="NOVACOMM LTDA"
001C71 o="Emergent Electronics"
001C72 o="Mayer & Cie GmbH & Co KG"
-001C73,28993A,444CA8,7483EF,985D82,C0D682,FCBD67 o="Arista Networks"
+001C73,28993A,444CA8,7483EF,985D82,C0D682,D4AFF7,FCBD67 o="Arista Networks"
001C74 o="Syswan Technologies Inc."
001C75 o="Segnet Ltd."
001C76 o="The Wandsworth Group Ltd"
@@ -6474,7 +6473,7 @@
001C78 o="WYPLAY SAS"
001C79 o="Cohesive Financial Technologies LLC"
001C7A o="Perfectone Netware Company Ltd"
-001C7B,FC4AE9 o="Castlenet Technology Inc."
+001C7B,003054,FC4AE9 o="Castlenet Technology Inc."
001C7C,021C7C o="PERQ SYSTEMS CORPORATION"
001C7D o="Excelpoint Manufacturing Pte Ltd"
001C80 o="New Business Division/Rhea-Information CO., LTD."
@@ -6493,7 +6492,7 @@
001C8D o="Mesa Imaging"
001C8F o="Advanced Electronic Design, Inc."
001C90 o="Empacket Corporation"
-001C91 o="Gefen Inc."
+001C91 o="Gefen LLC"
001C92 o="Tervela"
001C93 o="ExaDigm Inc"
001C94 o="LI-COR Biosciences"
@@ -6546,7 +6545,7 @@
001CD2 o="King Champion (Hong Kong) Limited"
001CD3 o="ZP Engineering SEL"
001CD5 o="ZeeVee, Inc."
-001CD7,9CDF03,A056B2 o="Harman/Becker Automotive Systems GmbH"
+001CD7,2856C1,9CDF03,A056B2,F8E877 o="Harman/Becker Automotive Systems GmbH"
001CD8 o="BlueAnt Wireless"
001CD9 o="GlobalTop Technology Inc."
001CDA o="Exegin Technologies Limited"
@@ -6575,7 +6574,7 @@
001CF7 o="AudioScience"
001CF8 o="Parade Technologies, Ltd."
001CFA,B83A9D o="Alarm.com"
-001CFD,00CC3F,1C549E,48D0CF,7091F3,8C3A7E,9CAC6D,ACEB51,E80FC8,F0B31E o="Universal Electronics, Inc."
+001CFD,00CC3F,1C549E,209E79,40B31E,48D0CF,5061F6,6888A1,7091F3,8C3A7E,9CAC6D,ACEB51,B8E3EE,E80FC8,F0B31E o="Universal Electronics, Inc."
001CFE o="Quartics Inc"
001CFF o="Napera Networks Inc"
001D00 o="Brivo Systems, LLC"
@@ -6583,6 +6582,7 @@
001D02 o="Cybertech Telecom Development"
001D03 o="Design Solutions Inc."
001D04 o="Zipit Wireless, Inc."
+001D05 o="Cooper Lighting Solutions"
001D06 o="HM Electronics, Inc."
001D07 o="Shenzhen Sang Fei Consumer Communications Co.,Ltd"
001D08,CCD3E2 o="Jiangsu Yinhe Electronics Co.,Ltd."
@@ -6749,7 +6749,7 @@
001DDC o="HangZhou DeChangLong Tech&Info Co.,Ltd"
001DDD o="DAT H.K. LIMITED"
001DDE o="Zhejiang Broadcast&Television Technology Co.,Ltd."
-001DDF,004279,0CA694,98523D,B8D50B,F8DF15,FCA89A o="Sunitec Enterprise Co.,Ltd"
+001DDF,004279,042144,0CA694,98523D,B8D50B,F8DF15,FCA89A o="Sunitec Enterprise Co.,Ltd"
001DE2 o="Radionor Communications"
001DE3 o="Intuicom"
001DE4 o="Visioneered Image Systems"
@@ -6817,7 +6817,7 @@
001E2E o="SIRTI S.p.A."
001E2F o="DiMoto Pty Ltd"
001E30 o="Shireen Inc"
-001E31 o="INFOMARK CO.,LTD."
+001E31,5865E6,884067 o="infomark"
001E32 o="Zensys"
001E33,00266C,008CFA,00A0D1,3868DD,7CD30A o="INVENTEC CORPORATION"
001E34 o="CryptoMetrics"
@@ -6909,7 +6909,6 @@
001EAF o="Ophir Optronics Ltd"
001EB0 o="ImesD Electronica S.L."
001EB1 o="Cryptsoft Pty Ltd"
-001EB2 o="LG innotek"
001EB3,4CBC72 o="Primex Wireless"
001EB4 o="UNIFAT TECHNOLOGY LTD."
001EB5 o="Ever Sparkle Technologies Ltd"
@@ -6946,7 +6945,7 @@
001EDD o="WASKO S.A."
001EDE o="BYD COMPANY LIMITED"
001EDF o="Master Industrialization Center Kista"
-001EE0 o="Urmet Domus SpA"
+001EE0 o="Urmet SpA"
001EE3 o="T&W Electronics (ShenZhen) Co.,Ltd"
001EE4 o="ACS Solutions France"
001EE6 o="Shenzhen Advanced Video Info-Tech Co., Ltd."
@@ -7182,7 +7181,7 @@
002008 o="CABLE & COMPUTER TECHNOLOGY"
002009 o="PACKARD BELL ELEC., INC."
00200A o="SOURCE-COMM CORP."
-00200B o="OCTAGON SYSTEMS CORP."
+00200B,FC956A o="OCTAGON SYSTEMS CORP."
00200C o="ADASTRA SYSTEMS CORP."
00200D o="CARL ZEISS"
00200E o="NSSLGlobal Technologies AS"
@@ -7326,7 +7325,7 @@
0020A2 o="GALCOM NETWORKING LTD."
0020A4 o="MULTIPOINT NETWORKS"
0020A5 o="API ENGINEERING"
-0020A6 o="Proxim Wireless"
+0020A6,04F5F4 o="Proxim Wireless"
0020A7 o="PAIRGAIN TECHNOLOGIES, INC."
0020A8 o="SAST TECHNOLOGY CORP."
0020A9 o="WHITE HORSE INDUSTRIAL"
@@ -7682,7 +7681,7 @@
00225C o="Multimedia & Communication Technology"
00225D o="Digicable Network India Pvt. Ltd."
00225E o="Uwin Technologies Co.,LTD"
-00225F,00F48D,1063C8,18CF5E,1C659D,2016D8,20689D,24FD52,28E347,2CD05A,3010B3,3052CB,30D16B,3C9180,3C9509,3CA067,40F02F,446D57,48D224,505BC2,548CA0,5800E3,5C93A2,646E69,68A3C4,701A04,70C94E,70F1A1,74DE2B,74DFBF,74E543,803049,94E979,9822EF,9CB70D,A4DB30,ACB57D,ACE010,B00594,B88687,B8EE65,C8FF28,CCB0DA,D05349,D0DF9A,E4AAEA,E82A44,E8617E,E8C74F,E8D0FC,F82819,F8A2D6 o="Liteon Technology Corporation"
+00225F,00F48D,1063C8,18CF5E,1C659D,2016D8,20689D,24FD52,28E347,2CD05A,3010B3,3052CB,30D16B,3C9180,3C9509,3CA067,40F02F,446D57,48D224,505BC2,548CA0,5800E3,5C93A2,646E69,68A3C4,701A04,70C94E,70F1A1,74DE2B,74DFBF,74E543,803049,940853,94E979,9822EF,9CB70D,A4DB30,ACB57D,ACE010,B00594,B88687,B8EE65,C8FF28,CCB0DA,D05349,D0DF9A,D8F3BC,E4AAEA,E82A44,E8617E,E8C74F,E8D0FC,F82819,F8A2D6 o="Liteon Technology Corporation"
002260 o="AFREEY Inc."
002261,305890 o="Frontier Silicon Ltd"
002262 o="BEP Marine"
@@ -7906,7 +7905,7 @@
002386 o="Tour & Andersson AB"
002387 o="ThinkFlood, Inc."
002388 o="V.T. Telematica S.p.a."
-00238A,144E2A,1892A4,1C1161,208058,2C39C1,54C33E,7487BB,9C7A03,C4836F,D0196A,ECB0E1 o="Ciena Corporation"
+00238A,144E2A,1892A4,1C1161,208058,2C39C1,54C33E,7487BB,78D71A,94434D,9C7A03,C4836F,D0196A,ECB0E1 o="Ciena Corporation"
00238D o="Techno Design Co., Ltd."
00238F o="NIDEC COPAL CORPORATION"
002390 o="Algolware Corporation"
@@ -7926,7 +7925,7 @@
0023A4 o="New Concepts Development Corp."
0023A5 o="SageTV, LLC"
0023A6 o="E-Mon"
-0023A7,88DA1A o="Redpine Signals, Inc."
+0023A7,80C955,88DA1A o="Redpine Signals, Inc."
0023A8 o="Marshall Electronics"
0023A9 o="Beijing Detianquan Electromechanical Equipment Co., Ltd"
0023AA,0409A5 o="HFR, Inc."
@@ -8573,7 +8572,7 @@
0026FE o="MKD Technology Inc."
002700 o="Shenzhen Siglent Technology Co., Ltd."
002701 o="INCOstartec GmbH"
-002702 o="SolarEdge Technologies"
+002702,84D6C5 o="SolarEdge Technologies"
002703 o="Testech Electronics Pte Ltd"
002704 o="Accelerated Concepts, Inc"
002705 o="Sectronic"
@@ -8601,8 +8600,9 @@
00289F o="Semptian Co., Ltd."
002926 o="Applied Optoelectronics, Inc Taiwan Branch"
002AAF o="LARsys-Automation GmbH"
+002B67,507B9D,5405DB,54E1AD,68F728,8C1645,98FA9B,C85B76,E86A64,F875A4 o="LCFC(HeFei) Electronics Technology co., ltd"
002D76 o="TITECH GmbH"
-002FD9,006762,00BE9E,04C1B9,04ECBB,0C2A86,0C35FE,0C6ABC,0C8447,105887,1077B0,1088CE,10DC4A,142233,14E9B2,185282,18A3E8,18D225,1C398A,1C60D2,1CDE57,20896F,24CACB,28BF89,341A35,344B3D,34BF90,38144E,3CFB5C,444B7E,48555F,48A0F8,48F97C,50C6AD,543E64,54DF24,583BD9,5CE3B6,60B617,68FEDA,6C3845,6C9E7C,6CA858,70B921,7412BB,741E93,74C9A3,74CC39,74E19A,74EC42,803AF4,809FAB,80C7C5,88947E,8C5FAD,9055DE,94D505,9C88AD,9CFEA1,A013CB,A41908,A8E705,ACC25D,B0E2E5,B8C716,BC9889,BCC00F,C03656,C464B7,C4F0EC,C84029,C8F6C8,CC0677,CC500A,D00492,D041C9,D05995,D092FA,D45800,D467E7,D4AD2D,D4F786,D4FC13,E02AE6,E42F26,E8018D,E85AD1,E8910F,E8C417,E8D099,EC8AC7,F0407B,F08CFB,F4573E,F84D33,F8AFDB,F8C96C,FC61E9,FCA6CD,FCF647 o="Fiberhome Telecommunication Technologies Co.,LTD"
+002FD9,006762,00BE9E,04A2F3,04C1B9,04ECBB,0C2A86,0C35FE,0C6ABC,0C8447,105887,1077B0,1088CE,10DC4A,142233,14E9B2,185282,18A3E8,18D225,1C398A,1C60D2,1CDE57,20896F,24CACB,28BF89,341A35,344B3D,34BF90,38144E,387A3C,3CFB5C,444B7E,48555F,48A0F8,48F97C,50C6AD,543E64,54DF24,583BD9,5CE3B6,60B617,68FEDA,6C09BF,6C3845,6C9E7C,6CA4D1,6CA858,70B921,7412BB,741E93,74C9A3,74CC39,74E19A,74EC42,7CC77E,7CF9A0,803AF4,809FAB,80C7C5,88947E,8C5FAD,9055DE,94D505,9C88AD,9CFEA1,A013CB,A0D83D,A41908,A8E705,ACC25D,B0E2E5,B8C716,BC9889,BCC00F,C03656,C464B7,C4F0EC,C84029,C8F6C8,CC0677,CC500A,D00492,D041C9,D05995,D092FA,D45800,D467E7,D4AD2D,D4F786,D4FC13,D89ED4,E02AE6,E42F26,E8018D,E85AD1,E8910F,E8C417,E8D099,EC8AC7,F0407B,F08CFB,F4573E,F46FED,F84D33,F8AFDB,F8C96C,FC61E9,FCA6CD,FCF647 o="Fiberhome Telecommunication Technologies Co.,LTD"
003000 o="ALLWELL TECHNOLOGY CORP."
003001 o="SMP"
003002 o="Expand Networks"
@@ -8679,7 +8679,6 @@
003051 o="ORBIT AVIONIC & COMMUNICATION"
003052 o="ELASTIC NETWORKS"
003053 o="Basler AG"
-003054 o="CASTLENET TECHNOLOGY, INC."
003055 o="Renesas Technology America, Inc."
003057 o="QTelNet, Inc."
003058 o="API MOTION"
@@ -9092,7 +9091,7 @@
004252 o="RLX Technologies"
0043FF o="KETRON S.R.L."
004501 o="Midmark RTLS"
-004BF3,386B1C,44F971,503AA0,508965,640DCE,BC54FC,C0A5DD,E4F3F5 o="SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD."
+004BF3,386B1C,44F971,503AA0,508965,640DCE,90769F,BC54FC,C0A5DD,E4F3F5 o="SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD."
004D32 o="Andon Health Co.,Ltd."
005000 o="NEXO COMMUNICATIONS, INC."
005001 o="YAMASHITA SYSTEMS CORP."
@@ -9285,6 +9284,7 @@
0050ED o="ANDA NETWORKS"
0050EE o="TEK DIGITEL CORPORATION"
0050EF o="SPE Systemhaus GmbH"
+0050F1,AC9A96,F04CD5 o="Maxlinear, Inc"
0050F2 o="MICROSOFT CORP."
0050F3 o="GLOBAL NET INFORMATION CO., Ltd."
0050F4 o="SIGMATEK GMBH & CO. KG"
@@ -9297,7 +9297,6 @@
0050FD o="VISIONCOMM CO., LTD."
0050FE o="PCTVnet ASA"
0050FF o="HAKKO ELECTRONICS CO., LTD."
-0051ED,044EAF,203DBD,2C2BF9,30A9DE,44CB8B,60AB14,7440BE,7C1C4E,944444,A06FAA,B4E62A,C4366C,C80210,CC8826,E8F2E2 o="LG Innotek"
005218 o="Wuxi Keboda Electron Co.Ltd"
0054BD o="Swelaser AB"
00583F o="PC Aquarius"
@@ -9308,7 +9307,7 @@
005BA1 o="shanghai huayuan chuangxin software CO., LTD."
005CB1 o="Gospell DIGITAL TECHNOLOGY CO., LTD"
005D03 o="Xilinx, Inc"
-005E0C,04F128,203956,4C6AF6,60D89C,6CA928,6CC4D5,748A28,88517A,90A365,94EE9F,A028ED,A83E0E,AC5775,BC024A,C010B1,F8ADCB o="HMD Global Oy"
+005E0C,04F128,203956,44917C,4C6AF6,60D89C,6CA928,6CC4D5,748A28,88517A,90A365,94EE9F,A028ED,A83E0E,AC5775,BC024A,C010B1,CC9ECA,F8ADCB o="HMD Global Oy"
006000 o="XYCOM INC."
006001 o="InnoSys, Inc."
006002 o="SCREEN SUBTITLING SYSTEMS, LTD"
@@ -9395,7 +9394,7 @@
006061 o="WHISTLE COMMUNICATIONS CORP."
006062 o="TELESYNC, INC."
006063 o="PSION DACOM PLC."
-006065 o="BERNECKER & RAINER INDUSTRIE-ELEKTRONIC GmbH"
+006065 o="B&R Industrial Automation GmbH"
006066 o="LACROIX Trafic"
006067 o="ACER NETXUS INC."
006068 o="Dialogic Corporation"
@@ -9533,9 +9532,10 @@
0060FD o="NetICs, Inc."
0060FE o="LYNX SYSTEM DEVELOPERS, INC."
0060FF o="QuVis, Inc."
+0063DE o="CLOUDWALK TECHNOLOGY CO.,LTD"
0064A6 o="Maquet CardioVascular"
-006619,00ADD5,00BB1C,048C9A,04D3B5,04F169,08F458,0C839A,0CE4A0,10327E,10E953,147740,14A32F,18703B,189E2C,18D98F,1C1386,246F8C,283334,2864B0,2C780E,2CC546,30A2C2,30AAE4,3446EC,347146,347E00,34B20A,4455C4,44C7FC,484C86,4C5077,5021EC,540DF9,54F294,5C78F8,6C06D6,740AE1,7422BB,7885F4,78C5F8,8C5AC1,94E4BA,94E9EE,980D51,A04147,A0D807,A4B61E,A85AE0,A8C252,ACBD70,B0735D,B0CCFE,B4A898,B4F18C,B827C5,BC1AE4,BC2EF6,C0B47D,C0B5CD,D005E4,D88ADC,D89E61,E04007,E0E0FC,E0F442,E83F67,EC3CBB,F0C42F,F4A59D o="Huawei Device Co., Ltd."
-0068EB,040E3C,3822E2,E8D8D1 o="HP Inc."
+006619,0094EC,00ADD5,00BB1C,048C9A,04C1D8,04D3B5,04F169,0831A4,08F458,0C839A,0CE4A0,10327E,105DDC,10E953,145120,147740,14A32F,14DE39,183CB7,18703B,189E2C,18AA0F,18D98F,1C1386,1C1FF1,241AE6,245F9F,246F8C,2481C7,24E9CA,283334,2848E7,285471,2864B0,2C780E,2CA042,2CC546,3066D0,308AF7,309610,30A2C2,30A998,30AAE4,3446EC,347146,347E00,34B20A,3CB233,400634,40B6E7,40DCA5,4455C4,44C7FC,4805E2,484C86,4C5077,5021EC,502873,50F7ED,50F958,540DF9,5455D5,5471DD,54D9C6,54F294,58F2FC,5C78F8,5CD89E,60AAEF,642315,64B0E8,681324,6C06D6,740AE1,7422BB,74452D,7804E3,7885F4,78C5F8,80CC12,80CFA2,8836CF,8C5AC1,8C5EBD,909838,90F644,9408C7,9437F7,94E4BA,94E9EE,980D51,982FF8,98B3EF,A04147,A0D807,A0DE0F,A43B0E,A446B4,A4AC0F,A4B61E,A4C54E,A4C74B,A83512,A83759,A85AE0,A8C092,A8C252,A8E978,ACBD70,B04502,B0735D,B0CCFE,B0FEE5,B4A898,B4F18C,B827C5,B88E82,BC1AE4,BC2EF6,BC7F7B,C083C9,C0B47D,C0B5CD,C0D193,C41688,C42B44,C4D738,C868DE,C8BC9C,C8CA63,CCB0A8,CCFF90,D005E4,D00DF7,D0B45D,D0F3F5,D4BBE6,D88ADC,D89E61,D8A491,D8EF42,DC333D,DC7385,DCD444,E04007,E0D462,E0E0FC,E0F442,E4268B,E83F67,EC3CBB,F05501,F0C42F,F0FAC7,F487C5,F4A59D,F82F65,F8AF05,FC862A o="Huawei Device Co., Ltd."
+0068EB,040E3C,3822E2,842AFD,B05CDA,BCE92F,E8D8D1,F80DAC o="HP Inc."
00692D,08A5C8,54C57A,60313B,60D21C,886B44 o="Sunnovo International Limited"
006B8E,8CAB8E,D842AC,F0EBD0 o="Shanghai Feixun Communication Co.,Ltd."
006BA0 o="SHENZHEN UNIVERSAL INTELLISYS PTE LTD"
@@ -9544,21 +9544,21 @@
006FF2,00A096,78617C,BC825D,C449BB,F0AB54 o="MITSUMI ELECTRIC CO.,LTD."
0070B0,0270B0 o="M/A-COM INC. COMPANIES"
0070B3,0270B3 o="DATA RECALL LTD."
-007147,00BB3A,00FC8B,0812A5,08849D,08A6BC,0C47C9,0CEE99,140AC5,149138,18742E,1C12B0,1C4D66,244CE3,34D270,38F73D,3C5CC4,40A2DB,40B4CD,440049,44650D,4C1744,4CEFC0,50DCE7,50F5DA,6837E9,6854FD,689A87,68DBF5,6C5697,747548,74C246,74D637,78E103,7C6166,7CD566,84D6D0,8871E5,A002DC,A40801,AC63BE,B0FC0D,B47C9C,C49500,CC9EA2,CCF735,DC54D7,F0272D,F08173,F0D2F1,F0F0A4,F4032A,F854B8,FC492D,FC65DE,FCA183,FCA667 o="Amazon Technologies Inc."
+007147,00BB3A,00FC8B,0812A5,08849D,08A6BC,0C47C9,0CEE99,140AC5,149138,18742E,1C12B0,1C4D66,1CFE2B,20A171,244CE3,34D270,38F73D,3C5CC4,40A2DB,40B4CD,440049,44650D,4843DD,4C1744,4CEFC0,50DCE7,50F5DA,6837E9,6854FD,689A87,68DBF5,6C5697,7458F3,747548,74A7EA,74C246,74D637,78E103,7C6166,7CD566,84D6D0,8871E5,A002DC,A0D0DC,A40801,AC63BE,B0FC0D,B47C9C,B85F98,C49500,CC9EA2,CCF735,DC54D7,DC91BF,F0272D,F08173,F0D2F1,F0F0A4,F4032A,F854B8,FC492D,FC65DE,FCA183,FCA667 o="Amazon Technologies Inc."
0071C2,0C54A5,100501,202564,386077,48210B,4C72B9,54B203,54BEF7,600292,7054D2,7071BC,74852A,78F29E,7C0507,84002D,88AD43,8C0F6F,C07CD1,D45DDF,D897BA,DCFE07,E06995,E840F2,ECAAA0 o="PEGATRON CORPORATION"
007204,08152F,448F17 o="Samsung Electronics Co., Ltd. ARTIK"
007263,048D38,E4BEED o="Netcore Technology Inc."
-00738D,0CEC84,44D3AD,806AB0,A04C5B,A0F895,B0A2E7,B43939,B4C0F5,BC4101,BC4434,BCD1D3,C0C976,D0B33F,D83C69 o="Shenzhen TINNO Mobile Technology Corp."
-00749C,14144B,300D9E,58696C,800588 o="Ruijie Networks Co.,LTD"
+00738D,0CEC84,18D61C,44D3AD,806AB0,A04C5B,A0F895,B0A2E7,B43939,B4C0F5,BC4101,BC4434,BCD1D3,C0C976,D0B33F,D83C69 o="Shenzhen TINNO Mobile Technology Corp."
+00749C,14144B,300D9E,58696C,800588,C0B8E6 o="Ruijie Networks Co.,LTD"
007532 o="INID BV"
0075E1 o="Ampt, LLC"
00763D o="Veea"
0076B1 o="Somfy-Protect By Myfox SAS"
-0077E4,00D0F6,04C241,0C54B9,0C7C28,1005E1,10E878,140F42,143E60,147BAC,1CEA1B,207852,20E09C,242124,30FE31,34AA99,38521A,405582,407C7D,48EC5B,48F7F1,48F8E1,4CC94F,504061,50A0A4,50E0EF,54FA96,5CE7A0,60A8FE,68AB09,6C0D34,6CF712,702526,78F9B4,7C41A2,84262B,846991,84DBFC,8C0C87,8C83DF,8C90D3,8CF773,903AA0,94B819,94E98C,98B039,A47B2C,A492CB,A4E31B,A824B8,AC8FF8,B0700D,B0754D,BC52B4,BC6B4D,BC8D0E,C014B8,C04121,C4084A,CC66B2,D4E33F,D8EFCD,DCB082,E48184,E89363,F81308,F85C4D,FC1CA1,FC2FAA o="Nokia"
+0077E4,00D0F6,04C241,089BB9,0C54B9,0C7C28,1005E1,10E878,140F42,143E60,147BAC,1CEA1B,207852,20E09C,20F44F,242124,30FE31,34AA99,38521A,405582,407C7D,48EC5B,48F7F1,48F8E1,4CC94F,504061,50A0A4,50E0EF,54FA96,5CE7A0,60A8FE,68AB09,6C0D34,6CF712,702526,78F9B4,7C41A2,84262B,846991,84DBFC,8C0C87,8C83DF,8C90D3,8CF773,903AA0,94B819,94E98C,98B039,A47B2C,A492CB,A4E31B,A824B8,AC8FF8,B0700D,B0754D,BC52B4,BC6B4D,BC8D0E,C014B8,C04121,C4084A,CC66B2,CC874A,D4E33F,D8EFCD,DCB082,E48184,E89363,F81308,F85C4D,FC1CA1,FC2FAA o="Nokia"
0078CD o="Ignition Design Labs"
007B18 o="SENTRY Co., LTD."
007DFA o="Volkswagen Group of America"
-007E56,44EFBF,94E0D6,A09DC1 o="China Dragon Technology Limited"
+007E56,40AA56,44EFBF,94E0D6,A09DC1 o="China Dragon Technology Limited"
008001 o="PERIPHONICS CORPORATION"
008002 o="SATELCOM (UK) LTD"
008003 o="HYTEC ELECTRONICS LTD."
@@ -9988,7 +9988,7 @@
0090CE o="avateramedical Mechatronics GmbH"
0090CF o="NORTEL"
0090D1 o="LEICHU ENTERPRISE CO., LTD."
-0090D2 o="ARTEL VIDEO SYSTEMS"
+0090D2 o="Artel Video Systems"
0090D3 o="GIESECKE & DEVRIENT GmbH"
0090D4 o="BindView Development Corp."
0090D5 o="EUPHONIX, INC."
@@ -10031,12 +10031,14 @@
0090FE o="ELECOM CO., LTD. (LANEED DIV.)"
0090FF o="TELLUS TECHNOLOGY INC."
0091FA o="Synapse Product Development"
+00927D o="Ficosa Internationa(Taicang) C0.,Ltd."
0092FA o="SHENZHEN WISKY TECHNOLOGY CO.,LTD"
009363 o="Uni-Link Technology Co., Ltd."
009569 o="LSD Science and Technology Co.,Ltd."
0097FF o="Heimann Sensor GmbH"
009D8E,029D8E o="CARDIAC RECORDERS, INC."
-009EC8,00EC0A,04B167,04C807,04D13A,04E598,082525,0C1DAF,0C9838,0CF346,102AB3,14F65A,1801F1,185936,18F0E4,1CCCD6,2034FB,2047DA,2082C0,20A60C,20F478,28167F,28E31F,3480B3,38A4ED,38E60A,482CA0,48FDA3,4C49E3,4C6371,508F4C,50A009,582059,584498,60AB67,640980,64B473,64CC2E,68DFDD,703A51,70BBE9,742344,7451BA,7802F8,7C035E,7C03AB,7C1DD9,7CD661,8035C1,80AD16,8CBEBE,9078B2,9487E0,98FAE3,9C28F7,9C2EA1,9C99A0,A086C6,A44519,A44BD5,A45046,A89CED,ACC1EE,ACF7F3,B0E235,B4C4FC,BC7FA4,C40BCB,C46AB7,C83DDC,D09C7A,D4970B,D832E3,D86375,D8CE3A,E01F88,E06267,E0CCF8,E0DCFF,E446DA,E85A8B,ECD09F,F0B429,F460E2,F48B32,F4F5DB,F8A45F,FC64BA o="Xiaomi Communications Co Ltd"
+009EC8,00EC0A,04B167,04C807,04D13A,04E598,082525,0C1DAF,0C9838,0CF346,102AB3,14F65A,1801F1,185936,188740,18F0E4,1CCCD6,2034FB,2047DA,2082C0,20A60C,20F478,28167F,28E31F,2CD066,341CF0,3480B3,38A4ED,38E60A,482CA0,48FDA3,4C49E3,4C6371,508F4C,50A009,582059,584498,60AB67,640980,64B473,64CC2E,64DDE9,68DFDD,703A51,70BBE9,742344,7451BA,7802F8,7C035E,7C03AB,7C1DD9,7C2ADB,7CD661,7CFD6B,8035C1,80AD16,8CBEBE,9078B2,941700,9487E0,98F621,98FAE3,9C28F7,9C2EA1,9C99A0,A086C6,A44519,A44BD5,A45046,A89CED,ACC1EE,ACF7F3,B0E235,B4C4FC,BC7FA4,C40BCB,C46AB7,C83DDC,D09C7A,D4970B,D832E3,D86375,D8CE3A,E01F88,E06267,E0CCF8,E0DCFF,E446DA,E85A8B,ECD09F,F0B429,F4308B,F460E2,F48B32,F4F5DB,F8A45F,FC1999,FC64BA o="Xiaomi Communications Co Ltd"
+009EEE,DC35F1 o="Positivo Tecnologia S.A."
00A000 o="CENTILLION NETWORKS, INC."
00A001 o="DRS Signal Solutions"
00A002 o="LEEDS & NORTHRUP AUSTRALIA PTY LTD"
@@ -10274,8 +10276,8 @@
00A509 o="WigWag Inc."
00A784 o="ITX security"
00AA3C o="OLIVETTI TELECOM SPA (OLTECO)"
-00AB48,1422DB,189088,3C5CF1,48DD0C,4C0143,605F8D,684A76,6CAEF6,74B6B6,80DA13,F8BBBF o="eero inc."
-00AD24,0CB6D2,1062EB,10BEF5,14D64D,180F76,1C5F2B,1C7EE5,1CAFF7,1CBDB9,28107B,283B82,3C1E04,409BCD,48EE0C,54B80A,58D56E,60634C,6C198F,6C7220,7062B8,74DADA,78321B,78542E,802689,84C9B2,908D78,9094E4,9CD643,A0AB1B,ACF1DF,B0C554,B8A386,BCF685,C0A0BB,C412F5,C4A81D,C4E90A,C8BE19,C8D3A3,CCB255,D8FEE3,E46F13,E8CC18,EC2280,ECADE0,F0B4D2,F48CEB,F8E903,FC7516 o="D-Link International"
+00AB48,1422DB,189088,30578E,3C5CF1,48DD0C,4C0143,5CA5BC,605F8D,684A76,6CAEF6,74B6B6,80DA13,F8BBBF,F8BC0E o="eero inc."
+00AD24,0CB6D2,1062EB,10BEF5,14D64D,180F76,1C5F2B,1C7EE5,1CAFF7,1CBDB9,28107B,283B82,340A33,3C1E04,409BCD,48EE0C,54B80A,58D56E,60634C,6C198F,6C7220,7062B8,74DADA,78321B,78542E,802689,84C9B2,908D78,9094E4,9CD643,A0AB1B,ACF1DF,B0C554,B8A386,BC0F9A,BCF685,C0A0BB,C412F5,C4A81D,C4E90A,C8BE19,C8D3A3,CCB255,D8FEE3,E46F13,E8CC18,EC2280,ECADE0,F0B4D2,F48CEB,F8E903,FC7516 o="D-Link International"
00AD63 o="Dedicated Micros Malta LTD"
00AECD o="Pensando Systems"
00B017 o="InfoGear Technology Corp."
@@ -10316,6 +10318,7 @@
00B78D o="Nanjing Shining Electric Automation Co., Ltd"
00B7A8 o="Heinzinger electronic GmbH"
00B810,1CC1BC,9C8275 o="Yichip Microelectronics (Hangzhou) Co.,Ltd"
+00B8B6,04D395,08AA55,08CC27,0CCB85,141AA3,1430C6,1C56FE,2446C8,24DA9B,304B07,34BB26,3880DF,40786A,408805,441C7F,4480EB,58D9C3,5C5188,601D91,60BEB5,68C44D,8058F8,806C1B,84100D,88797E,88B4A6,8CF112,9068C3,90735A,9CD917,A470D6,A89675,B07994,BC98DF,BCFFEB,C08C71,C8C750,CC0DF2,CC61E5,CCC3EA,D00401,D07714,D463C6,D4C94B,DCBFE9,E0757D,E09861,E4907E,E89120,EC8892,F0D7AA,F4F1E1,F4F524,F81F32,F8CFC5,F8E079,F8F1B6 o="Motorola Mobility LLC, a Lenovo Company"
00B8C2 o="Heights Telecom T ltd"
00B9F6 o="Shenzhen Super Rich Electronics Co.,Ltd"
00BAC0 o="Biometric Access Company"
@@ -10323,7 +10326,8 @@
00BB8E o="HME Co., Ltd."
00BBF0,00DD00-00DD0F o="UNGERMANN-BASS INC."
00BD27 o="Exar Corp."
-00BD82,04E0B0,14B837,1CD5E2,28D1B7,2C431A,2C557C,34E71C,447BBB,4CB8B5,54666C,68A682,68D1BA,70ACD7,7C03C9,7C7630,901234,A42940,A8E2C3,B41D2B,C4047B,C4518D,C821DA,CC90E8,D45F25,D8325A,DC9C9F,DCA333 o="Shenzhen YOUHUA Technology Co., Ltd"
+00BD82,04E0B0,14B837,1CD5E2,28D1B7,2C431A,2C557C,34E71C,447BBB,4CB8B5,54666C,68A682,68D1BA,70ACD7,7C03C9,7C7630,901234,A42940,A8E2C3,B41D2B,BC13A8,C4047B,C4518D,C821DA,CC90E8,D45F25,D8325A,DC9C9F,DCA333 o="Shenzhen YOUHUA Technology Co., Ltd"
+00BED5,0440A9,04D7A5,08688D,101965,1CAB34,307BAC,30809B,346B5B,38AD8E,38ADBE,3CF5CC,4077A9,441AFA,48BD3D,4CE9E4,5098B8,542BDE,5CC999,689320,6CE5F7,703AA6,7057BF,743A20,7485C4,74EAC8,74EACB,782C29,78AA82,7C1E06,80E455,88DF9E,905D7C,90E710,94282E,94292F,943BB0,9CE895,A4FA76,B04414,DCDA80,F01090,F47488,FC609B o="New H3C Technologies Co., Ltd"
00BF15,0CBF15 o="Genetec Inc."
00C000 o="LANOPTICS, LTD."
00C001 o="DIATEK PATIENT MANAGMENT"
@@ -10565,11 +10569,12 @@
00C0FD o="PROSUM"
00C0FE o="APTEC COMPUTER SYSTEMS, INC."
00C14F o="DDL Co,.ltd."
+00C343 o="E-T-A Circuit Breakers Ltd"
00C5DB o="Datatech Sistemas Digitales Avanzados SL"
00CBB4 o="SHENZHEN ATEKO PHOTOELECTRICITY CO.,LTD"
-00CBBD o="Cambridge Broadband Networks Ltd."
+00CBBD o="Cambridge Broadband Networks Group"
00CD90 o="MAS Elektronik AG"
-00CFC0,103D3E,1479F3,1869DA,1C4176,24615A,3C574F,4062EA,44C874,508CF5,7089CC,74ADB7,78C313,8C53D2,90473C,AC5AEE,AC710C,B4D0A9,C01692,C43306,CC5CDE,E0456D,E4C0CC,F848FD o="China Mobile Group Device Co.,Ltd."
+00CFC0,00E22C,0C14D2,103D3E,1479F3,1869DA,1C4176,24615A,3C574F,3CE3E7,4062EA,44C874,508CF5,7089CC,74ADB7,78C313,8C53D2,90473C,94FF61,AC5AEE,AC710C,B4D0A9,C01692,C43306,CC5CDE,E0456D,E4C0CC,F848FD o="China Mobile Group Device Co.,Ltd."
00D000 o="FERRAN SCIENTIFIC, INC."
00D001 o="VST TECHNOLOGIES, INC."
00D002 o="DITECH CORPORATION"
@@ -10777,7 +10782,7 @@
00D0E9 o="Advantage Century Telecommunication Corp."
00D0EA o="NEXTONE COMMUNICATIONS, INC."
00D0EB o="LIGHTERA NETWORKS, INC."
-00D0EC,480C49,8C3C4A,F49651 o="NAKAYO Inc"
+00D0EC,480C49,8C3C4A,C80739,F49651 o="NAKAYO Inc"
00D0ED o="XIOX"
00D0EE o="DICTAPHONE CORPORATION"
00D0EF o="IGT"
@@ -10930,7 +10935,7 @@
00E08D o="PRESSURE SYSTEMS, INC."
00E08E o="UTSTARCOM"
00E090 o="BECKMAN LAB. AUTOMATION DIV."
-00E091,14C913,201742,30B4B8,388C50,64956C,6CD032,785DC8,A823FE,C808E9 o="LG Electronics"
+00E091,14C913,201742,30B4B8,388C50,58FDB1,64956C,6CD032,785DC8,A823FE,C808E9 o="LG Electronics"
00E092 o="ADMTEK INCORPORATED"
00E093 o="ACKFIN NETWORKS"
00E094 o="OSAI SRL"
@@ -10963,7 +10968,7 @@
00E0B4 o="TECHNO SCOPE CO., LTD."
00E0B5 o="ARDENT COMMUNICATIONS CORP."
00E0B6 o="Entrada Networks"
-00E0B7 o="PI GROUP, LTD."
+00E0B7 o="Cosworth Electronics Ltd"
00E0B8 o="GATEWAY 2000"
00E0B9 o="BYAS SYSTEMS"
00E0BA o="BERGHOF AUTOMATIONSTECHNIK GmbH"
@@ -11029,6 +11034,7 @@
00E0FD o="A-TREND TECHNOLOGY CO., LTD."
00E0FF o="SECURITY DYNAMICS TECHNOLOGIES, Inc."
00E175 o="AK-Systems Ltd"
+00E5E4,1CFF59,4456E2,C0CC42,C4A151 o="Sichuan Tianyi Comheart Telecom Co., Ltd."
00E6D3,02E6D3 o="NIXDORF COMPUTER CORP."
00E6E8 o="Netzin Technology Corporation,.Ltd."
00E8AB o="Meggitt Training Systems, Inc."
@@ -11045,8 +11051,9 @@
00FD4C o="NEVATEC"
02AA3C o="OLIVETTI TELECOMM SPA (OLTECO)"
0402CA o="Shenzhen Vtsonic Co.,ltd"
-0403D6,342FBD,48A5E7,582F40,5C521E,606BFF,64B5C6,7048F7,9458CB,98415C,98B6E9,98E8FA,A438CC,B87826,B88AEC,D4F057,DC68EB,ECC40D o="Nintendo Co.,Ltd"
+0403D6,342FBD,48A5E7,582F40,5C521E,606BFF,64B5C6,702C09,7048F7,74F9CA,9458CB,98415C,98B6E9,98E8FA,A438CC,B87826,B88AEC,D4F057,DC68EB,E0F6B5,E8DA20,ECC40D o="Nintendo Co.,Ltd"
0404EA o="Valens Semiconductor Ltd."
+0405DD,B0D568 o="Shenzhen Cultraview Digital Technology Co., Ltd"
04072E o="VTech Electronics Ltd."
040AE0 o="XMIT AG COMPUTER NETWORKS"
040EC2 o="ViewSonic Mobile China Limited"
@@ -11063,17 +11070,19 @@
042BBB o="PicoCELA, Inc."
042DB4 o="First Property (Beijing) Co., Ltd Modern MOMA Branch"
042F56 o="ATOCS (Shenzhen) LTD"
-043110 o="Inspur Group Co., Ltd."
+043110,C0A66D o="Inspur Group Co., Ltd."
0432F4 o="Partron"
043385 o="Nanchang BlackShark Co.,Ltd."
043604 o="Gyeyoung I&T"
043A0D o="SM Optics S.r.l."
043D98 o="ChongQing QingJia Electronics CO.,LTD"
-0440A9,04D7A5,08688D,1CAB34,307BAC,30809B,346B5B,38AD8E,38ADBE,3CF5CC,4077A9,441AFA,48BD3D,4CE9E4,5098B8,542BDE,5CC999,7057BF,7485C4,74EAC8,74EACB,782C29,7C1E06,80E455,88DF9E,905D7C,90E710,94282E,94292F,943BB0,9CE895,A4FA76,DCDA80,F01090,F47488 o="New H3C Technologies Co., Ltd"
044169,2474F7,D43260,D4D919,D89685,F4DD9E o="GoPro"
0444A1 o="TELECON GALICIA,S.A."
+044562 o="ANDRA Sp. z o. o."
0445A1 o="NIRIT- Xinwei Telecom Technology Co., Ltd."
+0446CF o="Beijing Venustech Cybervision Co.,Ltd."
044A50 o="Ramaxel Technology (Shenzhen) limited company"
+044AC6 o="Aipon Electronics Co., Ltd"
044BFF o="GuangZhou Hedy Digital Technology Co., Ltd"
044CEF o="Fujian Sanao Technology Co.,Ltd"
044E06,3407FB,346E9D,348446,3C197D,549B72,74C99A,74D0DC,78D347,903809,987A10,98A404,98C5DB,A4A1C2,AC60B6,F0B107 o="Ericsson AB"
@@ -11103,6 +11112,7 @@
0475F5 o="CSST"
047863,80A036,B0F893,D0BAE4 o="Shanghai MXCHIP Information Technology Co., Ltd."
047D50 o="Shenzhen Kang Ying Technology Co.Ltd."
+047E23,1C25E1,44E6B0,48216C,6458AD,64F88A,688B0F,A0950C,A09B12,AC5474,B03055,B05365,C098DA,C0D0FF,E42D7B o="China Mobile IOT Company Limited"
047E4A o="moobox CO., Ltd."
047F0E o="Barrot Technology Limited"
0481AE o="Clack Corporation"
@@ -11113,7 +11123,7 @@
048B42 o="Skspruce Technologies"
048C03 o="ThinPAD Technology (Shenzhen)CO.,LTD"
0492EE o="iway AG"
-04946B,088620,141114,202681,4CE19E,58DB15,64CB9F,709FA9,74E60F,783A6C,78FFCA,AC2DA9,C4C563,D01C3C,D47DFC,F03D03 o="TECNO MOBILE LIMITED"
+04946B,088620,08ED9D,141114,202681,4CE19E,58DB15,64CB9F,709FA9,74E60F,783A6C,78FFCA,9056FC,AC2DA9,C4C563,D01C3C,D47DFC,ECF22B,F03D03 o="TECNO MOBILE LIMITED"
0494A1 o="CATCH THE WIND INC"
0495E6,0840F3,500FF5,502B73,58D9D5,B0DFC1,B40F3B,B83A08,CC2D21,D83214,E865D4 o="Tenda Technology Co.,Ltd.Dongguan branch"
049645 o="WUXI SKY CHIP INTERCONNECTION TECHNOLOGY CO.,LTD."
@@ -11123,10 +11133,10 @@
049C62 o="BMT Medical Technology s.r.o."
049DFE o="Hivesystem"
049F06 o="Smobile Co., Ltd."
-04A222,0C8E29,18828C,44FE3B,488D36,4C1B86,64CC22,78DD12,946AB0,A0B549,B8F853,BC30D9,CCD42E,D0052A,D463FE,E05163,E43ED7,ECF451,F08620 o="Arcadyan Corporation"
+04A222,0C8E29,18828C,44FE3B,488D36,4C1B86,64CC22,78DD12,946AB0,A0B549,B8F853,BC30D9,CCD42E,D0052A,D463FE,E05163,E43ED7,E475DC,EC6C9A,ECF451,F08620,FC3DA5 o="Arcadyan Corporation"
04A3F3 o="Emicon"
04AAE1 o="BEIJING MICROVISION TECHNOLOGY CO.,LTD"
-04AB18,BC5C4C o="ELECOM CO.,LTD."
+04AB18,3897A4,BC5C4C o="ELECOM CO.,LTD."
04AB6A o="Chun-il Co.,Ltd."
04AC44,B8CA04 o="Holtek Semiconductor Inc."
04B3B6 o="Seamap (UK) Ltd"
@@ -11142,14 +11152,14 @@
04C880 o="Samtec Inc"
04C991 o="Phistek INC."
04CB1D o="Traka plc"
+04CB88,30C01B,5CFB7C,8850F6,B8F653,D8373B,E8D03C,F4BCDA o="Shenzhen Jingxun Software Telecommunication Technology Co.,Ltd"
04CE14 o="Wilocity LTD."
04CE7E o="NXP France Semiconductors France"
04CF25 o="MANYCOLORS, INC."
04CF8C,286C07,34CE00,40313C,50642B,7811DC,7C49EB,EC4118 o="XIAOMI Electronics,CO.,LTD"
-04D395,08CC27,0CCB85,141AA3,1430C6,1C56FE,2446C8,24DA9B,304B07,34BB26,3880DF,40786A,408805,4480EB,58D9C3,5C5188,601D91,60BEB5,68C44D,8058F8,806C1B,84100D,88797E,88B4A6,8CF112,9068C3,90735A,9CD917,A470D6,A89675,B07994,BC98DF,BCFFEB,C08C71,C8C750,CC61E5,CCC3EA,D00401,D07714,D463C6,D4C94B,DCBFE9,E0757D,E09861,E4907E,E89120,EC8892,F0D7AA,F4F1E1,F4F524,F81F32,F8CFC5,F8E079,F8F1B6 o="Motorola Mobility LLC, a Lenovo Company"
04D437 o="ZNV"
04D590,085B0E,704CA5,906CAC,E023FF,E81CBA o="Fortinet, Inc."
-04D6AA,08C5E1,1449E0,24181D,2C0E3D,30074D,30AB6A,3423BA,400E85,4C6641,54880E,6CC7EC,843838,88329B,8CB84A,8CF5A3,A8DB03,AC5F3E,B479A7,BC8CCD,C09727,C0BDD1,C8BA94,D022BE,D02544,E8508B,EC1F72,EC9BF3,F025B7,F409D8,F8042E o="SAMSUNG ELECTRO-MECHANICS(THAILAND)"
+04D6AA,08C5E1,1449E0,24181D,28C21F,2C0E3D,30074D,30AB6A,3423BA,400E85,4C6641,54880E,6CC7EC,843838,88329B,8CB84A,8CF5A3,A8DB03,AC5F3E,B479A7,BC8CCD,C09727,C0BDD1,C8BA94,D022BE,D02544,E8508B,EC1F72,EC9BF3,F025B7,F409D8,F8042E o="SAMSUNG ELECTRO-MECHANICS(THAILAND)"
04D783 o="Y&H E&C Co.,LTD."
04DB8A o="Suntech International Ltd."
04DD4C o="Velocytech"
@@ -11169,6 +11179,7 @@
04F17D o="Tarana Wireless"
04F4BC o="Xena Networks"
04F8C2 o="Flaircomm Microelectronics, Inc."
+04F8F8,1CEA0B,34EFB6,3C2C99,68215F,80A235,8CEA1B,A82BB5,B86A97,CC37AB o="Edgecore Networks Corporation"
04F9D9 o="Speaker Electronic(Jiashan) Co.,Ltd"
04FA3F o="Opticore Inc."
04FEA1,40EF4C,7C96D2 o="Fihonest communication co.,Ltd"
@@ -11316,7 +11327,7 @@
081DFB o="Shanghai Mexon Communication Technology Co.,Ltd"
081F3F o="WondaLink Inc."
081FEB o="BinCube"
-0823B2,087F98,08B3AF,0C20D3,10F681,1802AE,18E29F,18E777,1CDA27,20311C,205D47,207454,20F77C,283166,28FAA0,2CFFEE,309435,34E911,386EA2,3C86D1,3CA348,3CA581,3CA616,3CB6B7,449EF9,488764,4CC00A,5419C8,5C1CB9,6091F3,6C24A6,6CD94C,7047E9,70788B,70B7AA,70D923,808A8B,886AB1,88F7BF,90ADF7,90C54A,94147A,946372,98C8B8,9CA5C0,9CE82B,9CFBD5,B40FB3,B80716,BC2F3D,C46699,C4ABB2,D4BBC8,D8A315,DC1AC5,DC31D1,E013B5,E0DDC0,E45AA2,EC7D11,ECDF3A,F01B6C,F42981,F470AB,F4B7B3,F8E7A0,FC1A11,FCBE7B o="vivo Mobile Communication Co., Ltd."
+0823B2,087F98,08B3AF,08FA79,0C20D3,10BC97,10F681,1802AE,18E29F,18E777,1CDA27,20311C,205D47,207454,20F77C,283166,28FAA0,2CFFEE,309435,34E911,386EA2,3C86D1,3CA348,3CA581,3CA616,3CB6B7,449EF9,488764,4CC00A,540E2D,5419C8,5C1CB9,6091F3,642C0F,6C24A6,6CD94C,7047E9,70788B,708F47,70B7AA,70D923,808A8B,886AB1,88F7BF,90ADF7,90C54A,94147A,946372,98C8B8,9CA5C0,9CE82B,9CFBD5,A022DE,B40FB3,B80716,BC2F3D,C46699,C4ABB2,D4BBC8,D8A315,DC1AC5,DC31D1,E013B5,E0DDC0,E45AA2,EC7D11,ECDF3A,F01B6C,F42981,F470AB,F4B7B3,F8E7A0,FC1A11,FCBE7B o="vivo Mobile Communication Co., Ltd."
082522 o="ADVANSEE"
082719 o="APS systems/electronic AG"
0827CE o="NAGANO KEIKI CO., LTD."
@@ -11326,28 +11337,31 @@
083571 o="CASwell INC."
0835B2 o="CoreEdge Networks Co., Ltd"
08379C o="Topaz Co. LTD."
+083869 o="Hong Kong AMobile Intelligent Corp. Limited Taiwan Branch"
0838A5 o="Funkwerk plettac electronic GmbH"
083A2F o="Guangzhou Juan Intelligent Tech Joint Stock Co.,Ltd"
083A5C o="Junilab, Inc."
083AB8 o="Shinoda Plasma Co., Ltd."
+083AF2,0CDC7E,10521C,18FE34,240AC4,2462AB,246F28,24A160,24B2DE,2C3AE8,2CF432,30AEA4,3C71BF,40F520,483FDA,4C11AE,500291,545AA6,5CCF7F,600194,68C63A,70039F,7C9EBD,7CDFA1,807D3A,840D8E,84CCA8,84F3EB,8CAAB5,8CCE4E,9097D5,94B97E,98F4AB,A020A6,A0764E,A47B9D,A4CF12,A8032A,AC67B2,ACD074,B4E62D,B8F009,BCDDC2,C44F33,C4DD57,C82B96,CC50E3,D8A01D,D8BFC0,D8F15B,DC4F22,E09806,ECFABC,F008D1,F4CFA2,FCF5C4 o="Espressif Inc."
083F3E o="WSH GmbH"
083F76 o="Intellian Technologies, Inc."
084027 o="Gridstore Inc."
+084296 o="Mobile Technology Solutions LLC"
084656 o="VEO-LABS"
-0847D0,089C86,781735,88B362,98865D,B81904 o="Nokia Shanghai Bell Co., Ltd."
+0847D0,089C86,4C2113,781735,88B362,98865D,B81904,DCD9AE o="Nokia Shanghai Bell Co., Ltd."
08482C o="Raycore Taiwan Co., LTD."
-084ACF,14472D,14C697,18D0C5,18D717,1C427D,1C48CE,1C77F6,1CC3EB,1CDDEA,20826A,2479F3,2C5BB8,2C5D34,2CA9F0,308454,38295A,3CF591,440444,4466FC,44AEAB,4883B4,489507,4C189A,4C1A3D,4C6F9C,5029F5,503CEA,587A6A,58C6F0,5C666C,602101,6C5C14,6CD71F,70DDA8,7836CC,7C6B9C,846FCE,885A06,88D50C,8C0EE3,94D029,986F60,9C0CDF,9C5F5A,9CF531,A09347,A41232,A43D78,A4C939,A4F05E,A81B5A,B0AA36,B4A5AC,B4CB57,B83765,B8C74A,B8C9B5,BC3AEA,C02E25,C09F05,C4E1A1,C4E39F,C4FE5B,C8F230,CC2D83,D41A3F,D4503F,D467D3,D81EDD,DC5583,DC6DCD,E44790,E4C483,E8BBA8,EC01EE,EC51BC,ECF342,F06728,F06D78,F079E8,F4D620 o="GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD"
+084ACF,14472D,14C697,18D0C5,18D717,1C0219,1C427D,1C48CE,1C77F6,1CC3EB,1CDDEA,2064CB,20826A,2479F3,2C5BB8,2C5D34,2CA9F0,308454,38295A,388ABE,3CF591,440444,4466FC,44AEAB,4883B4,489507,4C189A,4C1A3D,4C6F9C,5029F5,503CEA,587A6A,58C6F0,5C666C,602101,60D4E9,6C5C14,6CD71F,70DDA8,7836CC,7C6B9C,846FCE,8803E9,885A06,88D50C,8C0EE3,9454CE,94D029,986F60,9C0CDF,9C5F5A,9CF531,A09347,A41232,A43D78,A4C939,A4F05E,A81B5A,B0AA36,B0B5C3,B4A5AC,B4CB57,B83765,B8C74A,B8C9B5,BC3AEA,C02E25,C09F05,C440F6,C4E1A1,C4E39F,C4FE5B,C8F230,CC2D83,D41A3F,D4503F,D467D3,D81EDD,DC5583,DC6DCD,E433AE,E44790,E4C483,E8BBA8,EC01EE,EC51BC,ECF342,F06728,F06D78,F079E8,F4D620,FCA5D0 o="GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD"
084E1C o="H2A Systems, LLC"
-084EBF o="Broad Net Mux Corporation"
085114 o="QINGDAO TOPSCOMM COMMUNICATION CO., LTD"
08512E o="Orion Diagnostica Oy"
085240 o="EbV Elektronikbau- und Vertriebs GmbH"
+0854BB,107717,1CA770,283545,60427F,949034,A4E615,B48107,BC83A7,BCEC23,FCA386 o="SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD"
085AE0 o="Recovision Technology Co., Ltd."
085BDA o="CliniCare LTD"
08674E,B84DEE o="Hisense broadband multimedia technology Co.,Ltd"
0868D0 o="Japan System Design"
0868EA o="EITO ELECTRONICS CO., LTD."
-086BD1,DC4BDD,E4F3E8 o="Shenzhen SuperElectron Technology Co.,Ltd."
+086BD1,8012DF,DC4BDD,E4F3E8 o="Shenzhen SuperElectron Technology Co.,Ltd."
086DF2 o="Shenzhen MIMOWAVE Technology Co.,Ltd"
0874F6 o="Winterhalter Gastronom GmbH"
087572 o="Obelux Oy"
@@ -11357,13 +11371,14 @@
087BAA o="SVYAZKOMPLEKTSERVICE, LLC"
087CBE o="Quintic Corp."
087D21 o="Altasec technology corporation"
-087E64,08952A,0C0227,1033BF,1062D0,10C25A,14987D,14B7F8,28BE9B,3817E1,383FB3,3C9A77,3CB74B,441C12,4432C8,480033,48F7C0,500959,54A65C,58238C,589630,5C7695,603D26,641236,6C55E8,70037E,705A9E,7C9A54,802994,80B234,80C6AB,80D04A,8417EF,889E68,88F7C7,8C04FF,905851,946A77,98524A,A456CC,B0C287,B42A0E,BC9B68,C42795,CC03FA,CC3540,D05A00,D08A91,D0B2C4,D4B92F,DCEB69,E03717,E0885D,FC528D,FC9114,FC94E3 o="Technicolor CH USA Inc."
+087E64,08952A,0C0227,1033BF,1062D0,10C25A,14987D,14B7F8,28BE9B,3817E1,383FB3,3C9A77,3CB74B,441C12,4432C8,480033,484BD4,48F7C0,500959,54A65C,58238C,589630,5C7695,5C7D7D,603D26,641236,6C55E8,70037E,705A9E,7C9A54,802994,80B234,80C6AB,80D04A,8417EF,889E68,88F7C7,8C04FF,905851,946A77,98524A,989D5D,A0FF70,A456CC,B0C287,B42A0E,BC9B68,C42795,CC03FA,CC3540,D05A00,D08A91,D0B2C4,D4B92F,DCEB69,E03717,E0885D,F4C114,FC528D,FC9114,FC94E3 o="Technicolor CH USA Inc."
0881BC o="HongKong Ipro Technology Co., Limited"
088466 o="Novartis Pharma AG"
+0887C6,44A61E o="INGRAM MICRO SERVICES"
088DC8 o="Ryowa Electronics Co.,Ltd"
088E4F o="SF Software Solutions"
-088F2C o="Hills Sound Vision & Lighting"
-0890BA o="Danlaw Inc"
+088F2C o="Amber Technology Ltd."
+0890BA,4CCE2D o="Danlaw Inc"
0894EF,206A8A,38B725,70E284,98EECB,F0DEF1,F80F41 o="Wistron Infocomm (Zhongshan) Corporation"
089758 o="Shenzhen Strong Rising Electronics Co.,Ltd DongGuan Subsidiary"
089B4B o="iKuai Networks"
@@ -11371,7 +11386,9 @@
08A12B o="ShenZhen EZL Technology Co., Ltd"
08A8A1 o="Cyclotronics Power Concepts, Inc"
08ACA5 o="Benu Video, Inc."
+08ACC4 o="FMTech"
08AF78 o="Totus Solutions, Inc."
+08B0A7 o="Truebeyond Co., Ltd"
08B2A3 o="Cynny Italia S.r.L."
08B4CF o="Abicom International"
08B738 o="Lite-On Technogy Corp."
@@ -11392,10 +11409,11 @@
08DFCB o="Systrome Networks"
08E5DA o="NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD."
08E672 o="JEBSEE ELECTRONICS CO.,LTD."
-08EA40,0C8C24,10A4BE,146B9C,203233,380146,74EE2A,7CA7B0,E0B94D,EC3DFD o="SHENZHEN BILIAN ELECTRONIC CO.,LTD"
+08E9F6,08FBEA,2050E7,704A0E,70F754,B82D28,D49CDD o="AMPAK Technology,Inc."
+08EA40,0C8C24,10A4BE,146B9C,203233,380146,4401BB,74EE2A,7CA7B0,E0B94D,EC3DFD o="SHENZHEN BILIAN ELECTRONIC CO.,LTD"
08EB29,18BF1C o="Jiangsu Huitong Group Co.,Ltd."
08EBED o="World Elite Technology Co.,LTD"
-08EDED,14A78B,24526A,38AF29,3CEF8C,4C11BF,6C1C71,74C929,9002A9,9C1463,A0BD1D,B44C3B,BC325F,E0508B o="Zhejiang Dahua Technology Co., Ltd."
+08EDED,14A78B,24526A,38AF29,3CEF8C,4C11BF,6C1C71,74C929,9002A9,9C1463,A0BD1D,B44C3B,BC325F,C0395A,E0508B,E4246C o="Zhejiang Dahua Technology Co., Ltd."
08EFAB o="SAYME WIRELESS SENSOR NETWORK"
08F1B7 o="Towerstream Corpration"
08F2F4 o="Net One Partners Co.,Ltd."
@@ -11404,7 +11422,7 @@
08F7E9 o="HRCP Research and Development Partnership"
08FAE0 o="Fohhn Audio AG"
08FC52 o="OpenXS BV"
-0C01DB,74C17D,80795D,9874DA,98DDEA,AC512C,BC91B5,DC6AEA o="Infinix mobility limited"
+0C01DB,74C17D,80795D,9874DA,98DDEA,AC2334,AC512C,BC91B5,DC6AEA o="Infinix mobility limited"
0C0400 o="Jantar d.o.o."
0C0535 o="Juniper Systems"
0C1105 o="AKUVOX (XIAMEN) NETWORKS CO., LTD"
@@ -11431,7 +11449,7 @@
0C4101 o="Ruichi Auto Technology (Guangzhou) Co., Ltd."
0C469D o="MS Sedco"
0C4933,7C5259 o="Sichuan Jiuzhou Electronic Technology Co., Ltd."
-0C4C39,345760,84AA9C,9897D1,A433D7,ACC662,B046FC,B8FFB3,C03DD9,CCD4A1,CCEDDC,E04136,E4AB89 o="MitraStar Technology Corp."
+0C4C39,345760,84AA9C,9897D1,A433D7,ACC662,B046FC,B8FFB3,C03DD9,CCD4A1,CCEDDC,D8C678,E04136,E4AB89 o="MitraStar Technology Corp."
0C4F5A o="ASA-RT s.r.l."
0C51F7 o="CHAUVIN ARNOUX"
0C5203 o="AGM GROUP LIMITED"
@@ -11445,7 +11463,7 @@
0C5CD8 o="DOLI Elektronik GmbH"
0C5F35 o="Niagara Video Corporation"
0C6111 o="Anda Technologies SAC"
-0C62A6,0C9160,103D0A,1C1EE3,20F543,2CD974,34F150,44D878,7CB232,C0D2F3,C4985C,D81399,F84FAD o="Hui Zhou Gaoshengda Technology Co.,LTD"
+0C62A6,0C9160,103D0A,1C1EE3,20F543,2CD974,34F150,44D878,7CB232,C0D2F3,C4985C,D4ABCD,D81399,DC7223,F84FAD o="Hui Zhou Gaoshengda Technology Co.,LTD"
0C63FC o="Nanjing Signway Technology Co., Ltd"
0C6AE6 o="Stanley Security Solutions"
0C6E4F o="PrimeVOLT Co., Ltd."
@@ -11455,21 +11473,22 @@
0C7523 o="BEIJING GEHUA CATV NETWORK CO.,LTD"
0C756C o="Anaren Microwave, Inc."
0C7D7C o="Kexiang Information Technology Co, Ltd."
+0C817D o="EEP Elektro-Elektronik Pranjic GmbH"
0C8230 o="SHENZHEN MAGNUS TECHNOLOGIES CO.,LTD"
0C826A o="Wuhan Huagong Genuine Optics Technology Co., Ltd"
0C8411 o="A.O. Smith Water Products"
0C8484 o="Zenovia Electronics Inc."
0C8A87 o="AgLogica Holdings, Inc"
-0C8BD3,18AC9E,44DC4E,48DD9D,58C583,741C27,787D48,7CE97C,8050F6,88D5A8,8CD48E,988ED4,9CAF6F,A4F465,ACFE05,B8C8EB,D87E76,DC543D,F0B968,F82F6A,FC3964 o="ITEL MOBILE LIMITED"
+0C8BD3,18AC9E,40D25F,44DC4E,48DD9D,58C583,741C27,787D48,7CE97C,8050F6,881C95,88D5A8,8CD48E,988ED4,9CAF6F,A4F465,ACFE05,B8C8EB,C81739,D87E76,DC543D,F0B968,F82F6A,FC3964 o="ITEL MOBILE LIMITED"
0C8C8F o="Kamo Technology Limited"
0C8CDC o="Suunto Oy"
0C8D98 o="TOP EIGHT IND CORP"
0C924E o="Rice Lake Weighing Systems"
0C9301 o="PT. Prasimax Inovasi Teknologi"
0C93FB o="BNS Solutions"
-0C9541,5CCAD3,C8B21E o="CHIPSEA TECHNOLOGIES (SHENZHEN) CORP."
+0C9541,50FB19,5CCAD3,C8B21E o="CHIPSEA TECHNOLOGIES (SHENZHEN) CORP."
0C96E6,283A4D,485F99 o="Cloud Network Technology (Samoa) Limited"
-0C9A42,18BB26,34C3D2,381DD9,4846C1,54C9DF,54E4BD,586356,805E4F,88835D,A02C36,A0F459,AC35EE,AC5D5C,AC64CF,C43A35,E0B2F1 o="FN-LINK TECHNOLOGY LIMITED"
+0C9A42,18BB26,34C3D2,381DD9,4846C1,54C9DF,54E4BD,586356,7C25DA,805E4F,88835D,A02C36,A0F459,AC35EE,AC5D5C,AC64CF,C43A35,D4D2D6,E0B2F1 o="FN-LINK TECHNOLOGY LIMITED"
0C9B13 o="Shanghai Magic Mobile Telecommunication Co.Ltd."
0C9D56 o="Consort Controls Ltd"
0C9E91 o="Sankosha Corporation"
@@ -11485,7 +11504,7 @@
0CB4EF o="Digience Co.,Ltd."
0CB5DE,18422F,4CA74B,54055F,68597F,84A783,885C47,9067F3,94AE61,D4224E o="Alcatel Lucent"
0CB912 o="JM-DATA GmbH"
-0CB937,647C34,6C38A1,A4CFD2 o="Ubee Interactive Co., Limited"
+0CB937,647C34,6C38A1,A4CFD2,D8787F o="Ubee Interactive Co., Limited"
0CBD51,18E3BC,1CCB99,20A90E,240A11,240DC2,289AFA,28BE03,3CCB7C,44A42D,4C0B3A,4C4E03,5C7776,60512C,6409AC,745C9F,84D15A,889E33,8C99E6,905F2E,942790,9471AC,94D859,9C4FCF,A8A198,B04519,B0E03C,CCFD17,D09DAB,D428D5,D8E56D,E0E62E,E42D02,E4E130,F03404,F05136 o="TCT mobile ltd"
0CBF3F o="Shenzhen Lencotion Technology Co.,Ltd"
0CBF74 o="Morse Micro"
@@ -11496,6 +11515,7 @@
0CC6AC o="DAGS"
0CC731 o="Currant, Inc."
0CC81F o="Summer Infant, Inc."
+0CC844,4CB82C o="Cambridge Mobile Telematics, Inc."
0CC9C6 o="Samwin Hong Kong Limited"
0CCB8D o="ASCO Numatics GmbH"
0CCC26 o="Airenetworks"
@@ -11517,7 +11537,7 @@
0CF019 o="Malgn Technology Co., Ltd."
0CF0B4 o="Globalsat International Technology Ltd"
0CF361 o="Java Information"
-0CF3EE,901A4F,E0189F o="EM Microelectronic"
+0CF3EE,64F54E,8CD67F,901A4F,B848AA,E0189F o="EM Microelectronic"
0CF405 o="Beijing Signalway Technologies Co.,Ltd"
0CF475 o="Zliide Technologies ApS"
0CFC83 o="Airoha Technology Corp.,"
@@ -11534,12 +11554,14 @@
101212 o="Vivo International Corporation Pty Ltd"
101218 o="Korins Inc."
101248 o="ITG, Inc."
-101250,14E7C8,18C19D,1C9D3E,20163D,2405F5,2CB115,40B30E,40F04E,509744,58ECED,649829,689361,701BFB,782A79,7C6AF3,803A0A,80D160,847F3D,8817A3,907910,9C497F,A42618,A4B52E,A4F3E7,B8DB1C,C84F0E,CC51B4,CC9916,D055B2,D8452B,D8D6F3,DC3757,DCCC8D,E4CC9D,E80945,E8DE8E,F89910,FCEA50 o="Integrated Device Technology (Malaysia) Sdn. Bhd."
+101250,14E7C8,18C19D,1C9D3E,20163D,2405F5,2CB115,40B30E,40F04E,509744,58ECED,649829,689361,701BFB,782A79,7C6AF3,803A0A,80D160,847F3D,8817A3,907910,9C497F,9CF029,A42618,A4B52E,A4F3E7,B8DB1C,C84F0E,CC51B4,CC9916,D055B2,D8452B,D8D6F3,DC3757,DCCC8D,E4CC9D,E80945,E8DE8E,F89910,FCEA50 o="Integrated Device Technology (Malaysia) Sdn. Bhd."
+1012FB,1868CB,2857BE,4419B6,4447CC,4CBD8F,54C415,5803FB,5850ED,64DB8B,686DBC,849A40,94E1AC,988B0A,98DF82,A41437,ACCB51,B4A382,BCAD28,BCBAC2,C0517E,C056E3,C42F90,F84DFC o="Hangzhou Hikvision Digital Technology Co.,Ltd."
101331,20B001,30918F,589835,9C9726,A491B1,A4B1E9,C4EA1D,D4351D,E0B9E5 o="Technicolor"
1013EE o="Justec International Technology INC."
10189E o="Elmo Motion Control"
101D51 o="8Mesh Networks Limited"
102279 o="ZeroDesktop, Inc."
+102779 o="Sadel S.p.A."
1027BE o="TVIP"
102831 o="Morion Inc."
102C83 o="XIMEA"
@@ -11547,6 +11569,7 @@
102FA3 o="Shenzhen Uvision-tech Technology Co.Ltd"
103034 o="Cara Systems"
103378 o="FLECTRON Co., LTD"
+10341B o="Spacelink"
10364A o="Boston Dynamics"
103711 o="Simlink AS"
103DEA o="HFC Technology (Beijing) Ltd. Co."
@@ -11559,9 +11582,8 @@
104963 o="HARTING K.K."
104D77 o="Innovative Computer Engineering"
104E07 o="Shanghai Genvision Industries Co.,Ltd"
-10521C,18FE34,240AC4,2462AB,246F28,24B2DE,2C3AE8,2CF432,30AEA4,3C71BF,483FDA,4C11AE,500291,545AA6,5CCF7F,600194,68C63A,7CDFA1,807D3A,840D8E,84F3EB,8CAAB5,9097D5,98F4AB,A020A6,A47B9D,A4CF12,ACD074,B4E62D,BCDDC2,C44F33,C82B96,CC50E3,D8A01D,D8BFC0,D8F15B,DC4F22,E09806,ECFABC,F008D1,F4CFA2,FCF5C4 o="Espressif Inc."
105917 o="Tonal"
-105932,8C4962,ACAE19,B0EE7B,C83A6B,D83134 o="Roku, Inc"
+105932,84EAED,8C4962,ACAE19,B0EE7B,C83A6B,D83134 o="Roku, Inc"
105AF7,8C59C3 o="ADB Italia"
105BAD,A4FC77 o="Mega Well Limited"
105C3B o="Perma-Pipe, Inc."
@@ -11569,13 +11591,13 @@
105FD4 o="Tendyron Corporation"
1062C9 o="Adatis GmbH & Co. KG"
1064E2 o="ADFweb.com s.r.l."
-1065A3 o="Core Brands LLC"
+1065A3 o="Panamax LLC"
1065CF o="IQSIM"
106FEF o="Ad-Sol Nissin Corp"
1071F9 o="Cloud Telecomputers, LLC"
-107223,542F8A,94EAEA o="TELLESCOM INDUSTRIA E COMERCIO EM TELECOMUNICACAO"
+107223,542F8A,94EAEA,F45420 o="TELLESCOM INDUSTRIA E COMERCIO EM TELECOMUNICACAO"
+10746F o="MOTOROLA SOLUTIONS MALAYSIA SDN. BHD."
10768A o="EoCell"
-107717,1CA770,283545,60427F,949034,A4E615,B48107,BC83A7,BCEC23,FCA386 o="SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD"
107873 o="Shenzhen Jinkeyi Communication Co., Ltd."
1078CE o="Hanvit SI, Inc."
107A86 o="U&U ENGINEERING INC."
@@ -11585,6 +11607,7 @@
1083D2 o="Microseven Systems, LLC"
10880F o="Daruma Telecomunicações e Informática S.A."
108A1B o="RAONIX Inc."
+108B6A,F0A968 o="Antailiye Technology Co.,Ltd"
108EBA o="Molekule"
10954B o="Megabyte Ltd."
109AB9 o="Tosibox Oy"
@@ -11592,7 +11615,7 @@
109E3A,18BC5A,28FA7A,38D2CA,486E70,78DA07,D44BB6,D82FE6,F8A763 o="Zhejiang Tmall Technology Co., Ltd."
10A13B o="FUJIKURA RUBBER LTD."
10A24E o="GOLD3LINK ELECTRONICS CO., LTD"
-10A4B9,D46075 o="Baidu Online Network Technology (Beijing) Co., Ltd"
+10A4B9,CCE0DA,D46075 o="Baidu Online Network Technology (Beijing) Co., Ltd"
10A659 o="Mobile Create Co.,Ltd."
10A743 o="SK Mtek Limited"
10A932 o="Beijing Cyber Cloud Technology Co. ,Ltd."
@@ -11613,12 +11636,13 @@
10C65E o="Adapt-IP"
10C67E o="SHENZHEN JUCHIN TECHNOLOGY CO., LTD"
10C73F o="Midas Klark Teknik Ltd"
-10C753,7CB37B o="Qingdao Intelligent&Precise Electronics Co.,Ltd."
+10C753,7CB37B,A8301C o="Qingdao Intelligent&Precise Electronics Co.,Ltd."
10CA81 o="PRECIA"
10CC1B o="Liverock technologies,INC"
10CCDB o="AXIMUM PRODUITS ELECTRONIQUES"
10CD6E o="FISYS"
10CDB6 o="Essential Products, Inc."
+10CE45 o="Miromico AG"
10D1DC o="INSTAR Deutschland GmbH"
10DDF4 o="Maxway Electronics CO.,LTD"
10DEE4 o="automationNEXT GmbH"
@@ -11628,6 +11652,7 @@
10E4AF o="APR, LLC"
10E68F o="KWANGSUNG ELECTRONICS KOREA CO.,LTD."
10E6AE o="Source Technologies, LLC"
+10E77A o="STMicrolectronics International NV"
10E8EE o="PhaseSpace"
10F163 o="TNK CO.,LTD"
10F3DB o="Gridco Systems, Inc."
@@ -11642,11 +11667,12 @@
140C5B o="PLNetworks"
141330 o="Anakreon UK LLP"
141357 o="ATP Electronics, Inc."
-141459,74366D,BC15AC,E48F34 o="Vodafone Italia S.p.A."
+141459,74366D,801605,BC15AC,E48F34 o="Vodafone Italia S.p.A."
1414E6 o="Ningbo Sanhe Digital Co.,Ltd"
14157C o="TOKYO COSMOS ELECTRIC CO.,LTD."
14169E,2C5731,541473,A444D1,B02A1F o="Wingtech Group (HongKong)Limited"
141A51 o="Treetech Sistemas Digitais"
+141B30 o="Shenzhen Yipingfang Network Technology Co., Ltd."
141BBD o="Volex Inc."
141BF0 o="Intellimedia Systems Ltd"
1423D7 o="EUTRONIX CO., LTD."
@@ -11656,6 +11682,7 @@
142A14 o="ShenZhen Selenview Digital Technology Co.,Ltd"
142BD2 o="Armtel Ltd."
142BD6 o="Guangdong Appscomm Co.,Ltd"
+142C78,68D6ED o="GooWi Wireless Technology Co., Limited"
142D8B o="Incipio Technologies, Inc"
142DF5 o="Amphitech"
142FFD o="LT SECURITY INC"
@@ -11668,6 +11695,7 @@
143AEA o="Dynapower Company LLC"
143DF2 o="Beijing Shidai Hongyuan Network Communication Co.,Ltd"
143F27 o="Noccela Oy"
+143FC3,D46A91 o="SnapAV"
144146 o="Honeywell (China) Co., LTD"
1441E2 o="Monaco Enterprises, Inc."
144319 o="Creative&Link Technology Limited"
@@ -11677,14 +11705,14 @@
14488B o="Shenzhen Doov Technology Co.,Ltd"
144978 o="Digital Control Incorporated"
144C1A o="Max Communication GmbH"
-144E34,8C088B o="Remote Solution"
+144E34,204441,8C088B o="Remote Solution"
145290 o="KNS Group LLC (YADRO Company)"
145412 o="Entis Co., Ltd."
145645 o="Savitech Corp."
1459C3 o="Creative Chips GmbH"
145A83 o="Logi-D inc"
145BE1 o="nyantec GmbH"
-145E45 o="Kaleao Limited"
+145E45 o="Bamboo Systems Group"
146308,4C0DEE o="JABIL CIRCUIT (SHANGHAI) LTD."
146A0B o="Cypress Electronics Limited"
146B72 o="Shenzhen Fortune Ship Technology Co., Ltd."
@@ -11700,7 +11728,7 @@
14942F o="USYS CO.,LTD."
149448 o="BLU CASTLE S.A."
149B2F o="JiangSu ZhongXie Intelligent Technology co., LTD"
-149FB6,7CFD82,ECA9FA o="GUANGDONG GENIUS TECHNOLOGY CO., LTD."
+149FB6,7CFD82,B86392,ECA9FA o="GUANGDONG GENIUS TECHNOLOGY CO., LTD."
14A1BF o="ASSA ABLOY Korea Co., Ltd Unilock"
14A62C o="S.M. Dezac S.A."
14A72B o="currentoptronics Pvt.Ltd"
@@ -11717,6 +11745,7 @@
14C21D o="Sabtech Industries"
14C3C2 o="K.A. Schmersal GmbH & Co. KG"
14CAA0 o="Hu&Co"
+14CCB3 o="AO %GK NATEKS%"
14CF8D,749EA5,98EF9B,98F5A9 o="OHSUNG"
14D76E o="CONCH ELECTRONIC Co.,Ltd"
14DB85 o="S NET MEDIA"
@@ -11768,8 +11797,11 @@
183A48 o="VostroNet"
183BD2,98BB1E,BC2392 o="BYD Precision Manufacture Company Ltd."
1840A4 o="Shenzhen Trylong Smart Science and Technology Co., Ltd."
+1841FE o="Digital 14"
184462 o="Riava Networks, Inc."
+184593,2CDD95,38E3C5,4C8120,501B32,64D954,6CC63B,743C18,900A1A,A09B17,B4265D,D00ED9,E8D0B9,F06865,F49EEF,F844E3,F86CE1,FC10C6 o="Taicang T&W Electronics"
184644,D4B8FF o="Home Control Singapore Pte Ltd"
+18473D,1CBFC0,28CDC4,402343,405BD8,4CEBBD,5C3A45,5CBAEF,646C80,6CADAD,7412B3,8CC84B,A497B1,ACD564,B068E6,C0B5D7,D81265,E86F38,EC5C68 o="CHONGQING FUGUI ELECTRONICS CO.,LTD."
1848D8 o="Fastback Networks"
184BDF o="Caavo Inc"
184E94 o="MESSOA TECHNOLOGIES INC."
@@ -11785,8 +11817,7 @@
18673F o="Hanover Displays Limited"
186751 o="KOMEG Industrielle Messtechnik GmbH"
186882 o="Beward R&D Co., Ltd."
-1868CB,2857BE,4419B6,4447CC,4CBD8F,54C415,5803FB,64DB8B,686DBC,849A40,94E1AC,988B0A,98DF82,A41437,ACCB51,B4A382,BCAD28,BCBAC2,C056E3,C42F90,F84DFC o="Hangzhou Hikvision Digital Technology Co.,Ltd."
-1869D8,68572D o="HANGZHOU AIXIANGJI TECHNOLOGY CO., LTD"
+1869D8,68572D,D4A651 o="HANGZHOU AIXIANGJI TECHNOLOGY CO., LTD"
186D99 o="Adanis Inc."
186F2D,703A73,9C3A9A,A80CCA,D468BA o="Shenzhen Sundray Technologies Company Limited"
187117 o="eta plus electronic gmbh"
@@ -11809,6 +11840,7 @@
188EF9 o="G2C Co. Ltd."
18922C o="Virtual Instruments"
1894C6 o="ShenZhen Chenyee Technology Co., Ltd."
+189552,6CCE44,78A7EB,9C9789 o="1MORE"
1897FF o="TechFaith Wireless Technology Limited"
189A67 o="CSE-Servelec Limited"
18A28A o="Essel-T Co., Ltd"
@@ -11838,6 +11870,7 @@
18D949 o="Qvis Labs, LLC"
18D9EF,80EE73 o="Shuttle Inc."
18DFB4 o="BOSUNG POWERTEC CO.,LTD."
+18DFC1 o="Aetheros"
18E1CA o="wanze"
18E288 o="STT Condigi"
18E80F o="Viking Electronics Inc."
@@ -11853,14 +11886,15 @@
18FC9F o="Changhe Electronics Co., Ltd."
18FF2E o="Shenzhen Rui Ying Da Technology Co., Ltd"
1C0042 o="NARI Technology Co., Ltd."
+1C012D o="Ficer Technology"
1C05B7 o="Chongqing Trantor Technology Co., Ltd."
1C0656 o="IDY Corporation"
-1C08C1 o="Lg Innotek"
1C0B52 o="EPICOM S.A"
1C0FAF o="Lucid Vision Labs"
1C0FCF o="Sypro Optics GmbH"
1C11E1 o="Wartsila Finland Oy"
1C129D o="IEEE PES PSRC/SUB"
+1C1338 o="Kimball Electronics Group, LLC"
1C14B3 o="Airwire Technologies"
1C184A o="ShenZhen RicherLink Technologies Co.,LTD"
1C19DE o="eyevis GmbH"
@@ -11870,7 +11904,6 @@
1C234F,441102 o="EDMI Europe Ltd"
1C24CD,505FB5,88DE7C o="Askey Computer Corp."
1C24EB o="Burlywood"
-1C25E1,48216C,6458AD,64F88A,688B0F,A0950C,AC5474,B03055,B05365,C098DA,C0D0FF,E42D7B o="China Mobile IOT Company Limited"
1C27DD o="Datang Gohighsec(zhejiang)Information Technology Co.,Ltd."
1C2AA3 o="Shenzhen HongRui Optical Technology Co., Ltd."
1C2E1B o="Suzhou Tremenet Communication Technology Co., Ltd."
@@ -11898,11 +11931,12 @@
1C5A6B o="Philips Electronics Nederland BV"
1C5C55 o="PRIMA Cinema, Inc"
1C5C60 o="Shenzhen Belzon Technology Co.,LTD."
+1C5D80 o="Mitubishi Hitachi Power Systems Industries Co., Ltd."
1C5FFF o="Beijing Ereneben Information Technology Co.,Ltd Shenzhen Branch"
1C60DE,488AD2,6C5940,8CF228,BC5FF6,C8E7D8,D02516,F4EE14 o="MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD."
1C63B7 o="OpenProducts 237 AB"
1C63BF o="SHENZHEN BROADTEL TELECOM CO.,LTD"
-1C687E,5C27D4,B05947 o="Shenzhen Qihu Intelligent Technology Company Limited"
+1C687E,5C27D4,B05947,B88035,C85BA0 o="Shenzhen Qihu Intelligent Technology Company Limited"
1C697A,94C691 o="EliteGroup Computer Systems Co., LTD"
1C6BCA o="Mitsunami Co., Ltd."
1C6E4C o="Logistic Service & Engineering Co.,Ltd"
@@ -11923,16 +11957,17 @@
1C8E8E o="DB Communication & Systems Co., ltd."
1C8F8A o="Phase Motion Control SpA"
1C9179 o="Integrated System Technologies Ltd"
-1C919D o="Dongguan Liesheng Electronic Co., Ltd."
+1C919D,9C19C2 o="Dongguan Liesheng Electronic Co., Ltd."
1C9492 o="RUAG Schweiz AG"
1C955D o="I-LAX ELECTRONICS INC."
1C959F o="Veethree Electronics And Marine LLC"
-1C965A,2C4D79,401B5F,841766,90895F,A0AB51,A41566,A45385,A830AD,ACFD93,DC0C2D,DCAF68 o="WEIFANG GOERTEK ELECTRONICS CO.,LTD"
+1C965A,2C4D79,401B5F,4CB99B,841766,90895F,A0AB51,A41566,A45385,A830AD,ACFD93,DC0C2D,DCAF68 o="WEIFANG GOERTEK ELECTRONICS CO.,LTD"
1C973D o="PRICOM Design"
1C97C5 o="Ynomia Pty Ltd"
+1C98C1,30C9AB,8060B7,DCE994 o="CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD."
1C9C26 o="Zoovel Technologies"
1C9ECB o="Beijing Nari Smartchip Microelectronics Company Limited"
-1CA0B8,28C13C,702084,A4AE11,F4939F o="Hon Hai Precision Ind. Co., Ltd."
+1CA0B8,28C13C,702084,A4AE11-A4AE12,F4939F o="Hon Hai Precision Ind. Co., Ltd."
1CA2B1 o="ruwido austria gmbh"
1CAB01 o="Innovolt"
1CADD1 o="Bosung Electronics Co., Ltd."
@@ -11941,7 +11976,6 @@
1CB857 o="Becon Technologies Co,.Ltd."
1CBBA8 o="OJSC %Ufimskiy Zavod %Promsvyaz%"
1CBD0E o="Amplified Engineering Pty Ltd"
-1CBFC0,28CDC4,402343,405BD8,4CEBBD,5C3A45,5CBAEF,8CC84B,ACD564,B068E6,C0B5D7,D81265,E86F38,EC5C68 o="CHONGQING FUGUI ELECTRONICS CO.,LTD."
1CBFCE o="Shenzhen Century Xinyang Technology Co., Ltd"
1CC11A o="Wavetronix"
1CC316 o="MileSight Technology Co., Ltd."
@@ -11951,7 +11985,6 @@
1CD40C o="Kriwan Industrie-Elektronik GmbH"
1CD6BD o="LEEDARSON LIGHTING CO., LTD."
1CE165 o="Marshal Corporation"
-1CEA0B,3C2C99,68215F,80A235,8CEA1B,A82BB5,B86A97,CC37AB o="Edgecore Networks Corporation"
1CEEC9,78B3CE o="Elo touch solutions"
1CEEE8 o="Ilshin Elecom"
1CEFCE o="bebro electronic GmbH"
@@ -11991,7 +12024,6 @@
204AAA o="Hanscan Spain S.A."
204C6D o="Hugo Brennenstuhl Gmbh & Co. KG."
204E6B o="Axxana(israel) ltd"
-2050E7,70F754,D49CDD o="AMPAK Technology,Inc."
2053CA o="Risk Technology Ltd"
205532 o="Gotech International Technology Limited"
205721 o="Salix Technology CO., Ltd."
@@ -12018,6 +12050,7 @@
20918A o="PROFALUX"
2091D9 o="I'M SPA"
20968A,2823F5,58C876,8C1850,B45459,CCF0FD,F010AB o="China Mobile (Hangzhou) Information Technology Co., Ltd."
+2098D8 o="Shenzhen Yingdakang Technology CO., LTD"
209AE9 o="Volacomm Co., Ltd"
209BA5 o="JIAXING GLEAD Electronics Co.,Ltd"
20A2E7 o="Lee-Dickens Ltd"
@@ -12058,6 +12091,7 @@
20FABB o="Cambridge Executive Limited"
20FECD o="System In Frontier Inc."
20FEDB o="M2M Solution S.A.S."
+2400FA o="China Mobile (Hangzhou) Information Technology Co., Ltd"
24050F o="MTN Electronic Co. Ltd"
240917 o="Devlin Electronics Limited"
240B2A o="Viettel Group"
@@ -12068,6 +12102,7 @@
241125 o="Hutek Co., Ltd."
241148 o="Entropix, LLC"
2411D0 o="Chongqing Ehs Science and Technology Development Co.,Ltd."
+241407 o="Xiamen Sigmastar Technology Ltd."
241A8C o="Squarehead Technology AS"
241B13 o="Shanghai Nutshell Electronic Co., Ltd."
241B44 o="Hangzhou Tuners Electronics Co., Ltd"
@@ -12083,6 +12118,7 @@
243F30 o="Oxygen Broadband s.a."
2440AE o="NIIC Technology Co., Ltd."
2442BC o="Alinco,incorporated"
+2443E2,304F75,9C65EE,D096FB o="DASAN Network Solutions"
244597 o="GEMUE Gebr. Mueller Apparatebau"
24470E o="PentronicAB"
24497B o="Innovative Converged Devices Inc"
@@ -12104,6 +12140,7 @@
246C8A o="YUKAI Engineering"
247260 o="IOTTECH Corp"
247656 o="Shanghai Net Miles Fiber Optics Technology Co., LTD."
+2479EF o="Greenpacket Berhad, Taiwan"
2479F8 o="KUPSON spol. s r.o."
247C4C o="Herman Miller"
248000 o="Westcontrol AS"
@@ -12123,6 +12160,7 @@
24A937 o="PURE Storage"
24AF54 o="NEXGEN Mediatech Inc."
24B0A9 o="Shanghai Mobiletek Communication Ltd."
+24B105 o="Prama Hikvision India Private Limited"
24B6B8 o="FRIEM SPA"
24B88C o="Crenus Co.,Ltd."
24B8D2 o="Opzoon Technology Co.,Ltd."
@@ -12137,6 +12175,7 @@
24C42F o="Philips Lifeline"
24C848 o="mywerk Portal GmbH"
24C86E o="Chaney Instrument Co."
+24C8D3 o="McWane India Pvt Ltd"
24C9DE o="Genoray"
24CBE7 o="MYK, Inc."
24CF21 o="Shenzhen State Micro Technology Co., Ltd"
@@ -12148,7 +12187,7 @@
24DAB6 o="Sistemas de Gestión Energética S.A. de C.V"
24DBAD o="ShopperTrak RCT Corporation"
24DFA7,A043B0 o="Hangzhou BroadLink Technology Co.,Ltd"
-24E124 o="Xiamen Ursaconn Technology Co. , Ltd."
+24E124 o="Xiamen Ursalink Technology Co., Ltd."
24E43F o="Wenzhou Kunmei Communication Technology Co.,Ltd."
24E5AA o="Philips Oral Healthcare, Inc."
24E6BA o="JSC Zavod im. Kozitsky"
@@ -12159,10 +12198,10 @@
24EE3A o="Chengdu Yingji Electronic Hi-tech Co Ltd"
24F0FF o="GHT Co., Ltd."
24F128 o="Telstra"
+24F150 o="Guangzhou Qi'an Technology Co., Ltd."
24F2DD o="Radiant Zemax LLC"
24F57E o="HWH CO., LTD."
24FAF3 o="Shanghai Flexem Technology Co.,Ltd."
-24FD0D o="INDÚSTRIA DE TELECOMUNICAÇÃO ELETRÔNICA"
24FD5B o="SmartThings, Inc."
280245 o="Konze System Technology Co.,Ltd."
2804E0 o="FERMAX ELECTRONICA S.A.U."
@@ -12204,7 +12243,6 @@
285132 o="Shenzhen Prayfly Technology Co.,Ltd"
2852E0 o="Layon international Electronic & Telecom Co.,Ltd"
2852F9 o="Zhongxin Intelligent Times (Shenzhen) Co., Ltd."
-2856C1 o="Harman International"
285F2F o="RNware Co.,Ltd."
286046 o="Lantech Communications Global, Inc."
286094 o="CAPELEC"
@@ -12254,7 +12292,8 @@
28CD1C o="Espotel Oy"
28CD4C o="Individual Computers GmbH"
28CD9C o="Shenzhen Dynamax Software Development Co.,Ltd."
-28CF08,A8B9B3 o="ESSYS"
+28CF08,487AFF,A8B9B3 o="ESSYS"
+28D127,44237C,50D2F5,50EC50,5448E6,58B623,5CE50C,6490C1,88C397,8C53C3,9C9D7E,B460ED,EC4D3E o="Beijing Xiaomi Mobile Software Co., Ltd"
28D244 o="LCFC(HeFei) Electronics Technology Co., Ltd."
28D436 o="Jiangsu dewosi electric co., LTD"
28D576 o="Premier Wireless, Inc."
@@ -12312,7 +12351,7 @@
2C3796 o="CYBO CO.,LTD."
2C37C5 o="Qingdao Haier Intelligent Home Appliance Technology Co.,Ltd"
2C3A28 o="Fagor Electrónica"
-2C3AFD,2C91AB,3810D5,444E6D,5C4979,7CFF4D,989BCB,C80E14,CCCE1E,DC396F,E0286D,E8DF70,F0B014 o="AVM Audiovisuelles Marketing und Computersysteme GmbH"
+2C3AFD,2C91AB,3810D5,3CA62F,444E6D,5C4979,74427F,7CFF4D,989BCB,C80E14,CCCE1E,DC396F,E0286D,E8DF70,F0B014 o="AVM Audiovisuelles Marketing und Computersysteme GmbH"
2C3BFD o="Netstor Technology Co., Ltd."
2C3F3E o="Alge-Timing GmbH"
2C402B o="Smart iBlue Technology Limited"
@@ -12333,6 +12372,7 @@
2C6798 o="InTalTech Ltd."
2C67FB o="ShenZhen Zhengjili Electronics Co., LTD"
2C69BA o="RF Controls, LLC"
+2C6F51 o="Herospeed Digital Technology Limited"
2C7155 o="HiveMotion"
2C72C3 o="Soundmatters"
2C7360,4C0FC7,6CE8C6,B447F5,B8C6AA o="Earda Technologies co Ltd"
@@ -12358,7 +12398,7 @@
2CA539 o="Parallel Wireless, Inc"
2CA780 o="True Technologies Inc."
2CA89C o="Creatz inc."
-2CAA8E o="Wyze Labs Inc"
+2CAA8E,7C78B2 o="Wyze Labs Inc"
2CAC44 o="CONEXTOP"
2CAD13 o="SHENZHEN ZHILU TECHNOLOGY CO.,LTD"
2CB0DF o="Soliton Technologies Pvt Ltd"
@@ -12374,7 +12414,6 @@
2CD1DA o="Sanjole, Inc."
2CD2E3 o="Guangzhou Aoshi Electronic Co.,Ltd"
2CDD0C o="Discovergy GmbH"
-2CDD95,38E3C5,4C8120,501B32,64D954,6CC63B,743C18,900A1A,B4265D,D00ED9,E8D0B9,F06865,F49EEF,F844E3,F86CE1,FC10C6 o="Taicang T&W Electronics"
2CE2A8 o="DeviceDesign"
2CE310 o="Stratacache"
2CE871 o="Alert Metalguard ApS"
@@ -12414,10 +12453,9 @@
304449 o="PLATH GmbH"
3044A1 o="Shanghai Nanchao Information Technology"
30493B o="Nanjing Z-Com Wireless Co.,Ltd"
-304A26 o="Shenzhen Trolink Technology CO, LTD"
+304A26,68B9D3 o="Shenzhen Trolink Technology CO, LTD"
304C7E o="Panasonic Electric Works Automation Controls Techno Co.,Ltd."
304EC3 o="Tianjin Techua Technology Co., Ltd."
-304F75,9C65EE,D096FB o="DASAN Network Solutions"
305075,70BF92,745C4B o="GN Audio A/S"
3051F8 o="BYK-Gardner GmbH"
30525A o="NST Co., LTD"
@@ -12453,16 +12491,17 @@
309FFB o="Ardomus Networks Corporation"
30A220 o="ARG Telecom"
30A243 o="Shenzhen Prifox Innovation Technology Co., Ltd."
+30A452 o="Arrival Elements BV"
30A889 o="DECIMATOR DESIGN"
30AABD o="Shanghai Reallytek Information Technology Co.,Ltd"
30AE7B o="Deqing Dusun Electron CO., LTD"
30AEF6 o="Radio Mobile Access"
30B164 o="Power Electronics International Inc."
-30B216 o="ABB AG - Power Grids - Grid Automation"
+30B216 o="Hitachi ABB Power Grids – Grid Automation"
+30B237,345BBB,502DBB,847C9B,A0681C,F0C9D1 o="GD Midea Air-Conditioning Equipment Co.,Ltd."
30B3A2 o="Shenzhen Heguang Measurement & Control Technology Co.,Ltd"
30B5F1 o="Aitexin Technology Co., Ltd"
30B9B0 o="Intracom Asia Co., Ltd"
-30C01B,5CFB7C,8850F6,B8F653,E8D03C,F4BCDA o="Shenzhen Jingxun Software Telecommunication Technology Co.,Ltd"
30C750 o="MIC Technology Group"
30C82A o="WI-BIZ srl"
30D357 o="Logosol, Inc."
@@ -12490,7 +12529,7 @@
340A22 o="TOP-ACCESS ELECTRONICS CO LTD"
340B40 o="MIOS ELETTRONICA SRL"
340CED o="Moduel AB"
-340F66 o="MicroArx Corporation"
+340F66 o="Web Sensing LLC"
341290 o="Treeview Co.,Ltd."
3413A8 o="Mediplan Limited"
341A4C o="SHENZHEN WEIBU ELECTRONICS CO.,LTD."
@@ -12507,6 +12546,7 @@
343794 o="Hamee Corp."
3438AF o="Inlab Software GmbH"
343D98,74B9EB o="JinQianMao Technology Co.,Ltd."
+343EA4,54E019 o="Ring LLC"
3440B5,40F2E9,98BE94,A897DC o="IBM"
3441A8 o="ER-Telecom"
34466F o="HiTEM Engineering"
@@ -12520,7 +12560,6 @@
34543C o="TAKAOKA TOKO CO.,LTD."
345ABA o="tcloud intelligence"
345B11 o="EVI HEAT AB"
-345BBB,502DBB,847C9B,F0C9D1 o="GD Midea Air-Conditioning Equipment Co.,Ltd."
345C40 o="Cargt Holdings LLC"
345D10 o="Wytek"
3463D4 o="BIONIX SUPPLYCHAIN TECHNOLOGIES SLU"
@@ -12539,9 +12578,10 @@
3482DE o="Kiio Inc"
348302 o="iFORCOM Co., Ltd"
34862A o="Heinz Lackmann GmbH & Co KG"
-34873D o="Quectel Wireless Solution Co.,Ltd."
+34873D,50804A,546503,80FBF0,90BDE6,A486AE,C44137 o="Quectel Wireless Solutions Co., Ltd."
34885D,F47335 o="Logitech Far East"
348B75,48FCB6,AC562C o="LAVA INTERNATIONAL(H.K) LIMITED"
+34916F o="UserGate Ltd."
349342 o="TTE Corporation"
3497FB o="ADVANCED RF TECHNOLOGIES INC"
34996F o="VPI Engineering"
@@ -12593,6 +12633,7 @@
34E42A o="Automatic Bar Controls Inc."
34E70B o="HAN Networks Co., Ltd"
34EA34,780F77,C8F742 o="HangZhou Gubei Electronics Technology Co.,Ltd"
+34EAE7 o="Shanghai High-Flying Electronics Technology Co., Ltd"
34ED0B o="Shanghai XZ-COM.CO.,Ltd."
34EF8B o="NTT Communications Corporation"
34F0CA o="Shenzhen Linghangyuan Digital Technology Co.,Ltd."
@@ -12660,7 +12701,7 @@
388E7A o="AUTOIT"
388EE7 o="Fanhattan LLC"
3891FB o="Xenox Holding BV"
-3894E0 o="Syrotech Networks. Ltd."
+3894E0,7CA96B o="Syrotech Networks. Ltd."
389592 o="Beijing Tendyron Corporation"
3898D8 o="MERITECH CO.,LTD"
389F5A o="C-Kur TV Inc."
@@ -12683,6 +12724,7 @@
38C70A o="WiFiSong"
38C7BA o="CS Services Co.,Ltd."
38C9A9 o="SMART High Reliability Solutions, Inc."
+38CA73,408C4C,50A132,B899AE o="Shenzhen MiaoMing Intelligent Technology Co.,Ltd"
38CA97 o="Contour Design LLC"
38CD07 o="Beijing FaceCam Technology Co., Ltd."
38D135 o="EasyIO Corporation Sdn. Bhd."
@@ -12699,14 +12741,14 @@
38EE9D o="Anedo Ltd."
38EFE3,B40016 o="INGENICO TERMINALS SAS"
38F098 o="Vapor Stone Rail Systems"
-38F0C8 o="Livestream"
+38F0C8 o="Mevo Inc."
38F135 o="SensorTec-Canada"
-38F32E,D08A55 o="Skullcandy"
+38F32E,5C443E,D08A55 o="Skullcandy"
38F33F o="TATSUNO CORPORATION"
38F554 o="HISENSE ELECTRIC CO.,LTD"
38F557 o="JOLATA, INC."
38F597 o="home2net GmbH"
-38F601 o="SOLID STATE STORAGE TECHNOLOGY CORPORATION"
+38F601 o="Solid State Storage Technology Corporation"
38F708 o="National Resource Management, Inc."
38F7B2 o="SEOJUN ELECTRIC"
38F8B7 o="V2COM PARTICIPACOES S.A."
@@ -12730,12 +12772,13 @@
3C1A0F o="ClearSky Data"
3C1A57 o="Cardiopulmonary Corp"
3C1A79 o="Huayuan Technology CO.,LTD"
+3C1A9E o="VitalThings AS"
3C1CBE o="JADAK LLC"
3C1E13 o="HANGZHOU SUNRISE TECHNOLOGY CO., LTD"
3C26D5 o="Sotera Wireless"
3C2763 o="SLE quality engineering GmbH & Co. KG"
3C28A6 o="Alcatel-Lucent Enterprise (China)"
-3C2AF4 o="Brother Industries, LTD."
+3C2AF4,B42200 o="Brother Industries, LTD."
3C2C94 o="杭州德澜科技有限公司(HangZhou Delan Technology Co.,Ltd)"
3C2F3A o="SFORZATO Corp."
3C300C o="Dewar Electronics Pty Ltd"
@@ -12749,6 +12792,7 @@
3C4937 o="ASSMANN Electronic GmbH"
3C4C69 o="Infinity System S.L."
3C4E47 o="Etronic A/S"
+3C53D7 o="CEDES AG"
3C57BD o="Kessler Crane Inc."
3C57D5 o="FiveCo"
3C5CC3 o="Shenzhen First Blue Chip Technology Ltd"
@@ -12794,7 +12838,7 @@
3CB792 o="Hitachi Maxell, Ltd., Optronics Division"
3CB9A6 o="Belden Deutschland GmbH"
3CBB73,40C81F o="Shenzhen Xinguodu Technology Co., Ltd."
-3CBD3E,8C5AF8,C82832,D45EEC,E0B655,E4DB6D,ECFA5C o="Beijing Xiaomi Electronics Co., Ltd."
+3CBD3E,6C0DC4,8C5AF8,C82832,D45EEC,E0B655,E4DB6D,ECFA5C o="Beijing Xiaomi Electronics Co., Ltd."
3CBDD8,3CCD93,9893CC,C041F6,CC2D8C,E85B5B o="LG ELECTRONICS INC"
3CC079 o="Shenzhen One-Nine Intelligent Electronic Science and Technology Co., Ltd"
3CC0C6 o="d&b audiotechnik GmbH"
@@ -12824,6 +12868,7 @@
4000E0 o="Derek(Shaoguan)Limited"
400107 o="Arista Corp"
40040C o="A&T"
+400589 o="T-Mobile, USA"
4007C0 o="Railtec Systems GmbH"
400E67 o="Tremol Ltd."
4011DC o="Sonance"
@@ -12840,11 +12885,11 @@
403067 o="Conlog (Pty) Ltd"
40336C o="Godrej & Boyce Mfg. co. ltd"
4037AD o="Macro Image Technology, Inc."
-404022,A43111 o="ZIV"
+404022,404028,A43111 o="ZIV"
40406B o="Icomera"
404229 o="Layer3TV, Inc"
4045DA o="Spreadtrum Communications (Shanghai) Co., Ltd."
-40476A o="AG Acquisition Corp. d.b.a. ASTRO Gaming"
+40476A o="Astro Gaming"
40498A o="Synapticon GmbH"
404A18 o="Addrek Smart Solutions"
404AD4,84D4C8 o="Widex A/S"
@@ -12863,6 +12908,7 @@
406186 o="MICRO-STAR INT'L CO.,LTD"
40618E o="Stella-Green Co"
406231 o="GIFA"
+406234,C419D1,D80BCB,D85F77 o="Telink Semiconductor (Shanghai) Co., Ltd."
4062B6 o="Tele system communication"
40667A o="mediola - connected living AG"
406826 o="Thales UK Limited"
@@ -12879,6 +12925,7 @@
4088E0 o="Beijing Ereneben Information Technology Limited Shenzhen Branch"
408A9A o="TITENG CO., Ltd."
408BF6,5CAD76 o="Shenzhen TCL New Technology Co., Ltd"
+409505 o="ACOINFO TECHNOLOGY CO.,LTD"
409558,40987B o="Aisino Corporation"
4095BD o="NTmore.Co.,Ltd"
4097D1 o="BK Electronics cc"
@@ -12909,6 +12956,7 @@
40D559 o="MICRO S.E.R.I."
40D63C o="Equitech Industrial(DongGuan)Co.,Ltd"
40DC9D o="HAJEN"
+40DDD1 o="Beautiful Card Corporation"
40DF02 o="LINE BIZ Plus"
40E730 o="DEY Storage Systems, Inc."
40E793 o="Shenzhen Siviton Technology Co.,Ltd"
@@ -12930,9 +12978,9 @@
44184F o="Fitview"
441E91 o="ARVIDA Intelligent Electronics Technology Co.,Ltd."
4422F1 o="S.FAC, INC"
-44237C,50D2F5,50EC50,5CE50C,6490C1,88C397,8C53C3 o="Beijing Xiaomi Mobile Software Co., Ltd"
4423AA o="Farmage Co., Ltd."
4425BB o="Bamboo Entertainment Corporation"
+4427F3 o="70mai Co.,Ltd."
4428A3 o="Jiangsu fulian Communication Technology Co., Ltd."
442938 o="NietZsche enterprise Co.Ltd."
442AFF o="E3 Technology, Inc."
@@ -12970,6 +13018,7 @@
44656A o="Mega Video Electronic(HK) Industry Co., Ltd"
44666E o="IP-LINE"
446755 o="Orbit Irrigation"
+44680C,68A8E1,884A70 o="Wacom Co.,Ltd."
4468AB o="JUIN COMPANY, LIMITED"
446C24 o="Reallin Electronic Co.,Ltd"
44700B o="IFFU"
@@ -12983,9 +13032,11 @@
448312 o="Star-Net"
4486C1 o="Siemens Low Voltage & Products"
448723 o="HOYA SERVICE CORPORATION"
+4487DB o="Tymphany Acoustic Technology (Huizhou) Co., Ltd."
4488CB o="Camco Technologies NV"
448A5B o="Micro-Star INT'L CO., LTD."
448C52 o="KTIS CO., Ltd"
+448DBF o="Rhino Mobility LLC"
448E12 o="DT Research, Inc."
448E81 o="VIG"
4491DB,902181 o="Shanghai Huaqin Telecom Technology Co.,Ltd"
@@ -12995,7 +13046,7 @@
449CB5 o="Alcomp, Inc"
449F7F o="DataCore Software Corporation"
44A466 o="GROUPE LDLC"
-44A61E o="INGRAM MICRO SERVICES"
+44A54E,9C6937,C49886 o="Qorvo International Pte. Ltd."
44A689 o="PROMAX ELECTRONICA SA"
44A6E5 o="THINKING TECHNOLOGY CO.,LTD"
44A8C2 o="SEWOO TECH CO., LTD"
@@ -13029,20 +13080,23 @@
44EE02 o="MTI Ltd."
44EE30 o="Budelmann Elektronik GmbH"
44EFCF o="UGENE SOLUTION inc."
+44F4E7 o="Cohesity Inc"
44F849 o="Union Pacific Railroad"
44FDA3 o="Everysight LTD."
-4801C5,4C4FEE,5C17CF,64A2F9,94652D,9809CF o="OnePlus Technology (Shenzhen) Co., Ltd"
+4801C5,4C4FEE,5C17CF,64A2F9,94652D,9809CF,AC5FEA,E44122 o="OnePlus Technology (Shenzhen) Co., Ltd"
48022A o="B-Link Electronic Limited"
480362 o="DESAY ELECTRONICS(HUIZHOU)CO.,LTD"
48049F o="ELECOM CO., LTD"
48066A o="Tempered Networks, Inc."
481063 o="NTT Innovation Institute, Inc."
481249 o="Luxcom Technologies Inc."
+481693,48C58D o="Lear Corporation GmbH"
48174C o="MicroPower technologies"
481842 o="Shanghai Winaas Co. Equipment Co. Ltd."
4818FA o="Nocsys"
481A84 o="Pointer Telocation Ltd"
481BD2 o="Intron Scientific co., ltd."
+482335,80EACA o="Dialog Semiconductor Hellas SA"
4826E8 o="Tek-Air Systems, Inc."
482759 o="Levven Electronics Ltd."
482CEA o="Motorola Inc Business Light Radios"
@@ -13082,6 +13136,7 @@
489D18 o="Flashbay Limited"
48A22D o="Shenzhen Huaxuchang Telecom Technology Co.,Ltd"
48A2B7 o="Kodofon JSC"
+48A2B8 o="Chengdu Vision-Zenith Tech.Co,.Ltd"
48A493,AC3FA4 o="TAIYO YUDEN CO.,LTD"
48A6D2 o="GJsun Optical Science and Tech Co.,Ltd."
48AA5D o="Store Electronic Systems"
@@ -13098,7 +13153,6 @@
48C049 o="Broad Telecom SA"
48C093 o="Xirrus, Inc."
48C3B0 o="Pharos Co.Ltd"
-48C58D o="Lear Corporation GmbH"
48C663 o="GTO Access Systems LLC"
48C862 o="Simo Wireless,Inc."
48C8B6 o="SysTec GmbH"
@@ -13139,19 +13193,23 @@
4C1A3A o="PRIMA Research And Production Enterprise Ltd."
4C1A95 o="Novakon Co., Ltd."
4C218C o="Panasonic India Private limited"
+4C2219 o="YUANFUDAO HK LIMTED"
4C2258 o="cozybit, Inc."
4C26E7 o="Welgate Co., Ltd."
4C2C80 o="Beijing Skyway Technologies Co.,Ltd"
4C2C83 o="Zhejiang KaNong Network Technology Co.,Ltd."
+4C2EFE o="Shenzhen Comnect Technology Co.,LTD"
4C2F9D o="ICM Controls"
4C3089 o="Thales Transportation Systems GmbH"
4C322D o="TELEDATA NETWORKS"
4C32D9 o="M Rutty Holdings Pty. Ltd."
+4C3329 o="Sweroam"
4C334E o="HIGHTECH"
4C364E o="Panasonic Corporation Connected Solutions Company"
4C3909 o="HPL Electric & Power Private Limited"
4C3910 o="Newtek Electronics co., Ltd."
4C3B74 o="VOGTEC(H.K.) Co., Ltd"
+4C4088 o="SANSHIN ELECTRONICS CO.,LTD."
4C4576 o="China Mobile(Hangzhou) Information Technology Co.,Ltd."
4C48DA o="Beijing Autelan Technology Co.,Ltd"
4C4B68 o="Mobile Device, Inc."
@@ -13193,6 +13251,7 @@
4CADA8 o="PANOPTICS CORP."
4CAE1C o="SaiNXT Technologies LLP"
4CAE31 o="ShengHai Electronics (Shenzhen) Ltd"
+4CAEEC o="Guangzhou limee technology co.,LTD"
4CB008 o="Shenzhen Gwelltimes Technology Co.,Ltd"
4CB0E8 o="Beijing RongZhi xinghua technology co., LTD"
4CB21C o="Maxphotonics Co.,Ltd"
@@ -13200,7 +13259,7 @@
4CB4EA o="HRD (S) PTE., LTD."
4CB76D o="Novi Security"
4CB81C o="SAM Electronics GmbH"
-4CB82C o="Cambridge Mobile Telematics, Inc."
+4CB911 o="Raisecom Technology CO.,LTD"
4CB9C8 o="CONET CO., LTD."
4CBAA3 o="Bison Electronics Inc."
4CBB58,645A04,907F61,B0C090 o="Chicony Electronics Co., Ltd."
@@ -13230,6 +13289,7 @@
4CF5A0 o="Scalable Network Technologies Inc"
4CF737 o="SamJi Electronics Co., Ltd"
4CFBFE o="Sercomm Japan Corporation"
+4CFCAA,98ED5C o="Tesla,Inc."
4CFF12 o="Fuze Entertainment Co., ltd"
500084 o="Siemens Canada"
50008C o="Hong Kong Telecommunications (HKT) Limited"
@@ -13255,6 +13315,7 @@
502ECE o="Asahi Electronics Co.,Ltd"
5031AD o="ABB Global Industries and Services Private Limited"
5033F0 o="YICHEN (SHENZHEN) TECHNOLOGY CO.LTD"
+50382F o="ASE Group Chung-Li"
503A7D o="AlphaTech PLC Int’l Co., Ltd."
503E7C o="LeiShen Intelligent System Co.Ltd"
503F56 o="Syncmold Enterprise Corp"
@@ -13262,7 +13323,7 @@
5043B9 o="OktoInform RUS"
5045F7 o="Liuhe Intelligence Technology Ltd."
5048EB o="BEIJING HAIHEJINSHENG NETWORK TECHNOLOGY CO. LTD."
-504A5E,8809AF,B810D4,C816A5,E0C2B7 o="Masimo Corporation"
+504A5E,8809AF,B810D4,C816A5,C88BE8,E0C2B7 o="Masimo Corporation"
504B5B o="CONTROLtronic GmbH"
504C7E o="THE 41ST INSTITUTE OF CETC"
504F94 o="Loxone Electronics GmbH"
@@ -13279,7 +13340,7 @@
5061D6 o="Indu-Sol GmbH"
506441 o="Greenlee"
506787 o="Planet Networks"
-506B8D o="Nutanix"
+506B8D,B47947,E01995 o="Nutanix"
506CBE o="InnosiliconTechnology Ltd"
506E92 o="Innocent Technology Co., Ltd."
506F98 o="Sehaj Synergy Technologies Private Limited"
@@ -13289,9 +13350,7 @@
507691 o="Tekpea, Inc."
5076A6 o="Ecil Informatica Ind. Com. Ltda"
50795B o="Interexport Telecomunicaciones S.A."
-507B9D,54E1AD,68F728,8C1645,98FA9B,C85B76,E86A64,F875A4 o="LCFC(HeFei) Electronics Technology co., ltd"
507D02 o="BIODIT"
-50804A,546503,80FBF0,90BDE6 o="Quectel Wireless Solutions Co., Ltd."
5087B8 o="Nuvyyo Inc"
508A0F o="SHENZHEN FISE TECHNOLOGY HOLDING CO.,LTD."
508A42 o="Uptmate Technology Co., LTD"
@@ -13304,7 +13363,6 @@
5098F3 o="Rheem Australia Pty Ltd"
50A054 o="Actineon"
50A0BF o="Alba Fiber Systems Inc."
-50A132,B899AE o="Shenzhen MiaoMing Intelligent Technology Co.,Ltd"
50A6E3 o="David Clark Company"
50A715 o="Aboundi, Inc."
50A9DE o="Smartcom - Bulgaria AD"
@@ -13320,6 +13378,7 @@
50B8A2 o="ImTech Technologies LLC,"
50C006 o="Carmanah Signs"
50C271 o="SECURETECH INC"
+50C68E o="Biwin Semiconductor (HK) Company Limted"
50C9A0 o="SKIPPER AS"
50CD32 o="NanJing Chaoran Science & Technology Co.,Ltd."
50CE75 o="Measy Electronics Co., Ltd."
@@ -13376,7 +13435,6 @@
544741 o="XCHENG HOLDING"
5447D3 o="TSAT AS"
54489C o="CDOUBLES ELECTRONICS CO. LTD."
-5448E6 o="Beijing Xiaomi Mobile Software Co.,Ltd"
544A05 o="wenglor sensoric gmbh"
545146 o="AMG Systems Ltd."
545414 o="Digital RF Corea, Inc"
@@ -13424,7 +13482,6 @@
54DED0 o="Sevio Srl"
54DF00 o="Ulterius Technologies, LLC"
54DF63 o="Intrakey technologies GmbH"
-54E019 o="Ring LLC"
54E2C8 o="Dongguan Aoyuan Electronics Technology Co., Ltd"
54E3B0 o="JVL Industri Elektronik"
54E4A9 o="BHR Tech GmbH"
@@ -13434,6 +13491,7 @@
54EF44 o="Lumi United Technology Co., Ltd"
54EF92 o="Shenzhen Elink Technology Co., LTD"
54EFFE o="Fullpower Technologies, Inc."
+54F15F,601D9D,A42985,B4C9B9,C0E7BF o="Sichuan AI-Link Technology Co., Ltd."
54F5B6 o="ORIENTAL PACIFIC INTERNATIONAL LIMITED"
54F666 o="Berthold Technologies GmbH and Co.KG"
54F876 o="ABB AG"
@@ -13477,7 +13535,6 @@
58570D o="Danfoss Solar Inverters"
586163 o="Quantum Networks (SG) Pte. Ltd."
58639A o="TPL SYSTEMES"
-5865E6 o="INFOMARK CO., LTD."
58671A,64C667 o="Barnes&Noble"
58677F o="Clare Controls Inc."
58685D o="Tempo Australia Pty Ltd"
@@ -13497,6 +13554,7 @@
5887E2,846223,94BA56,A4A80F o="Shenzhen Coship Electronics Co., Ltd."
588D64 o="Xi'an Clevbee Technology Co.,Ltd"
58920D o="Kinetic Avionics Limited"
+5894A2 o="KETEK GmbH"
5894B2 o="BrainCo"
5894CF o="Vertex Standard LMR, Inc."
58986F o="Revolution Display"
@@ -13505,6 +13563,7 @@
58A0CB o="TrackNet, Inc"
58A48E o="PixArt Imaging Inc."
58A76F o="iD corporation"
+58A87B,5C75AF,F051EA o="Fitbit, Inc."
58B0D4 o="ZuniData Systems Inc."
58B42D,7868F7,ACBB61 o="YSTen Technology Co.,Ltd"
58B568 o="SECURITAS DIRECT ESPAÑA, SAU"
@@ -13527,6 +13586,7 @@
58E636 o="EVRsafe Technologies"
58E747 o="Deltanet AG"
58E808 o="AUTONICS CORPORATION"
+58E873 o="HANGZHOU DANGBEI NETWORK TECH.Co.,Ltd"
58EAFC o="ELL-IoT Inc"
58EB14 o="Proteus Digital Health"
58ECE1 o="Newport Corporation"
@@ -13546,6 +13606,7 @@
5C0BCA o="Tunstall Nordic AB"
5C0C0E o="Guizhou Huaxintong Semiconductor Technology Co Ltd"
5C0CBB o="CELIZION Inc."
+5C0FFB o="Amino Communications Ltd"
5C1193 o="Seal One AG"
5C1437 o="Thyssenkrupp Aufzugswerke GmbH"
5C1515 o="ADVAN"
@@ -13556,6 +13617,7 @@
5C18B5 o="Talon Communications"
5C20D0 o="Asoni Communication Co., Ltd."
5C22C4 o="DAE EUN ELETRONICS CO., LTD"
+5C2316 o="Squirrels Research Labs LLC"
5C2443 o="O-Sung Telecom Co., Ltd."
5C2479 o="Baltech AG"
5C254C o="Avire Global Pte Ltd"
@@ -13566,6 +13628,7 @@
5C32C5 o="Teracom Ltd."
5C3327 o="Spazio Italia srl"
5C335C o="Swissphone Telecom AG"
+5C3400 o="HISENSE VISUAL TECHNOLOGY CO.,LTD"
5C35DA o="There Corporation Oy"
5C38E0 o="Shanghai Super Electronics Technology Co.,LTD"
5C3B35 o="Gehirn Inc."
@@ -13585,8 +13648,8 @@
5C6984 o="NUVICO"
5C6A7D o="KENTKART EGE ELEKTRONIK SAN. VE TIC. LTD. STI."
5C6B4F o="Hello Inc."
+5C6BD7 o="Foshan VIOMI Electric Appliance Technology Co. Ltd."
5C6F4F o="S.A. SISTEL"
-5C75AF,F051EA o="Fitbit, Inc."
5C7757 o="Haivision Network Video"
5C81A7 o="Network Devices Pty Ltd"
5C8486 o="Brightsource Industries Israel LTD"
@@ -13596,6 +13659,8 @@
5C8778 o="Cybertelbridge co.,ltd"
5C89D4 o="Beijing Banner Electric Co.,Ltd"
5C8D2D o="Shanghai Wellpay Information Technology Co., Ltd"
+5C9012 o="Owl Cyber Defense Solutions, LLC"
+5C91FD o="Jaewoncnc"
5C966A o="RTNET"
5CA178 o="TableTop Media (dba Ziosk)"
5CA1E0 o="EmbedWay Technologies"
@@ -13610,7 +13675,7 @@
5CB8CB o="Allis Communications"
5CBD9E o="HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED"
5CC213 o="Fr. Sauter AG"
-5CC6E9 o="Edifier International"
+5CC6E9,60F43A o="Edifier International"
5CC7D7 o="AZROAD TECHNOLOGY COMPANY LIMITED"
5CC9D3 o="PALLADIUM ENERGY ELETRONICA DA AMAZONIA LTDA"
5CCA32 o="Theben AG"
@@ -13622,6 +13687,7 @@
5CD20B o="Yytek Co., Ltd."
5CD41B o="UCZOON Technology Co., LTD"
5CD4AB o="Zektor"
+5CD5B5 o="Shenzhen WiSiYiLink Technology Co.,Ltd"
5CD61F o="Qardio, Inc"
5CE0CA o="FeiTian United (Beijing) System Technology Co., Ltd."
5CE0F6 o="NIC.br- Nucleo de Informacao e Coordenacao do Ponto BR"
@@ -13637,10 +13703,12 @@
5CF7C3 o="SYNTECH (HK) TECHNOLOGY LIMITED"
5CF9F0 o="Atomos Engineering P/L"
5CFAFB o="Acubit"
+5CFE9E o="Wiwynn Corporation Tainan Branch"
5CFFFF o="Shenzhen Kezhonglong Optoelectronic Technology Co., Ltd"
600347 o="Billion Electric Co. Ltd."
600417 o="POSBANK CO.,LTD"
60058A o="Hitachi Metals, Ltd."
+60077C o="Jala Group"
600837 o="ivvi Scientific(Nanchang)Co.Ltd"
6009C3,6C1DEB,CCF957,D4CA6E o="u-blox AG"
600F77 o="SilverPlus, Inc"
@@ -13654,7 +13722,6 @@
601929 o="VOLTRONIC POWER TECHNOLOGY(SHENZHEN) CORP."
601970 o="HUIZHOU QIAOXING ELECTRONICS TECHNOLOGY CO., LTD."
601D0F o="Midnite Solar"
-601D9D,A42985,B4C9B9 o="Sichuan AI-Link Technology Co., Ltd."
601E02 o="EltexAlatau"
602103 o="I4VINE, INC"
6024C1 o="Jiangsu Zhongxun Electronic Technology Co., Ltd"
@@ -13681,6 +13748,7 @@
6052D0 o="FACTS Engineering"
605317 o="Sandstone Technologies"
605464 o="Eyedro Green Solutions Inc."
+605661 o="IXECLOUD Tech"
6061DF o="Z-meta Research LLC"
6063F9 o="Ciholas, Inc."
6063FD o="Transcend Communication Beijing Co.,Ltd."
@@ -13746,6 +13814,7 @@
60E6BC o="Sino-Telecom Technology Co.,Ltd."
60E78A o="UNISEM"
60E956 o="Ayla Networks, Inc"
+60EB5A o="Asterfusion Data Technologies Co.,Ltd"
60EFC6 o="Shenzhen Chima Technologies Co Limited"
60F13D o="JABLOCOM s.r.o."
60F281 o="TRANWO TECHNOLOGY CO., LTD."
@@ -13783,7 +13852,7 @@
643F5F o="Exablaze"
644214 o="Swisscom Energy Solutions AG"
644346 o="GuangDong Quick Network Computer CO.,LTD"
-6447E0 o="Feitian Technologies Co., Ltd"
+6447E0,E092A7 o="Feitian Technologies Co., Ltd"
644BC3 o="Shanghai WOASiS Telecommunications Ltd., Co."
644BF0 o="CalDigit, Inc"
644D70 o="dSPACE GmbH"
@@ -13831,9 +13900,11 @@
64A341 o="Wonderlan (Beijing) Technology Co., Ltd."
64A68F o="Zhongshan Readboy Electronics Co.,Ltd"
64A837 o="Juni Korea Co., Ltd"
+64A965 o="Linkflow Co., Ltd."
64AE88 o="Polytec GmbH"
64B21D o="Chengdu Phycom Tech Co., Ltd."
64B370 o="PowerComm Solutions LLC"
+64B623 o="CCS Care Communication Solutions GmbH"
64B64A o="ViVOtech, Inc."
64BABD o="SDJ Technologies, Inc."
64BC11 o="CombiQ AB"
@@ -13854,6 +13925,7 @@
64DF10 o="JingLue Semiconductor(SH) Ltd."
64DFE9 o="ATEME"
64E161 o="DEP Corp."
+64E172 o="Shenzhen Qihoo Intelligent Technology Co.,Ltd"
64E625 o="Woxu Wireless Co., Ltd"
64E84F o="Serialway Communication Technology Co. Ltd"
64E892 o="Morio Denki Co., Ltd."
@@ -13867,6 +13939,7 @@
64F6BB,B436A9 o="Fibocom Wireless Inc."
64F6F7 o="Anhui Dynamic Power Co., Ltd."
64F81C o="Huawei Technologies Co., Ltd."
+64F947 o="Senscomm Semiconductor Co., Ltd."
64F970 o="Kenade Electronics Technology Co.,LTD."
64F987 o="Avvasi Inc."
64F9C0 o="ANALOG DEVICES"
@@ -13894,6 +13967,7 @@
6829DC o="Ficosa Electronics S.L.U."
682DDC o="Wuhan Changjiang Electro-Communication Equipment CO.,LTD"
6831FE o="Teladin Co.,Ltd."
+68332C o="KENSTEL NETWORKS LIMITED"
683489 o="LEA Professional"
683563 o="SHENZHEN LIOWN ELECTRONICS CO.,LTD."
6836B5 o="DriveScale, Inc."
@@ -13906,9 +13980,11 @@
684352 o="Bhuu Limited"
6843D7 o="Agilecom Photonics Solutions Guangdong Limited"
6845F1 o="TOSHIBA CLIENT SOLUTIONS CO., LTD."
+6849B2 o="CARLO GAVAZZI LTD"
684B88 o="Galtronics Telemetry Inc."
684CA8 o="Shenzhen Herotel Tech. Co., Ltd."
6851B7 o="PowerCloud Systems, Inc."
+6852D6 o="UGame Technology Co.,Ltd"
68536C o="SPnS Co.,Ltd"
685388 o="P&S Technology"
6854F5 o="enLighted Inc"
@@ -13944,7 +14020,6 @@
689AB7 o="Atelier Vision Corporation"
68A1B7 o="Honghao Mingchuan Technology (Beijing) CO.,Ltd."
68A40E o="BSH Hausgeräte GmbH"
-68A8E1,884A70 o="Wacom Co.,Ltd."
68AAD2 o="DATECS LTD.,"
68AB8A o="RF IDeas"
68AF13 o="Futura Mobility"
@@ -14024,6 +14099,7 @@
6C6126 o="Rinicom Holdings"
6C626D,8C89A5 o="Micro-Star INT'L CO., LTD"
6C641A o="Penguin Computing"
+6C6D09 o="Kyowa Electronics Co.,Ltd."
6C6EFE o="Core Logic Inc."
6C6F18 o="Stereotaxis, Inc."
6C7039 o="Novar GmbH"
@@ -14100,7 +14176,7 @@
702DD1 o="Newings Communication CO., LTD."
702E80 o="DIEHL Connectivity Solutions"
702ED9,7472B0,78DDD9 o="Guangzhou Shiyuan Electronics Co., Ltd."
-702F4B o="PolyVision Inc."
+702F4B o="Steelcase Inc."
702F97 o="Aava Mobile Oy"
70305E o="Nanjing Zhongke Menglian Information Technology Co.,LTD"
703187 o="ACX GmbH"
@@ -14128,6 +14204,7 @@
705EAA o="Action Target, Inc."
7060DE o="LaVision GmbH"
706173 o="Calantec GmbH"
+7061EE o="Sunwoda Electronic Co.,Ltd"
706417 o="ORBIS TECNOLOGIA ELECTRICA S.A."
706582,7CDD76 o="Suzhou Hanming Technologies Co., Ltd."
7065A3 o="Kandao lightforge Co., Ltd."
@@ -14149,6 +14226,7 @@
70879E,C8478C o="Beken Corporation"
70884D o="JAPAN RADIO CO., LTD."
708B78 o="citygrow technology co., ltd"
+708CBB o="MIMODISPLAYKOREA"
70918F o="Weber-Stephen Products LLC"
709383 o="Intelligent Optical Network High Tech CO.,LTD."
7093F8 o="Space Monkey, Inc."
@@ -14192,7 +14270,7 @@
70F11C o="Shenzhen Ogemray Technology Co.,Ltd"
70F176 o="Data Modul AG"
70F1E5 o="Xetawave LLC"
-70F82B,78B213,E42686 o="DWnet Technologies(Suzhou) Corporation"
+70F82B,78B213,E00EE4,E42686 o="DWnet Technologies(Suzhou) Corporation"
70FF5C o="Cheerzing Communication(Xiamen)Technology Co.,Ltd"
74042B,E02CB2 o="Lenovo Mobile Communication (Wuhan) Company Limited"
740ABC o="LightwaveRF Technology Ltd"
@@ -14258,6 +14336,7 @@
74A34A o="ZIMI CORPORATION"
74A4A7 o="QRS Music Technologies, Inc."
74A4B5 o="Powerleader Science and Technology Co. Ltd."
+74AB93 o="Blink by Amazon"
74AC5F o="Qiku Internet Network Scientific (Shenzhen) Co., Ltd."
74AE76 o="iNovo Broadband, Inc."
74B00C o="Network Video Technologies, Inc"
@@ -14269,6 +14348,7 @@
74BFB7 o="Nusoft Corporation"
74C621 o="Zhejiang Hite Renewable Energy Co.,LTD"
74CA25,FC2F40 o="Calxeda, Inc."
+74CBF3 o="Lava international limited"
74CD0C o="Smith Myers Communications Ltd."
74CE56 o="Packet Force Technology Limited Company"
74D654 o="GINT"
@@ -14287,6 +14367,7 @@
74F661 o="Schneider Electric Fire & Security Oy"
74F726 o="Neuron Robotics"
74F737 o="KCE"
+74F7F6 o="Shanghai Sunmi Technology Co.,Ltd."
74F85D o="Berkeley Nucleonics Corp"
74F91A o="Onface"
74FDA0 o="Compupal (Group) Corporation"
@@ -14298,6 +14379,7 @@
780738 o="Z.U.K. Elzab S.A."
780AC7 o="Baofeng TV Co., Ltd."
780ED1 o="TRUMPF Werkzeugmaschinen GmbH+Co.KG"
+781100 o="Quantumsolution"
781185 o="NBS Payment Solutions Inc."
7812B8 o="ORANTEK LIMITED"
78192E o="NASCENT Technology"
@@ -14321,9 +14403,9 @@
78510C o="LiveU Ltd."
78524A o="Ensenso GmbH"
785262 o="Shenzhen Hojy Software Co., Ltd."
-78530D o="Shenzhen Skyworth Digital Technology CO., Ltd"
+78530D,80EE25,C08F20 o="Shenzhen Skyworth Digital Technology CO., Ltd"
785364 o="SHIFT GmbH"
-7853F2 o="ROXTON Ltd."
+7853F2 o="Roxton Systems Ltd."
785517 o="SankyuElectronics"
785712 o="Mobile Integration Workgroup"
7858F3 o="Vachen Co.,Ltd"
@@ -14362,8 +14444,6 @@
78A5DD o="Shenzhen Smarteye Digital Electronics Co., Ltd"
78A683 o="Precidata"
78A6BD o="DAEYEON Control&Instrument Co,.Ltd"
-78A714 o="Amphenol"
-78A7EB,9C9789 o="1MORE"
78AB60 o="ABB Australia"
78ACBF o="Igneous Systems"
78AE0C o="Far South Networks"
@@ -14404,6 +14484,7 @@
78EF4C o="Unetconvergence Co., Ltd."
78F5E5 o="BEGA Gantenbrink-Leuchten KG"
78F7D0 o="Silverbrook Research"
+78F8B8 o="Rako Controls Ltd"
78FC14 o="Family Zone Cyber Safety Ltd"
78FE41 o="Socus networks"
78FEE2 o="Shanghai Diveo Technology Co., Ltd"
@@ -14512,6 +14593,7 @@
7CDD11 o="Chongqing MAS SCI&TECH.Co.,Ltd"
7CDD20 o="IOXOS Technologies S.A."
7CDD90 o="Shenzhen Ogemray Technology Co., Ltd."
+7CDDE9 o="ATOM tech Inc."
7CE044 o="NEON Inc"
7CE1FF o="Computer Performance, Inc. DBA Digital Loggers, Inc."
7CE524 o="Quirky, Inc."
@@ -14521,9 +14603,11 @@
7CEBEA o="ASCT"
7CEC9B o="Fuzhou Teraway Information Technology Co.,Ltd"
7CEF18 o="Creative Product Design Pty. Ltd."
+7CEF61 o="STR Elektronik Josef Schlechtinger GmbH"
7CEF8A o="Inhon International Ltd."
7CF098 o="Bee Beans Technologies, Inc."
7CF0BA o="Linkwell Telesystems Pvt Ltd"
+7CF2DD o="Vence Corp"
7CF429 o="NUUO Inc."
7CF95C o="U.I. Lapp GmbH"
7CFE28 o="Salutron Inc."
@@ -14608,6 +14692,7 @@
80C6CA o="Endian s.r.l."
80C755,B46C47,D8AFF1 o="Panasonic Appliances Company"
80C862 o="Openpeak, Inc"
+80CA4B o="SHENZHEN GONGJIN ELECTRONICS CO.,LTD"
80CEB1 o="Theissen Training Systems GmbH"
80D019 o="Embed, Inc"
80D065 o="CKS Corporation"
@@ -14615,7 +14700,7 @@
80D433 o="LzLabs GmbH"
80D733 o="QSR Automations, Inc."
80DB31 o="Power Quotient International Co., Ltd."
-80EACA o="Dialog Semiconductor Hellas SA"
+80F1F1 o="Tech4home, Lda"
80F25E o="Kyynel"
80F593 o="IRCO Sistemas de Telecomunicación S.A."
80F8EB o="RayTight"
@@ -14628,6 +14713,7 @@
841B38 o="Shenzhen Excelsecu Data Technology Co.,Ltd"
841E26 o="KERNEL-I Co.,LTD"
842141 o="Shenzhen Ginwave Technologies Ltd."
+84225E o="SHENZHEN TECHNEWCHIP TECHNOLOGY CO.,LTD."
842519 o="Samsung Electronics"
84253F o="silex technology, Inc."
8425A4 o="Tariox Limited"
@@ -14660,6 +14746,7 @@
8468C8 o="TOTOLINK TECHNOLOGY INT‘L LIMITED"
846A66 o="Sumitomo Kizai Co.,Ltd."
846AED o="Wireless Tsukamoto.,co.LTD"
+846B48 o="ShenZhen EepuLink Co., Ltd."
846EB1 o="Park Assist LLC"
847207 o="I&C Technology"
847303 o="Letv Mobile and Intelligent Information Technology (Beijing) Corporation Ltd."
@@ -14683,6 +14770,7 @@
8497B8 o="Memjet Inc."
849DC5 o="Centera Photonics Inc."
84A24D o="Birds Eye Systems Private Limited"
+84A3B5 o="Propulsion systems"
84A788 o="Perples"
84A991 o="Cyber Trans Japan Co.,Ltd."
84A9EA o="Career Technologies USA"
@@ -14711,7 +14799,7 @@
84E5D8 o="Guangdong UNIPOE IoT Technology Co.,Ltd."
84E629 o="Bluwan SA"
84E714 o="Liang Herng Enterprise,Co.Ltd."
-84EA97 o="Shenzhen iComm Semiconductor Co., Ltd."
+84EA97,98C97C,A47D9F o="Shenzhen iComm Semiconductor CO.,LTD"
84EA99 o="Vieworks"
84EB3E o="Vivint Smart Home"
84ED33 o="BBMC Co.,Ltd"
@@ -14737,7 +14825,9 @@
8821E3 o="Nebusens, S.L."
882364 o="Watchnet DVR Inc"
8823FE o="TTTech Computertechnik AG"
+882949,9C6B37,B436D1,C0E3A0 o="Renesas Electronics (Penang) Sdn. Bhd."
882950 o="Netmoon Technology Co., Ltd"
+882B94 o="MADOKA SYSTEM Co.,Ltd."
882BD7 o="ADDÉNERGIE TECHNOLOGIES"
882D53 o="Baidu Online Network Technology (Beijing) Co., Ltd."
882E5A o="storONE"
@@ -14774,6 +14864,7 @@
888C19 o="Brady Corp Asia Pacific Ltd"
889166 o="Viewcooper Corp."
8891DD o="Racktivity"
+88948F o="Xi'an Zhisensor Technologies Co.,Ltd"
8894F9 o="Gemicom Technology, Inc."
8895B9 o="Unified Packet Systems Crop"
889655 o="Zitte corporation"
@@ -14831,6 +14922,7 @@
8C0551 o="Koubachi AG"
8C078C o="FLOW DATA INC"
8C0CA3 o="Amper"
+8C0E60 o="Nanjing Juplink Intelligent Technologies Co., Ltd."
8C0F83 o="Angie Hospitality LLC"
8C0FA0 o="di-soric GmbH & Co. KG"
8C0FFA o="Hutec co.,ltd"
@@ -14871,6 +14963,7 @@
8C6878 o="Nortek-AS"
8C6AE4 o="Viogem Limited"
8C6DC4 o="Megapixel VR"
+8C7086 o="Gesellschaft für Sonder-EDV-Anlagen mbH"
8C76C1 o="Goden Tech Limited"
8C7BF0 o="Xufeng Development Limited"
8C7EB3 o="Lytro, Inc."
@@ -14909,6 +15002,7 @@
8CC7AA o="Radinet Communications Inc."
8CC7D0 o="zhejiang ebang communication co.,ltd"
8CCDA2 o="ACTP, Inc."
+8CCEFD o="Shenzhen zhouhai technology co.,LTD"
8CCF5C o="BEFEGA GmbH"
8CCF8F o="ITC Systems"
8CD17B o="CG Mobile"
@@ -14921,6 +15015,7 @@
8CDE99 o="Comlab Inc."
8CE2DA o="Circle Media Inc"
8CE38E o="Kioxia Corporation"
+8CE468 o="Guangzhou Sageran Technology Co., Ltd."
8CE78C o="DK Networks"
8CE7B3 o="Sonardyne International Ltd"
8CEEC6 o="Precepscion Pty. Ltd."
@@ -14940,6 +15035,7 @@
900D66 o="Digimore Electronics Co., Ltd"
900E83 o="Monico Monitoring, Inc."
900EB3 o="Shenzhen Amediatech Technology Co., Ltd."
+9012A1,E00EE1 o="We Corporation Inc."
9013DA o="Athom B.V."
901711 o="Hagenuk Marinekommunikation GmbH"
90179B o="Nanomegas"
@@ -15000,6 +15096,7 @@
908FCF o="UNO System Co., Ltd"
90903C o="TRISON TECHNOLOGY CORPORATION"
909060 o="RSI VIDEO TECHNOLOGIES"
+909164 o="ChongQing Lavid Technology Co., Ltd."
9092B4 o="Diehl BGT Defence GmbH & Co. KG"
90940A o="Analog Devices, Inc"
909864 o="Impex-Sat GmbH&Co KG"
@@ -15013,6 +15110,7 @@
90A62F o="NAVER"
90A783 o="JSW PACIFIC CORPORATION"
90A7C1 o="Pakedge Device and Software Inc."
+90A935 o="JWEntertainment"
90AC3F o="BrightSign LLC"
90AFD1 o="netKTI Co., Ltd"
90B1E0 o="Beijing Nebula Link Technology Co., Ltd"
@@ -15044,6 +15142,7 @@
90FF79 o="Metro Ethernet Forum"
940006 o="jinyoung"
940149 o="AutoHotBox"
+94026B o="Optictimes Co.,Ltd"
9405B6 o="Liling FullRiver Electronics & Technology Ltd"
940B2D o="NetView Technologies(Shenzhen) Co., Ltd"
940BD5 o="Himax Technologies, Inc"
@@ -15064,6 +15163,7 @@
943DC9 o="Asahi Net, Inc."
9440A2 o="Anywave Communication Technologies, Inc."
9441C1 o="Mini-Cam Limited"
+9447B0 o="BEIJING ESWIN COMPUTING TECHNOLOGY CO., LTD"
944996 o="WiSilica Inc"
944A09 o="BitWise Controls"
944F4C o="Sound United LLC"
@@ -15092,6 +15192,7 @@
9486D4 o="Surveillance Pro Corporation"
948815 o="Infinique Worldwide Inc"
94885E o="Surfilter Network Technology Co., Ltd."
+948AC6,BC2DEF,C816DA o="Realme Chongqing Mobile Telecommunications Corp.,Ltd."
948B03 o="EAGET Innovation and Technology Co., Ltd."
948D50 o="Beamex Oy Ab"
948DEF o="Oetiker Schweiz AG"
@@ -15161,6 +15262,7 @@
9800C1 o="GuangZhou CREATOR Technology Co.,Ltd.(CHINA)"
980284 o="Theobroma Systems GmbH"
9803A0 o="ABB n.v. Power Quality Products"
+980E24 o="Phytium Technology Co.,Ltd."
981094 o="Shenzhen Vsun communication technology Co.,ltd"
9814D2 o="Avonic"
9816EC o="IC Intracom"
@@ -15192,6 +15294,7 @@
984E97 o="Starlight Marketing (H. K.) Ltd."
9857D3 o="HON HAI-CCPBG PRECISION IND.CO.,LTD."
98588A o="SYSGRATION Ltd."
+985949 o="LUXOTTICA GROUP S.P.A."
985BB0 o="KMDATA INC."
985C93 o="SBG Systems SAS"
985D46 o="PeopleNet Communication"
@@ -15206,6 +15309,7 @@
9876B6 o="Adafruit"
987770 o="Pep Digital Technology (Guangzhou) Co., Ltd"
987E46 o="Emizon Networks Limited"
+987ECA,A463A1 o="Inventus Power Eletronica do Brasil LTDA"
988217 o="Disruptive Ltd"
9886B1 o="Flyaudio corporation (China)"
988744 o="Wuxi Hongda Science and Technology Co.,LTD"
@@ -15213,11 +15317,13 @@
988BAD o="Corintech Ltd."
988E34 o="ZHEJIANG BOXSAM ELECTRONIC CO.,LTD"
988E4A o="NOXUS(BEIJING) TECHNOLOGY CO.,LTD"
+988E79 o="Qudelix, Inc."
988EDD o="TE Connectivity Limerick"
989080 o="Linkpower Network System Inc Ltd."
989449 o="Skyworth Wireless Technology Ltd."
98A40E o="Snap, Inc."
98A7B0 o="MCST ZAO"
+98A942 o="Guangzhou Tozed Kangwei Intelligent Technology Co., LTD"
98AA3C o="Will i-tech Co., Ltd."
98AAD7 o="BLUE WAVE NETWORKING CO LTD"
98AE71 o="VVDN Technologies Pvt Ltd"
@@ -15225,6 +15331,7 @@
98BC57 o="SVA TECHNOLOGIES CO.LTD"
98BC99 o="Edeltech Co.,Ltd."
98C0EB o="Global Regency Ltd"
+98C7A4 o="Shenzhen HS Fiber Communication Equipment CO., LTD"
98C845 o="PacketAccess"
98CB27 o="Galore Networks Pvt. Ltd."
98CC4D o="Shenzhen mantunsci co., LTD"
@@ -15242,7 +15349,6 @@
98E79A o="Foxconn(NanJing) Communication Co.,Ltd."
98E848 o="Axiim"
98EC65 o="Cosesy ApS"
-98ED5C o="Tesla Motors, Inc"
98F058 o="Lynxspring, Incl."
98F8DB o="Marini Impianti Industriali s.r.l."
98FAA7 o="INNONET"
@@ -15287,11 +15393,10 @@
9C5C8D o="FIREMAX INDÚSTRIA E COMÉRCIO DE PRODUTOS ELETRÔNICOS LTDA"
9C5D95 o="VTC Electronics Corp."
9C5E73 o="Calibre UK LTD"
-9C611D o="Omni-ID USA, Inc."
+9C611D o="Panasonic Corporation of North America"
9C645E o="Harman Consumer Group"
9C6650 o="Glodio Technolies Co.,Ltd Tianjin Branch"
9C685B o="Octonion SA"
-9C6937 o="Qorvo Utrecht B.V."
9C6ABE o="QEES ApS."
9C7514 o="Wildix srl"
9C77AA o="NADASNV"
@@ -15326,6 +15431,7 @@
9CB6D0 o="Rivet Networks"
9CB793 o="Creatcomm Technology Inc."
9CBB98 o="Shen Zhen RND Electronic Co.,LTD"
+9CBD6E o="DERA Co., Ltd"
9CBD9D o="SkyDisk, Inc."
9CBEE0 o="Biosoundlab Co., Ltd."
9CC077 o="PrintCounts, LLC"
@@ -15345,8 +15451,9 @@
9CE7BD o="Winduskorea co., Ltd"
9CE951 o="Shenzhen Sang Fei Consumer Communications Ltd., Co."
9CEBE8 o="BizLink (Kunshan) Co.,Ltd"
+9CEDFA o="EVUlution AG"
9CEFD5 o="Panda Wireless, Inc."
-9CF61A o="UTC Fire and Security"
+9CF61A o="Carrier Fire & Security"
9CF67D o="Ricardo Prague, s.r.o."
9CF8DB o="shenzhen eyunmei technology co,.ltd"
9CF938 o="AREVA NP GmbH"
@@ -15442,6 +15549,7 @@ A0C2DE o="Costar Video Systems"
A0C3DE o="Triton Electronic Systems Ltd."
A0C4A5 o="SYGN HOUSE CO.,LTD"
A0C6EC o="ShenZhen ANYK Technology Co.,LTD"
+A0CAA5 o="INTELLIGENCE TECHNOLOGY OF CEC CO., LTD"
A0CEC8 o="CE LINK LIMITED"
A0D12A o="AXPRO Technology Inc."
A0D385 o="AUMA Riester GmbH & Co. KG"
@@ -15495,14 +15603,15 @@ A4466B o="EOC Technology"
A446FA o="AmTRAN Video Corporation"
A44AD3 o="ST Electronics(Shanghai) Co.,Ltd"
A44E2D o="Adaptive Wireless Solutions, LLC"
+A45006 o="SHENZHEN HUACHUANG SHIDAI TECHNOLOGYCO.,LTD"
A45055 o="BUSWARE.DE"
+A45129 o="XAG"
A45602 o="fenglian Technology Co.,Ltd."
A4561B o="MCOT Corporation"
A45A1C o="smart-electronic GmbH"
A45F9B o="Nexell"
A46191 o="NamJunSa"
A462DF o="DS Global. Co., LTD"
-A463A1 o="Inventus Power Eletronica do Brasil LTDA"
A46CC1 o="LTi REEnergy GmbH"
A46E79 o="DFT System Co.Ltd"
A47758 o="Ningbo Freewings Technologies Co.,Ltd"
@@ -15513,11 +15622,11 @@ A47C14 o="ChargeStorm AB"
A47C1F o="Cobham plc"
A48269 o="Datrium, Inc."
A4856B o="Q Electronics Ltd"
-A486AE o="Quectel Wireless Solutions"
A4895B o="ARK INFOSOLUTIONS PVT LTD"
A48CC0 o="JLG Industries, Inc."
A48E0A o="DeLaval International AB"
A49005 o="CHINA GREATWALL COMPUTER SHENZHEN CO.,LTD"
+A49340 o="Beijing Supvan Information Technology Co.,Ltd."
A49426 o="Elgama-Elektronika Ltd."
A497BB o="Hitachi Industrial Equipment Systems Co.,Ltd"
A49981 o="FuJian Elite Power Tech CO.,LTD."
@@ -15574,6 +15683,7 @@ A4FB8D o="Hangzhou Dunchong Technology Co.Ltd"
A4FCCE o="Security Expert Ltd."
A8016D o="Aiwa Corporation"
A80180 o="IMAGO Technologies GmbH"
+A80577 o="Netlist, Inc."
A81559 o="Breathometer, Inc."
A815D6 o="Shenzhen Meione Technology CO., LTD"
A81758 o="Elektronik System i Umeå AB"
@@ -15586,6 +15696,7 @@ A82BD6 o="Shina System Co., Ltd"
A8329A o="Digicom Futuristic Technologies Ltd."
A8367A o="frogblue TECHNOLOGY GmbH"
A83CCB o="ROSSMA"
+A84025 o="Oxide Computer Company"
A84041 o="Dragino Technology Co., Limited"
A84122 o="China Mobile (Hangzhou) Information Technology Co.,Ltd."
A845CD o="Siselectron Technology LTD."
@@ -15657,7 +15768,7 @@ A8EEC6 o="Muuselabs NV/SA"
A8EF26 o="Tritonwave"
A8F038 o="SHEN ZHEN SHI JIN HUA TAI ELECTRONICS CO.,LTD"
A8F470 o="Fujian Newland Communication Science Technologies Co.,Ltd."
-A8F94B,E0D9E3,E828C1 o="Eltex Enterprise Ltd."
+A8F94B,E0D9E3,E45AD4,E828C1 o="Eltex Enterprise Ltd."
A8FB70 o="WiseSec L.t.d"
A8FCB7 o="Consolidated Resource Imaging"
AC0142 o="Uriel Technologies SIA"
@@ -15677,6 +15788,7 @@ AC1585 o="silergy corp"
AC1702 o="Fibar Group sp. z o.o."
AC199F o="SUNGROW POWER SUPPLY CO.,LTD."
AC1ED0 o="Temic Automotive Philippines Inc."
+AC1F09 o="shenzhen RAKwireless technology Co.,Ltd"
AC1FD7 o="Real Vision Technology Co.,Ltd."
AC20AA o="DMATEK Co., Ltd."
AC233F o="Shenzhen Minew Technologies Co., Ltd."
@@ -15687,6 +15799,7 @@ AC319D,ECD9D1 o="Shenzhen TG-NET Botone Technology Co.,Ltd."
AC34CB o="Shanhai GBCOM Communication Technology Co. Ltd"
AC3651 o="Jiangsu Hengtong Terahertz Technology Co., Ltd."
AC37C9 o="RAID Incorporated"
+AC3C8E o="Flextronics Computing(Suzhou)Co.,Ltd."
AC3CB4 o="Nilan A/S"
AC3D05 o="Instorescreen Aisa"
AC3D75 o="HANGZHOU ZHIWAY TECHNOLOGIES CO.,LTD."
@@ -15697,6 +15810,7 @@ AC4330 o="Versa Networks"
AC4723 o="Genelec"
AC482D o="Ralinwi Nanjing Electronic Technology Co., Ltd."
AC4AFE o="Hisense Broadband Multimedia Technology Co.,Ltd."
+AC4B1E o="Integri-Sys.Com LLC"
AC4E2E,C048FB,DC64B8 o="Shenzhen JingHanDa Electronics Co.Ltd"
AC4FFC o="SVS-VISTEK GmbH"
AC5036 o="Pi-Coral Inc"
@@ -15729,7 +15843,7 @@ AC8ACD o="ROGER D.Wensker, G.Wensker sp.j."
AC8B9C o="Primera Technology, Inc."
AC8D14 o="Smartrove Inc"
AC9403 o="Envision Peripherals Inc"
-AC9A96 o="Lantiq Deutschland GmbH"
+AC9572 o="Jovision Technology Co., Ltd."
AC9B84 o="Smak Tecnologia e Automacao"
ACA22C o="Baycity Technologies Ltd"
ACA430 o="Peerless AV"
@@ -15789,7 +15903,8 @@ B01BD2,B8FC9A,C80E77,D4B169,E0A8B8 o="Le Shi Zhi Xin Electronic Technology (Tian
B01C91 o="Elim Co"
B01F29 o="Helvetia INC."
B024F3 o="Progeny Systems"
-B02628,BC97E1 o="Broadcom Limited"
+B02628,BC97E1,E43D1A o="Broadcom Limited"
+B030C8 o="Teal Drones, Inc."
B0350B,E048D3,E4FB8F o="MOBIWIRE MOBILES (NINGBO) CO.,LTD"
B03829 o="Siliconware Precision Industries Co., Ltd."
B03850 o="Nanjing CAS-ZDC IOT SYSTEM CO.,LTD"
@@ -15862,7 +15977,6 @@ B0C95B o="Beijing Symtech CO.,LTD"
B0CE18 o="Zhejiang shenghui lighting co.,Ltd"
B0CF4D o="MI-Zone Technology Ireland"
B0D2F5 o="Vello Systems, Inc."
-B0D568 o="Shenzhen Cultraview Digital Technology Co., Ltd"
B0D7C5 o="Logipix Ltd"
B0D7CC o="Tridonic GmbH & Co KG"
B0DA00 o="CERA ELECTRONIQUE"
@@ -15888,6 +16002,7 @@ B41780 o="DTI Group Ltd"
B41DEF o="Internet Laboratories, Inc."
B4211D o="Beijing GuangXin Technology Co., Ltd"
B4218A o="Dog Hunter LLC"
+B42330 o="Itron Inc"
B424E7 o="Codetek Technology Co.,Ltd"
B428F1 o="E-Prime Co., Ltd."
B4293D o="Shenzhen Urovo Technology Co.,Ltd."
@@ -15919,6 +16034,7 @@ B46238 o="Exablox"
B462AD o="Elysia Germany GmbH"
B46698 o="Zealabs srl"
B46D35 o="Dalian Seasky Automation Co;Ltd"
+B46F2D o="Wahoo Fitness"
B47356 o="Hangzhou Treebear Networking Co., Ltd."
B47447 o="CoreOS"
B47748 o="Shenzhen Neoway Technology Co.,Ltd."
@@ -15941,10 +16057,10 @@ B4A4B5 o="Zen Eye Co.,Ltd"
B4A5A9 o="MODI GmbH"
B4A828 o="Shenzhen Concox Information Technology Co., Ltd"
B4A82B o="Histar Digital Electronics Co., Ltd."
-B4A9FC,D8C497 o="Quanta Computer Inc."
B4A9FE o="GHIA Technology (Shenzhen) LTD"
B4AA4D o="Ensequence, Inc."
B4AB2C o="MtM Technology Corporation"
+B4ADA3,D49E3B,DCBD7A o="Guangzhou Shiyuan Electronic Technology Company Limited"
B4AE6F o="Circle Reliance, Inc DBA Cranberry Networks"
B4B15A o="Siemens AG Energy Management Division"
B4B265 o="DAEHO I&T"
@@ -15980,9 +16096,11 @@ B4ECF2 o="Shanghai Listent Medical Tech Co., Ltd."
B4ED19 o="Pie Digital, Inc."
B4ED54 o="Wohler Technologies"
B4EF04 o="DAIHAN Scientific Co., Ltd."
+B4EF1C o="360 AI Technology Co.Ltd"
B4F323 o="PETATEL INC."
B4F81E o="Kinova"
B4F949 o="optilink networks pvt ltd"
+B4FBE3 o="AltoBeam (China) Inc."
B4FC75 o="SEMA Electronics(HK) CO.,LTD"
B4FE8C o="Centro Sicurezza Italia SpA"
B80018 o="Htel"
@@ -16005,6 +16123,7 @@ B827EB o="Raspberry Pi Foundation"
B8288B o="Parker Hannifin Manufacturing (UK) Ltd"
B829F7 o="Blaster Tech"
B82ADC o="EFR Europäische Funk-Rundsteuerung GmbH"
+B82FCB o="CMS Electracom"
B830A8 o="Road-Track Telematics Development"
B836D8 o="Videoswitch"
B838CA o="Kyokko Tsushin System CO.,LTD"
@@ -16012,8 +16131,10 @@ B83A7B o="Worldplay (Canada) Inc."
B83D4E o="Shenzhen Cultraview Digital Technology Co.,Ltd Shanghai Branch"
B8415F o="ASP AG"
B843E4 o="Vlatacom"
+B8477A o="Dasan Electron Co., Ltd."
B847C6 o="SanJet Technology Corp."
B856BD o="ITT LLC"
+B85776 o="lignex1"
B85810 o="NUMERA, INC."
B85AF7 o="Ouya, Inc"
B85AFE o="Handaer Communication Technology (Beijing) Co., Ltd"
@@ -16072,6 +16193,7 @@ B8C855 o="Shanghai GBCOM Communication Technology Co.,Ltd."
B8CD93 o="Penetek, Inc"
B8CDA7 o="Maxeler Technologies Ltd."
B8D06F o="GUANGZHOU HKUST FOK YING TUNG RESEARCH INSTITUTE"
+B8D309 o="Cox Communications, Inc"
B8D49D o="M Seven System Ltd."
B8DAF1 o="Strahlenschutz- Entwicklungs- und Ausruestungsgesellschaft mbH"
B8DAF7 o="Advanced Photonics, Inc."
@@ -16092,6 +16214,7 @@ B8F828 o="Changshu Gaoshida Optoelectronic Technology Co. Ltd."
B8FD32 o="Zhejiang ROICX Microelectronics"
B8FF6F o="Shanghai Typrotech Technology Co.Ltd"
BC0200 o="Stewart Audio"
+BC03A7 o="MFP MICHELIN"
BC0F2B o="FORTUNE TECHGROUP CO.,LTD"
BC0FA7 o="Ouster"
BC125E o="Beijing WisVideo INC."
@@ -16104,6 +16227,7 @@ BC22FB o="RF Industries"
BC25F0 o="3D Display Technologies Co., Ltd."
BC261D o="HONG KONG TECON TECHNOLOGY"
BC2643 o="Elprotronic Inc."
+BC26A1 o="FACTORY FIVE Corporation"
BC282C o="e-Smart Systems Pvt. Ltd"
BC2846 o="NextBIT Computing Pvt. Ltd."
BC28D6 o="Rowley Associates Limited"
@@ -16111,7 +16235,6 @@ BC2B6B o="Beijing Haier IC Design Co.,Ltd"
BC2BD7 o="Revogi Innovation Co., Ltd."
BC2C55 o="Bear Flag Design, Inc."
BC2D98 o="ThinGlobal LLC"
-BC2DEF o="Realme Chongqing Mobile Telecommunications Corp.,Ltd."
BC35E5 o="Hydro Systems Company"
BC3865 o="JWCNETWORKS"
BC38D2 o="Pandachip Limited"
@@ -16190,6 +16313,7 @@ C0074A o="Brita GmbH"
C00D7E o="Additech, Inc."
C011A6 o="Fort-Telecom ltd."
C01242 o="Alpha Security Products"
+C01C30 o="Shenzhen WIFI-3L Technology Co.,Ltd"
C01E9B o="Pixavi AS"
C02250 o="Koss Corporation"
C02567 o="Nexxt Solutions"
@@ -16217,6 +16341,7 @@ C05336 o="Beijing National Railway Research & Design Institute of Signal & Commu
C058A7 o="Pico Systems Co., Ltd."
C05E6F o="V. Stonkaus firma %Kodinis Raktas%"
C05E79 o="SHENZHEN HUAXUN ARK TECHNOLOGIES CO.,LTD"
+C06369 o="BINXIN TECHNOLOGY(ZHEJIANG) LTD."
C06C0F o="Dobbs Stanford"
C06C6D o="MagneMotion, Inc."
C06D1A o="Tianjin Henxinhuifeng Technology Co.,Ltd."
@@ -16225,10 +16350,12 @@ C07E40 o="SHENZHEN XDK COMMUNICATION EQUIPMENT CO.,LTD"
C08135 o="Ningbo Forfan technology Co., LTD"
C08170 o="Effigis GeoSolutions"
C08488 o="Finis Inc"
+C086B3 o="Shenzhen Voxtech Co., Ltd."
C0885B o="SnD Tech Co., Ltd."
C08ACD o="Guangzhou Shiyuan Electronic Technology Company Limited"
C08B6F o="S I Sistemas Inteligentes Eletrônicos Ltda"
C09132 o="Patriot Memory"
+C095DA o="NXP India Private Limited"
C09879 o="Acer Inc."
C098E5 o="University of Michigan"
C09A71 o="XIAMEN MEITU MOBILE TECHNOLOGY CO.LTD"
@@ -16278,7 +16405,6 @@ C40F09 o="Hermes electronic GmbH"
C411E0 o="Bull Group Co., Ltd"
C416FA o="Prysm Inc"
C4198B o="Dominion Voting Systems Corporation"
-C419D1,D80BCB,D85F77 o="Telink Semiconductor (Shanghai) Co., Ltd."
C419EC o="Qualisys AB"
C41ECE o="HMI Sources Ltd."
C4237A o="WhizNets Inc."
@@ -16330,6 +16456,7 @@ C47DFE o="A.N. Solutions GmbH"
C47F51 o="Inventek Systems"
C4823F o="Fujian Newland Auto-ID Tech. Co,.Ltd."
C4824E o="Changzhou Uchip Electronics Co., LTD."
+C489ED o="Solid Optics EU N.V."
C48A5A o="JFCONTROL"
C48F07 o="Shenzhen Yihao Hulian Science and Technology Co., Ltd."
C48FC1 o="DEEPTRACK S.L.U."
@@ -16403,7 +16530,7 @@ C83168 o="eZEX corporation"
C83232 o="Hunting Innova"
C83A35 o="Tenda Technology Co., Ltd."
C83B45 o="JRI"
-C83DFC o="Pioneer DJ Corporation"
+C83DFC o="AlphaTheta Corporation"
C83EA7 o="KUNBUS GmbH"
C84529 o="IMK Networks Co.,Ltd"
C84544 o="Asia Pacific CIS (Wuxi) Co, Ltd"
@@ -16421,6 +16548,8 @@ C87324 o="Sow Cheng Technology Co. Ltd."
C8755B o="Quantify Technology Pty. Ltd."
C87CBC o="Valink Co., Ltd."
C87D77 o="Shenzhen Kingtech Communication Equipment Co.,Ltd"
+C87EA1 o="TCL MOKA International Limited"
+C88314 o="Tempo Communications"
C88439 o="Sunrise Technologies"
C88447 o="Beautiful Enterprise Co., Ltd"
C88629 o="Shenzhen Duubee Intelligent Technologies Co.,LTD."
@@ -16448,6 +16577,7 @@ C8AF40 o="marco Systemanalyse und Entwicklung GmbH"
C8B1EE o="Qorvo"
C8BAE9 o="QDIS"
C8BBD3 o="Embrane"
+C8BCE5 o="Sense Things Japan INC."
C8C126 o="ZPM Industria e Comercio Ltda"
C8C13C o="RuggedTek Hangzhou Co., Ltd"
C8C2C6 o="Shanghai Airm2m Communication Technology Co., Ltd"
@@ -16507,6 +16637,7 @@ CC418E o="MSA Innovation"
CC43E3 o="Trump s.a."
CC4639 o="WAAV, Inc."
CC4703 o="Intercon Systems Co., Ltd."
+CC47BD o="Rhombus Systems"
CC4AE1 o="fourtec -Fourier Technologies"
CC4BFB o="Hellberg Safety AB"
CC4D38 o="Carnegie Technologies"
@@ -16590,7 +16721,7 @@ D01AA7 o="UniPrint"
D01CBB o="Beijing Ctimes Digital Technology Co., Ltd."
D02C45 o="littleBits Electronics, Inc."
D03110 o="Ingenic Semiconductor Co.,Ltd"
-D03D52 o="Vaion Limited"
+D03D52 o="Ava Security Limited"
D03DC3 o="AQ Corporation"
D046DC o="Southwest Research Institute"
D048F3 o="DATTUS Inc"
@@ -16673,8 +16804,10 @@ D411D6 o="ShotSpotter, Inc."
D41296 o="Anobit Technologies Ltd."
D412BB o="Quadrant Components Inc. Ltd"
D4136F o="Asia Pacific Brands"
+D41AC8 o="Nippon Printer Engineering"
D41C1C o="RCF S.P.A."
-D41E35 o="TOHO Electronics INC."
+D41E35,F0B022 o="TOHO Electronics INC."
+D422CD o="Xsens Technologies B.V."
D42493 o="GW Technologies Co.,Ltd"
D42751 o="Infopia Co., Ltd"
D428B2 o="ioBridge, Inc."
@@ -16690,8 +16823,10 @@ D43AE9 o="DONGGUAN ipt INDUSTRIAL CO., LTD"
D43D39 o="Dialog Semiconductor"
D43D67 o="Carma Industries Inc."
D43D7E o="Micro-Star Int'l Co, Ltd"
+D440D0 o="OCOSMOS Co., LTD"
D443A8 o="Changzhou Haojie Electric Co., Ltd."
D445E8 o="Jiangxi Hongpai Technology Co., Ltd."
+D4482D o="Shenzhen Deejoy Lighting Technology Co.,Ltd."
D44B5E o="TAIYO YUDEN CO., LTD."
D44C24 o="Vuppalamritha Magnetic Components LTD"
D44C9C o="Shenzhen YOOBAO Technology Co.Ltd"
@@ -16708,16 +16843,16 @@ D45AB2 o="Galleon Systems"
D46132 o="Pro Concept Manufacturer Co.,Ltd."
D464F7 o="CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD"
D466A8 o="Riedo Networks Ltd"
-D46761 o="United Gulf Gate Co."
+D46761 o="XonTel Technology Co."
D46867 o="Neoventus Design Group"
D469A5 o="Miura Systems Ltd."
-D46A91 o="Snap AV"
D46CBF o="Goodrich ISR"
D46CDA o="CSM GmbH"
D46F42 o="WAXESS USA Inc"
D47208 o="Bragi GmbH"
D4741B o="Beijing HuaDa ZhiBao Electronic System Co.,Ltd."
D4772B o="Nanjing Ztlink Network Technology Co.,Ltd"
+D477B2 o="Netix Global B.V."
D479C3 o="Cameronet GmbH & Co. KG"
D47B35 o="NEO Monitors AS"
D481CA o="iDevices, LLC"
@@ -16732,7 +16867,6 @@ D496DF o="SUNGJIN C&T CO.,LTD"
D49B5C o="Chongqing Miedu Technology Co., Ltd."
D49C28 o="JayBird LLC"
D49C8E o="University of FUKUI"
-D49E3B o="Guangzhou Shiyuan Electronic Technology Company Limited"
D49E6D o="Wuhan Zhongyuan Huadian Science & Technology Co.,"
D4A425 o="SMAX Technology Co., Ltd."
D4A499 o="InView Technology Corporation"
@@ -16764,6 +16898,7 @@ D4F027 o="Trust Power Ltd."
D4F0B4 o="Napco Security Technologies"
D4F143 o="IPROAD.,Inc"
D4F207 o="DIAODIAO(Beijing)Technology CO.,Ltd"
+D4F337 o="Xunison Ltd."
D4F63F o="IEA S.R.L."
D8052E o="Skyviia Corporation"
D806D1 o="Honeywell Fire System (Shanghai) Co,. Ltd."
@@ -16792,6 +16927,7 @@ D82A15 o="Leitner SpA"
D82D9B o="Shenzhen G.Credit Communication Technology Co., Ltd"
D82DE1 o="Tricascade Inc."
D8337F o="Office FA.com Co.,Ltd."
+D834EE o="Stem Audio"
D8380D o="SHENZHEN IP-COM Network Co.,Ltd"
D83AF5 o="Wideband Labs LLC"
D842E2 o="Canary Connect, Inc."
@@ -16800,6 +16936,7 @@ D8445C o="DEV Tecnologia Ind Com Man Eq LTDA"
D84606 o="Silicon Valley Global Marketing"
D848EE o="Hangzhou Xueji Technology Co., Ltd."
D84B2A o="Cognitas Technologies, Inc."
+D84F37 o="Proxis, spol. s r.o."
D84FB8 o="LG ELECTRONICS"
D858D7 o="CZ.NIC, z.s.p.o."
D85D84 o="CAx soft GmbH"
@@ -16824,6 +16961,7 @@ D888CE o="RF Technology Pty Ltd"
D88A3B o="UNIT-EM"
D88B4C o="KingTing Tech."
D88DC8 o="Atil Technology Co., LTD"
+D89136 o="Dover Fueling Solutions"
D89341 o="General Electric Global Research"
D89760 o="C2 Development, Inc."
D8977C o="Grey Innovation"
@@ -16877,6 +17015,7 @@ D8F0F2 o="Zeebo Inc"
D8F1F0 o="Pepxim International Limited"
D8F3DB o="Post CH AG"
D8F710 o="Libre Wireless Technologies Inc."
+D8F8AF o="DAONTEC"
D8FB11 o="AXACORE"
D8FB68 o="Cloud Corner Ltd."
D8FC38 o="Giantec Semiconductor Inc"
@@ -16910,7 +17049,6 @@ DC2E6A o="HCT. Co., Ltd."
DC2F03 o="Step forward Group Co., Ltd."
DC309C o="Heyrex Limited"
DC3350 o="TechSAT GmbH"
-DC35F1 o="Positivo Tecnologia S.A."
DC37D2 o="Hunan HKT Electronic Technology Co., Ltd"
DC3C2E o="Manufacturing System Insights, Inc."
DC3C84 o="Ticom Geomatics, Inc."
@@ -16922,6 +17060,7 @@ DC48B2 o="Baraja Pty. Ltd."
DC49C9 o="CASCO SIGNAL LTD"
DC4EDE o="SHINYEI TECHNOLOGY CO., LTD."
DC4EF4 o="Shenzhen MTN Electronics CO., Ltd"
+DC503A o="Nanjing Ticom Tech Co., Ltd."
DC56E6 o="Shenzhen Bococom Technology Co.,LTD"
DC5726 o="Power-One"
DC58BC o="Thomas-Krenn.AG"
@@ -16930,6 +17069,7 @@ DC60A1 o="Teledyne DALSA Professional Imaging"
DC647C o="C.R.S. iiMotion GmbH"
DC663A o="Apacer Technology Inc."
DC6723 o="barox Kommunikation GmbH"
+DC6B12 o="worldcns inc."
DC6F00 o="Livescribe, Inc."
DC6F08 o="Bay Storage Technology"
DC7834 o="LOGICOM SA"
@@ -16939,8 +17079,9 @@ DC962C o="NST Audio Ltd"
DC9A8E o="Nanjing Cocomm electronics co., LTD"
DC9B1E o="Intercom, Inc."
DC9C52 o="Sapphire Technology Limited."
+DCA3A2 o="Feng mi(Beijing)technology co., LTD"
DCA3AC o="RBcloudtech"
-DCA632 o="Raspberry Pi Trading Ltd"
+DCA632,E45F01 o="Raspberry Pi Trading Ltd"
DCA6BD o="Beijing Lanbo Technology Co., Ltd."
DCA7D9 o="Compressor Controls Corp"
DCA8CF o="New Spin Golf, LLC."
@@ -16992,7 +17133,6 @@ E00370 o="ShenZhen Continental Wireless Technology Co., Ltd."
E009BF o="SHENZHEN TONG BO WEI TECHNOLOGY Co.,LTD"
E00B28 o="Inovonics"
E00DB9 o="Cree, Inc."
-E00EE1 o="We Corporation Inc."
E01283 o="Shenzhen Fanzhuo Communication Technology Co., Lt"
E0143E o="Modoosis Inc."
E019D8 o="BH TECHNOLOGIES"
@@ -17029,9 +17169,12 @@ E06290 o="Jinan Jovision Science & Technology Co., Ltd."
E064BB o="DigiView S.r.l."
E067B3 o="Shenzhen C-Data Technology Co., Ltd"
E0686D o="Raybased AB"
+E0693A o="Innophase Inc."
+E06CA6 o="Creotech Instruments S.A."
E0735F o="NUCOM"
E078A3 o="Shanghai Winner Information Technology Co.,Inc"
E0795E o="Wuxi Xiaohu Technology Co.,Ltd."
+E079C4 o="iRay Technology Company Limited"
E07C62 o="Whistle Labs, Inc."
E07F53 o="TECHBOARD SRL"
E07F88 o="EVIDENCE Network SIA"
@@ -17054,8 +17197,10 @@ E0ABFE o="Orb Networks, Inc."
E0AEB2 o="Bender GmbH & Co.KG"
E0AEED o="LOENK"
E0AF4F o="Deutsche Telekom AG"
+E0B260 o="TENO NETWORK TECHNOLOGIES COMPANY LIMITED"
E0BAB4 o="Arrcus, Inc"
E0BC43 o="C2 Microsystems, Inc."
+E0BE03 o="Lite-On Network Communication (Dongguan) Limited"
E0C286 o="Aisai Communication Technology Co., Ltd."
E0C6B3 o="MilDef AB"
E0C86A o="SHENZHEN TW-SCIE Co., Ltd"
@@ -17105,6 +17250,7 @@ E435FB o="Sabre Technology (Hull) Ltd"
E437D7 o="HENRI DEPAEPE S.A.S."
E4388C o="Digital Products Limited"
E438F2 o="Advantage Controls"
+E43A65 o="MofiNetwork Inc"
E43A6E o="Shenzhen Zeroone Technology CO.,LTD"
E43C80 o="University of Oklahoma"
E43FA2 o="Wuxi DSP Technologies Inc."
@@ -17135,6 +17281,7 @@ E47D5A o="Beijing Hanbang Technology Corp."
E47DEB o="Shanghai Notion Information Technology CO.,LTD."
E481B3 o="Shenzhen ACT Industrial Co.,Ltd."
E482CC o="Jumptronic GmbH"
+E4842B o="HANGZHOU SOFTEL OPTIC CO., LTD"
E48501 o="Geberit International AG"
E48AD5 o="RF WINDOW CO., LTD."
E48C0F o="Discovery Insure"
@@ -17227,6 +17374,7 @@ E86D54 o="Digit Mobile Inc"
E86D65 o="AUDIO MOBIL Elektronik GmbH"
E86D6E o="voestalpine SIGNALING Fareham Ltd."
E8718D o="Elsys Equipamentos Eletronicos Ltda"
+E874C7 o="Sentinhealth"
E8757F o="FIRS Technologies(Shenzhen) Co., Ltd"
E878A1 o="BEOVIEW INTERCOM DOO"
E87AF3 o="S5 Tech S.r.l."
@@ -17237,6 +17385,7 @@ E88E60 o="NSD Corporation"
E89218 o="Arcontia International AB"
E8944C o="Cogent Healthcare Systems Ltd"
E89606 o="testo Instruments (Shenzhen) Co., Ltd."
+E898C2 o="ZETLAB Company"
E8995A o="PiiGAB, Processinformation i Goteborg AB"
E89FEC o="CHENGDU KT ELECTRONIC HI-TECH CO.,LTD"
E8A364 o="Signal Path International / Peachtree Audio"
@@ -17312,12 +17461,14 @@ EC4993 o="Qihan Technology Co., Ltd"
EC4C4D o="ZAO NPK RoTeK"
EC52DC o="WORLD MEDIA AND TECHNOLOGY Corp."
EC542E o="Shanghai XiMei Electronic Technology Co. Ltd"
+EC570D o="AFE Inc."
EC5B73 o="Advanced & Wise Technology Corp."
EC5C69 o="MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD."
EC5F23 o="Qinghai Kimascend Electronics Technology Co. Ltd."
EC60E0 o="AVI-ON LABS"
EC6264 o="Global411 Internet Services, LLC"
EC63E5 o="ePBoard Design LLC"
+EC63ED o="Hyundai Autoever Corp."
EC64E7 o="MOCACARE Corporation"
EC66D1 o="B&W Group LTD"
EC6C9F o="Chengdu Volans Technology CO.,LTD"
@@ -17359,6 +17510,7 @@ ECD19A o="Zhuhai Liming Industries Co., Ltd"
ECD68A o="Shenzhen JMicron Intelligent Technology Developmen"
ECD925 o="RAMI"
ECD950 o="IRT SA"
+ECDB86 o="API-K"
ECDE3D o="Lamprey Networks, Inc."
ECE154 o="Beijing Unisound Information Technology Co.,Ltd."
ECE2FD o="SKG Electric Group(Thailand) Co., Ltd."
@@ -17397,6 +17549,7 @@ F0264C o="Sigrist-Photometer AG"
F02745 o="F-Secure Corporation"
F02A23 o="Creative Next Design"
F02A61 o="Waldo Networks, Inc."
+F02E51 o="Casa Systems"
F02FD8 o="Bi2-Vision"
F037A1 o="Huike Electronics (SHENZHEN) CO., LTD."
F03A4B o="Bloombase, Inc."
@@ -17404,12 +17557,12 @@ F03A55 o="Omega Elektronik AS"
F03D29 o="Actility"
F03EBF o="GOGORO TAIWAN LIMITED"
F03FF8 o="R L Drake"
+F041C6 o="Heat Tech Company, Ltd."
F04335 o="DVN(Shanghai)Ltd."
F0463B o="Comcast Cable Corporation"
F04A2B o="PYRAMID Computer GmbH"
F04B6A o="Scientific Production Association Siberian Arsenal, Ltd."
F04BF2 o="JTECH Communications, Inc."
-F04CD5 o="Maxlinear, Inc"
F05494 o="Honeywell Connected Building"
F05849 o="CareView Communications"
F05D89 o="Dycon Limited"
@@ -17439,7 +17592,6 @@ F09CBB o="RaonThink Inc."
F09CD7 o="Guangzhou Blue Cheetah Intelligent Technology Co., Ltd."
F0A764 o="GST Co., Ltd."
F0A7B2 o="FUTABA CORPORATION"
-F0A968 o="Antailiye Technology Co.,Ltd"
F0ACA4 o="HBC-radiomatic"
F0AD4E o="Globalscale Technologies, Inc."
F0AE51 o="Xi3 Corp"
@@ -17572,8 +17724,10 @@ F4DCDA o="Zhuhai Jiahe Communication Technology Co., limited"
F4DE0C o="ESPOD Ltd."
F4E142 o="Delta Elektronika BV"
F4E204 o="Traqueur"
+F4E578 o="LLC Proizvodstvennaya Kompania %TransService%"
F4E6D7 o="Solar Power Technologies, Inc."
F4E926 o="Tianjin Zanpu Technology Inc."
+F4EB9F o="Ellu Company 2019 SL"
F4ED5F o="SHENZHEN KTC TECHNOLOGY GROUP"
F4EF9E o="SGSG SCIENCE & TECHNOLOGY CO. LTD"
F4F197 o="EMTAKE Inc"
@@ -17588,6 +17742,7 @@ F80DEA o="ZyCast Technology Inc."
F80DF1 o="Sontex SA"
F80F84 o="Natural Security SAS"
F81037 o="Atopia Systems, LP"
+F81B04 o="Zhong Shan City Richsound Electronic Industrial Ltd"
F81CE5 o="Telefonbau Behnke GmbH"
F81D90 o="Solidwintech"
F81D93 o="Longdhua(Beijing) Controls Technology Co.,Ltd"
@@ -17613,6 +17768,7 @@ F84A73 o="EUMTECH CO., LTD"
F84A7F o="Innometriks Inc"
F8501C o="Tianjin Geneuo Technology Co.,Ltd"
F85063 o="Verathon"
+F85128 o="SimpliSafe"
F8516D o="Denwa Technology Corp."
F852DF o="VNL Europe AB"
F8572E o="Core Brands, LLC"
@@ -17620,10 +17776,12 @@ F85A00 o="Sanford LP"
F85B9C o="SB SYSTEMS Co.,Ltd"
F85BC9 o="M-Cube Spa"
F85C45 o="IC Nexus Co. Ltd."
+F85C7D o="Shenzhen Honesty Electronics Co.,Ltd."
F862AA o="xn systems"
F86465 o="Anova Applied Electronics, Inc."
F86601 o="Suzhou Chi-tek information technology Co., Ltd"
F86971 o="Seibu Electric Co.,"
+F86C03 o="Shenzhen Teleone Technology Co., Ltd"
F86ECF o="Arcx Inc"
F86FDE o="Shenzhen Goodix Technology Co.,Ltd."
F871FE o="The Goldman Sachs Group, Inc."
@@ -17633,6 +17791,7 @@ F87B62 o="FASTWEL INTERNATIONAL CO., LTD. Taiwan Branch"
F87B8C o="Amped Wireless"
F88096 o="Elsys Equipamentos Eletrônicos Ltda"
F8811A o="OVERKIZ"
+F88200 o="CaptionCall"
F88479 o="Yaojin Technology(Shenzhen)Co.,Ltd"
F8893C o="Inventec Appliances Corp."
F88C1C o="KAISHUN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING"
@@ -17705,6 +17864,7 @@ FC09F6 o="GUANGDONG TONZE ELECTRIC CO.,LTD"
FC10BD o="Control Sistematizado S.A."
FC1186 o="Logic3 plc"
FC1349 o="Global Apps Corp."
+FC1499 o="Aimore Acoustics Incorporation"
FC1607 o="Taian Technology(Wuxi) Co.,Ltd."
FC1794 o="InterCreative Co., Ltd"
FC19D0 o="Cloud Vision Networks Technology Co.,Ltd."
@@ -17745,6 +17905,8 @@ FC683E o="Directed Perception, Inc"
FC6BF0 o="TOPWELL INTERNATIONAL HOLDINDS LIMITED"
FC6C31 o="LXinstruments GmbH"
FC6DC0 o="BME CORPORATION"
+FC6DD1 o="APRESIA Systems, Ltd."
+FC71FA o="Trane Technologies"
FC790B o="Hitachi High Technologies America, Inc."
FC7CE7 o="FCI USA LLC"
FC7D6C o="HYESUNG TECHWIN Co., Ltd"
@@ -17770,6 +17932,7 @@ FCB58A o="Wapice Ltd."
FCB662 o="IC Holdings LLC"
FCB7F0 o="Idaho National Laboratory"
FCBBA1 o="Shenzhen Minicreate Technology Co.,Ltd"
+FCBC0E o="Zhejiang Cainiao Supply Chain Management Co., Ltd"
FCBC9C o="Vimar Spa"
FCCAC4 o="LifeHealth, LLC"
FCCCE4 o="Ascon Ltd."
@@ -17950,7 +18113,7 @@ FCFEC2 o="Invensys Controls UK Limited"
09D o="Navitar Inc"
09E o="K+K Messtechnik GmbH"
09F o="ENTE Sp. z o.o."
- 0A0 o="HomerSoft sp. z o.o."
+ 0A0 o="Silvair"
0A1 o="Hangzhou Zhiping Technology Co., Ltd."
0A2 o="Hettich Benelux"
0A3 o="P A Network Laboratory Co.,Ltd"
@@ -18228,6 +18391,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Christ Electronic System GmbH"
D o="legendsky tech"
E o="Taiwan Name Plate Co.,LTD"
+18FDCB
+ 0 o="Shenzhen Rui jiali Electronic Technology Co. Ltd."
+ 1 o="SOTHIS CIC TEC (Shanghai) Co., Ltd"
+ 2 o="Cabtronix AG"
+ 3 o="Staclar, Inc."
+ 4 o="Gosuncn Technology Group Co.,LTD."
+ 5 o="Accel Robotics"
+ 6 o="SKA Organisation"
+ 7 o="ENERGIE IP"
+ 8 o="CISTECH Solutions"
+ 9 o="CreyNox GmbH"
+ A o="Sercomm Corporation."
+ B o="TRANSLITE GLOBAL LLC"
+ C o="Ark Vision Systems GmbH & Co. KG"
+ D o="StreamLocator"
+ E o="KWANG YANG MOTOR CO.,LTD"
1C21D1
0 o="Toyo System CO.,LTD."
1 o="Ognios GmbH"
@@ -18309,7 +18488,7 @@ FCFEC2 o="Invensys Controls UK Limited"
E o="ASSYSTEM France"
1C8879
0 o="Newps co.,ltd"
- 1 o="ANDRA Sp. z o.o."
+ 1 o="ANDRA Sp. z o. o."
2 o="Airsmart System Co.,Ltd"
3 o="Shenzhen Xiaoxi Technology Co., Ltd."
4 o="Ultraflux"
@@ -18425,6 +18604,7 @@ FCFEC2 o="Invensys Controls UK Limited"
5 o="GANZHOU DEHUIDA TECHNOLOGY CO., LTD"
6 o="SHANDONG KEHUI POWER AUTOMATION CO. LTD."
7 o="SuZhou A-rack Information Technology Co.,Ltd"
+ 8 o="Medicomp, Inc"
9 o="Topgolf Sweden AB"
A o="Unitronux(Shenzhen) Intelligence Technology Co.,Ltd"
B o="Teknic, Inc."
@@ -18479,6 +18659,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Swisson AG"
D o="APPEAK Technology System Co.Ltd."
E o="SCA Hygiene Products AB"
+28B77C
+ 0 o="SHENZHEN EVIEW GPS TECHNOLOGY"
+ 1 o="SolarEdge Technologies"
+ 2 o="Zhuhai RongBang Electronic Technology Co., Ltd."
+ 3 o="Beijing Kitten&Puppy Technology Co.,Ltd."
+ 4 o="Annapurna labs"
+ 5 o="GROTHE GmbH"
+ 6 o="Shanghai Taiji Software Co.,Limited"
+ 7 o="Convertertec Deutschland GmbH"
+ 8 o="Shenzhen PUAS Industrial Co.,LTD"
+ 9 o="Anser Coding Inc."
+ A o="Simaudio Ltd"
+ B o="Vehant Technologies Pvt Ltd."
+ C o="AnyLink LLC"
+ D o="Enedo Finland Oy"
+ E o="Ray Pte Ltd"
28F537
0 o="Valeo Siemens eAutomotive Norway"
1 o="Umojo"
@@ -18651,6 +18847,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Origami Group Limited"
D o="OLIMEX Ltd"
E o="Shenzhen Fengliyuan Energy Conservating Technology Co. Ltd"
+304950
+ 0 o="Guangzhou Lian-med Technology Co.,Ltd."
+ 1 o="ATLI WORLD LIMITED"
+ 2 o="Sercomm Corporation."
+ 3 o="Morgan Schaffer Inc."
+ 4 o="ADVANCED MICROWAVE ENGINEERING SRL"
+ 5 o="IK Elektronik GmbH"
+ 6 o="Curb, Inc."
+ 7 o="Shenzhen iTG robot Co.,Ltd."
+ 8 o="SHENZHEN LDROBOT CO., LTD."
+ 9 o="Shanghai gatang technology CO.,LTD"
+ A o="Ledworks SRL"
+ B o="HANGZHOU EV-TECH CO.,LTD"
+ C o="Anacove LLC"
+ D o="Xio Research, Inc"
+ E o="IoTmaxx GmbH"
34008A
0 o="Angee Technologies Ltd."
1 o="ZQAM Communications"
@@ -18792,6 +19004,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Ajax Systems Inc"
D o="Yellowbrick Data, Inc."
E o="Wyres SAS"
+38F7CD
+ 0 o="Polska Fabryka Wodomierzy i Ciep?omierzy FILA"
+ 1 o="NZIA Connect Inc"
+ 2 o="RIPower Co.,Ltd"
+ 3 o="VANGUARD"
+ 4 o="NORDI TELEKOMMUNIKATSIOONI OÜ"
+ 5 o="Shanghai qinzhuo Electronic Co., Ltd."
+ 6 o="Fast Cotton(Beijing) Limited"
+ 7 o="ARUNAS PTY LTD"
+ 8 o="BlastWave Inc."
+ 9 o="RFbeam Microwave GmbH"
+ A o="Distech Controls"
+ B o="Fibergate Inc."
+ C o="Shenzhen MADIGI Electronic Technology Co., Ltd"
+ D o="Macherey-Nagel GmbH & Co. KG"
+ E o="APT MOBILE SATCOM LIMITED"
38FDFE
0 o="Edge I&D Co., Ltd."
1 o="WAYTONE (BEIIJNG) COMMUNICATIONS CO.,LTD"
@@ -19093,6 +19321,21 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Alibaba (Beijing) Software Service Inc."
D o="Shenzhen bankledger Technology Co, Ltd"
E o="Annapurna labs"
+4C93A6
+ 0 o="Vestaboard, Inc."
+ 1 o="Atrie Technology Fzc"
+ 2 o="Diehl Controls Nanjing Co., Ltd."
+ 3 o="Commsignia, Ltd."
+ 4 o="4D Sistem Ticaret A.S."
+ 6 o="Shandong Senter Electronic Co., Ltd"
+ 7 o="5Voxel Co., Ltd."
+ 8 o="Sercomm Corporation."
+ 9 o="Advantics"
+ A o="Hanwang Technology Co.,Ltd"
+ B o="Felten Electronics"
+ C o="Wuhan Maiwe communication Co.,Ltd"
+ D o="Cantronic Systems (Canada) Inc"
+ E o="CELLTRON"
4CBC98
0 o="Charge-Amps AB"
1 o="JSC NIC"
@@ -19236,6 +19479,20 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="BJ COTYTECH TECHNOLOGY CO.,LTD"
D o="ASSEM TECHNOLOGY CO.,LTD."
E o="Nederman Holding AB"
+58208A
+ 0 o="Annapurna labs"
+ 2 o="MARS DIGI TECH CO .,LTD"
+ 3 o="Aggregate Co.,Ltd."
+ 4 o="TRING"
+ 5 o="JIA HUANG JHAN YE CO.,LTD"
+ 6 o="Shangyin Intelligence Technology Shandong Co.,Ltd"
+ 7 o="pureLiFi Ltd"
+ 8 o="SAMIL CTS Co., Ltd."
+ 9 o="Suzhou Ruilisi Technology Ltd."
+ A o="Conductix-Wampfler"
+ B o="Infodev Electronic Designers Intl."
+ D o="SAMBO HITECH"
+ E o="UPM Technology, Inc"
58E876
1 o="Beijing Perabytes IS Technology Co., Ltd"
2 o="Coala Life AB"
@@ -19267,6 +19524,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Excenon Mobile Technology Co., Ltd."
D o="XIAMEN LEELEN TECHNOLOGY CO.,LTD"
E o="Applied Device Technologies"
+5C857E
+ 0 o="28 Gorilla"
+ 1 o="Sichuan C.H Control Technology Co., Ltd."
+ 2 o="mobilogix HongKong"
+ 3 o="Cable Matters Inc."
+ 4 o="Shenzhen IP3 Century Intelligent Technology CO.,Ltd"
+ 5 o="Shanghai Yanhe automation technology co.,LTD"
+ 6 o="ProdataKey"
+ 7 o="Beijing HZFD Technology Co., Ltd"
+ 8 o="BeiJing Xinsheng Technology Co.,Ltd"
+ 9 o="Express LUCK Industrial Ltd."
+ A o="Zhejiang Jetron Ark Digital Technology Co., Ltd"
+ B o="HHCC Plant Technology Co., Ltd."
+ C o="Annapurna labs"
+ D o="Nautech Electronics Ltd"
+ E o="Guoyi Liangzi (Hefei) Technology Co., Ltd(CIQTEK)"
5CF286
0 o="Hangzhou Signwei Electronics Technology Co., Ltd"
1 o="iSon Tech"
@@ -19409,6 +19682,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Toucan Systems Ltd"
D o="Nanjing Buruike Electronics Technology Co., Ltd."
E o="Beijing Fimi Technology Co., Ltd."
+706979
+ 0 o="Full Solution Telecom"
+ 1 o="Linksys Telecom Shenzhen CO., LTD"
+ 2 o="Graphcore Ltd"
+ 3 o="Hebei Baina Xinda Technology Co., Ltd."
+ 4 o="SelectTech GeoSpatial, LLC"
+ 5 o="Ibyte"
+ 6 o="Beijing Security Union Information Technology Co.,Ltd"
+ 7 o="Intelitech SIA"
+ 8 o="An Phat Information Technology Co., Ltd"
+ 9 o="Faurecia Clarion Electronics (Dongguan) Co., Ltd"
+ A o="Foxconn Brasil Industria e Comercio Ltda"
+ B o="Liquid Instruments Pty Ltd"
+ C o="Rivian Automotive LLC"
+ D o="FREUND ELEKTRONIKA D.O.O., IP-INTEGRA TECHNOLOGIES"
+ E o="BAS-IP LP"
70886B
0 o="Veracity UK Ltd"
1 o="Bitfinder Inc"
@@ -19425,6 +19714,7 @@ FCFEC2 o="Invensys Controls UK Limited"
001 o="SOREDI touch systems GmbH"
002 o="Gogo BA"
003 o="ANYROAM"
+ 005 o="CT Company"
006 o="Piranha EMS Inc."
007 o="SENSONEO"
008 o="ESYSE GmbH Embedded Systems Engineering"
@@ -19434,6 +19724,7 @@ FCFEC2 o="Invensys Controls UK Limited"
00C o="EXARA Group"
00D o="Scrona AG"
00E o="Magosys Systems LTD"
+ 00F o="Neusoft Reach Automotive Technology (Shenyang) Co.,Ltd"
010 o="Hanwa Electronic Ind.Co.,Ltd."
011 o="Sumer Data S.L"
012 o="KST technology"
@@ -19486,6 +19777,7 @@ FCFEC2 o="Invensys Controls UK Limited"
044 o="Don Electronics Ltd"
045 o="Navaero Avionics AB"
046 o="Shenzhen Rihuida Electronics Co,. Ltd"
+ 047 o="OOO %ORION-R%"
048 o="AvMap srlu"
049 o="APP Engineering, Inc."
04A o="Gecko Robotics Inc"
@@ -19494,9 +19786,11 @@ FCFEC2 o="Invensys Controls UK Limited"
04D o="Sicon srl"
04E o="HUGEL GmbH"
050 o="Compusign Systems Pty Ltd"
+ 051 o="JT"
052 o="Sudo Premium Engineering"
053 o="YAMAKATSU ELECTRONICS INDUSTRY CO., LTD."
054 o="Groupeer Technologies"
+ 055 o="BAE SYSTEMS"
056 o="MIRAE INFORMATION TECHNOLOGY CO., LTD."
057 o="RCH ITALIA SPA"
058 o="Telink Semiconductor CO, Limtied, Taiwan"
@@ -19519,6 +19813,7 @@ FCFEC2 o="Invensys Controls UK Limited"
06A o="Guangdong Centnet Technology Co.,Ltd"
06B o="U-Tech"
06C o="AppTek"
+ 06D o="Panoramic Power"
06E o="GLOBAL-KING INTERNATIONAL CO., LTD."
06F o="Beijing Daswell Science and Technology Co.LTD"
070 o="Lumiplan Duhamel"
@@ -19545,6 +19840,7 @@ FCFEC2 o="Invensys Controls UK Limited"
086 o="Husty M.Styczen J.Hupert Sp.J."
087 o="Tempus Fugit Consoles bvba"
088 o="OptiScan Biomedical Corp."
+ 089 o="Kazdream Technologies LLP"
08A o="MB connect line GmbH Fernwartungssysteme"
08B o="Peter Huber Kaeltemaschinenbau AG"
08C o="Airmar Technology Corp"
@@ -19556,13 +19852,14 @@ FCFEC2 o="Invensys Controls UK Limited"
092 o="inomed Medizintechnik GmbH"
093 o="Legrand Electric Ltd"
094 o="Circuitlink Pty Ltd"
+ 095 o="plc-tec AG"
096 o="HAVELSAN A.Ş."
097 o="Avant Technologies"
098 o="Alcodex Technologies Private Limited"
099 o="Schwer+Kopka GmbH"
09A o="Akse srl"
09B o="Jacarta Ltd"
- 09D o="P&S GmbH"
+ 09D o="PuS GmbH und Co. KG"
09E o="MobiPromo"
09F o="COMTECH Kft."
0A0 o="Cominfo, Inc."
@@ -19588,9 +19885,11 @@ FCFEC2 o="Invensys Controls UK Limited"
0B4 o="AVER"
0B5 o="Capgemini Netherlands"
0B6 o="Landis Gyr"
+ 0B7 o="HAI ROBOTICS Co., Ltd."
0B8 o="Lucas-Nülle GmbH"
0B9 o="Easy Digital Concept"
0BA o="Ayre Acoustics, Inc."
+ 0BB o="AnaPico AG"
0BC o="Practical Software Studio LLC"
0BD o="Andium"
0BE o="ChamSys Ltd"
@@ -19636,6 +19935,7 @@ FCFEC2 o="Invensys Controls UK Limited"
0E8 o="Grossenbacher Systeme AG"
0E9 o="VNT electronics s.r.o."
0EA o="AEV Broadcast Srl"
+ 0EB o="Tomahawk Robotics"
0EC o="ACS MOTION CONTROL"
0ED o="Lupa Tecnologia e Sistemas Ltda"
0EE o="Picture Elements, Inc."
@@ -19645,6 +19945,7 @@ FCFEC2 o="Invensys Controls UK Limited"
0F2 o="TrexEdge, Inc."
0F3 o="MonsoonRF, Inc."
0F4 o="Visual Robotics"
+ 0F5 o="Season Electronics Ltd"
0F6 o="KSE GmbH"
0F7 o="Bespoon"
0F8 o="Special Services Group, LLC"
@@ -19665,14 +19966,18 @@ FCFEC2 o="Invensys Controls UK Limited"
108 o="TEX COMPUTER SRL"
109 o="DiTEST Fahrzeugdiagnose GmbH"
10A o="SEASON DESIGN TECHNOLOGY"
+ 10B o="SECUREAN CO.,Ltd"
10C o="Vocality International Ltd"
+ 10D o="CoreEL Technologies Pvt Ltd"
10E o="Colorimetry Research, Inc"
10F o="neQis"
+ 110 o="Orion Power Systems, Inc."
111 o="Leonardo Sistemi Integrati S.r.l."
112 o="DiTEST Fahrzeugdiagnose GmbH"
113 o="iREA System Industry"
114 o="Project H Pty Ltd"
115 o="Welltec Corp."
+ 116 o="Momentum Data Systems"
117 o="SysCom Automationstechnik GmbH"
11B o="HoseoTelnet Inc..."
11C o="Samriddi Automations Pvt. Ltd."
@@ -19693,6 +19998,7 @@ FCFEC2 o="Invensys Controls UK Limited"
12D o="S.E.I. CO.,LTD."
12E o="GreenFlux"
12F o="DSP4YOU LTd"
+ 130 o="MG s.r.l."
131 o="Inova Design Solutions Ltd"
132 o="Hagenuk KMT Kabelmesstechnik GmbH"
133 o="Vidisys GmbH"
@@ -19729,8 +20035,10 @@ FCFEC2 o="Invensys Controls UK Limited"
153 o="Schneider Electric Motion USA"
154 o="Walk Horizon Technology (Beijing) Co., Ltd."
155 o="Sanwa New Tec Co.,Ltd"
+ 157 o="Shanghai Jupper Technology Co.Ltd"
158 o="EAX Labs s.r.o."
159 o="RCH Vietnam Limited Liability Company"
+ 15A o="ENABLER LTD."
15B o="Armstrong International, Inc."
15C o="Woods Hole Oceanographic Institution"
15D o="Vtron Pty Ltd"
@@ -19740,6 +20048,7 @@ FCFEC2 o="Invensys Controls UK Limited"
162 o="ESPAI DE PRODUCCIÓ I ELECTRÓNI"
163 o="BHARAT HEAVY ELECTRICALS LIMITED"
164 o="Tokyo Drawing Ltd."
+ 165 o="Wuhan Xingtuxinke ELectronic Co.,Ltd"
166 o="SERIAL IMAGE INC."
167 o="Eiden Co.,Ltd."
168 o="Biwave Technologies, Inc."
@@ -19755,10 +20064,12 @@ FCFEC2 o="Invensys Controls UK Limited"
173 o="National TeleConsultants LLC"
174 o="Carlson Wireless Technologies Inc."
175 o="Akribis Systems"
+ 177 o="Wired Broadcast Ltd"
178 o="Gamber Johnson-LLC"
179 o="ALTRAN UK"
17A o="Gencoa Ltd"
17B o="Vistec Electron Beam GmbH"
+ 17C o="Farmpro Ltd"
17D o="Entech Electronics"
17E o="OCULI VISION"
17F o="MB connect line GmbH Fernwartungssysteme"
@@ -19779,9 +20090,11 @@ FCFEC2 o="Invensys Controls UK Limited"
18E o="NIPPON SEIKI CO., LTD."
18F o="Newtec A/S"
190 o="Fantom Wireless, Inc."
+ 191 o="Algodue Elettronica Srl"
192 o="ASPT, INC."
193 o="ERA TOYS LIMITED"
194 o="Husty M.Styczen J.Hupert Sp.J."
+ 195 o="Ci4Rail"
197 o="Lattech Systems Pty Ltd"
199 o="Smart Controls LLC"
19A o="WiSuite USA"
@@ -19795,6 +20108,7 @@ FCFEC2 o="Invensys Controls UK Limited"
1A4 o="DAVEY BICKFORD"
1A5 o="METRONIC APARATURA KONTROLNO - POMIAROWA"
1A6 o="Robotelf Technologies (Chengdu) Co., Ltd."
+ 1A7 o="Elk Solutions, LLC"
1A8 o="STC %Rainbow% Ltd."
1A9 o="OCEANIX INC."
1AA o="Echo Ridge, LLC"
@@ -19803,6 +20117,7 @@ FCFEC2 o="Invensys Controls UK Limited"
1AD o="Techworld Industries Ltd"
1AF o="Teenage Engineering AB"
1B1 o="Shanghai Danyan Information Technology Co., Ltd."
+ 1B2 o="Cavagna Group Spa"
1B3 o="Graphcore Ltd"
1B4 o="5nines"
1B5 o="StarBridge, Inc."
@@ -19814,6 +20129,7 @@ FCFEC2 o="Invensys Controls UK Limited"
1BE o="Potter Electric Signal Co. LLC"
1BF o="DEUTA-WERKE GmbH"
1C0 o="W. H. Leary Co., Inc."
+ 1C1 o="Sphere of economical technologies Ltd"
1C2 o="CENSIS, Uiversity of Glasgow"
1C3 o="Shanghai Tiancheng Communication Technology Corporation"
1C4 o="Smeg S.p.A."
@@ -19821,6 +20137,7 @@ FCFEC2 o="Invensys Controls UK Limited"
1C7 o="Hoshin Electronics Co., Ltd."
1C8 o="LDA audio video profesional S.L."
1C9 o="MB connect line GmbH Fernwartungssysteme"
+ 1CA o="inomatic GmbH"
1CB o="MatchX GmbH"
1CC o="AooGee Controls Co., LTD."
1CD o="ELEUSI GmbH"
@@ -19927,6 +20244,7 @@ FCFEC2 o="Invensys Controls UK Limited"
23F o="ETA-USA"
240 o="Orlaco Products B.V."
241 o="Bolide Technology Group, Inc."
+ 242 o="Comeo Technology Co.,Ltd"
243 o="Rohde&Schwarz Topex SA"
244 o="DAT Informatics Pvt Ltd"
245 o="Newtec A/S"
@@ -19950,11 +20268,14 @@ FCFEC2 o="Invensys Controls UK Limited"
259 o="Zebra Elektronik A.S."
25A o="DEUTA-WERKE GmbH"
25B o="GID Industrial"
+ 25C o="ARCLAN'SYSTEM"
25D o="Mimo Networks"
+ 25E o="RFHIC"
25F o="COPPERNIC SAS"
260 o="ModuSystems, Inc"
261 o="Potter Electric Signal Co. LLC"
262 o="OOO Research and Production Center %Computer Technologies%"
+ 263 o="AXING AG"
264 o="ifak technology + service GmbH"
266 o="Spectra Displays Ltd"
267 o="Zehntner Testing Instruments"
@@ -19995,12 +20316,15 @@ FCFEC2 o="Invensys Controls UK Limited"
28D o="Technica Engineering GmbH"
28E o="TEX COMPUTER SRL"
28F o="Overline Systems"
+ 291 o="Sequent AG"
292 o="Boston Dynamics"
293 o="Solar RIg Technologies"
+ 294 o="RCH Vietnam Limited Liability Company"
295 o="Cello Electronics (UK) Ltd"
296 o="Rohde&Schwarz Topex SA"
297 o="Grossenbacher Systeme AG"
299 o="KMtronic ltd"
+ 29A o="Profusion Limited"
29B o="DermaLumics S.L."
29C o="Teko Telecom Srl"
29D o="XTech2 SIA"
@@ -20020,6 +20344,7 @@ FCFEC2 o="Invensys Controls UK Limited"
2AC o="New Imaging Technologies"
2AD o="Opgal Optronic Industries"
2AE o="Alere Technologies AS"
+ 2AF o="Enlaps"
2B0 o="Beijing Zhongyi Yue Tai Technology Co., Ltd"
2B1 o="WIXCON Co., Ltd"
2B2 o="Sun Creative (ZheJiang) Technology INC."
@@ -20036,25 +20361,32 @@ FCFEC2 o="Invensys Controls UK Limited"
2BE o="Coherent Logix, Inc."
2BF o="FOSHAN VOHOM"
2C0 o="Sensative AB"
+ 2C1 o="Avlinkpro"
2C2 o="Quantum Detectors"
2C3 o="Proterra"
2C4 o="Hodwa Co., Ltd"
2C7 o="Worldsensing"
+ 2C8 o="SLAT"
2C9 o="SEASON DESIGN TECHNOLOGY"
2CA o="TATTILE SRL"
+ 2CB o="Yongtong tech"
2CC o="WeWork Companies, Inc."
2CD o="Korea Airports Corporation"
2CE o="KDT"
2CF o="MB connect line GmbH Fernwartungssysteme"
2D0 o="ijin co.,ltd."
+ 2D1 o="Integer.pl S.A."
2D2 o="SHANGHAI IRISIAN OPTRONICS TECHNOLOGY CO.,LTD."
+ 2D3 o="Hensoldt Sensors GmbH"
2D4 o="CT Company"
2D5 o="Teuco Guzzini"
2D6 o="Kvazar LLC"
2D8 o="Unisight Digital Products"
+ 2D9 o="ZPAS S.A."
2DA o="Skywave Networks Private Limited"
2DB o="ProtoPixel SL"
2DC o="Bolide Technology Group, Inc."
+ 2DD o="Melissa Climate Jsc"
2DE o="YUYAMA MFG Co.,Ltd"
2E0 o="Peter Huber"
2E1 o="hiSky S.C.S LTD"
@@ -20078,14 +20410,17 @@ FCFEC2 o="Invensys Controls UK Limited"
2F4 o="Radixon s.r.o."
2F5 o="eze System, Inc."
2F6 o="TATTILE SRL"
+ 2F7 o="Military Research Institute"
2F8 o="Tunstall A/S"
2F9 o="CONSOSPY"
2FA o="Toray Medical Co.,Ltd"
+ 2FB o="IK MULTIMEDIA PRODUCTION SRL"
2FC o="Loanguard T/A SE Controls"
2FD o="Special Projects Group, Inc"
2FE o="Yaham Optoelectronics Co., Ltd"
2FF o="Sunstone Engineering"
300 o="Novo DR Ltd."
+ 301 o="WAYNE ANALYTICS LLC"
302 o="DogWatch Inc"
303 o="Fuchu Giken, Inc."
304 o="Wartsila Voyage Limited"
@@ -20093,6 +20428,7 @@ FCFEC2 o="Invensys Controls UK Limited"
306 o="LEMZ-T, LLC"
307 o="Energi innovation Aps"
308 o="DSD MICROTECHNOLOGY,INC."
+ 30A o="HongSeok Ltd."
30B o="Ash Technologies"
30C o="Sicon srl"
30D o="Fiberbase"
@@ -20108,6 +20444,7 @@ FCFEC2 o="Invensys Controls UK Limited"
31F o="Elcoma"
320 o="CYNIX Systems Inc"
321 o="Yite technology"
+ 322 o="PuS GmbH und Co. KG"
323 o="TATTILE SRL"
324 o="Thales Nederland BV"
325 o="BlueMark Innovations BV"
@@ -20116,11 +20453,13 @@ FCFEC2 o="Invensys Controls UK Limited"
328 o="HIPODROMO DE AGUA CALIENTE SA CV"
329 o="Primalucelab isrl"
32A o="Wuhan Xingtuxinke ELectronic Co.,Ltd"
+ 32B o="RTA srl"
32C o="ATION Corporation"
32D o="Hanwell Technology Co., Ltd."
32E o="A&T Corporation"
32F o="Movidius SRL"
330 o="iOne"
+ 331 o="Firecom, Inc."
332 o="InnoSenT"
334 o="Dokuen Co. Ltd."
335 o="Jonsa Australia Pty Ltd"
@@ -20130,6 +20469,7 @@ FCFEC2 o="Invensys Controls UK Limited"
339 o="Sierra Nevada Corporation"
33B o="Seal Shield, LLC"
33C o="Videri Inc."
+ 33D o="Schneider Electric Motion USA"
33E o="Dynamic Connect (Suzhou) Hi-Tech Electronic Co.,Ltd."
33F o="XANTIA SA"
340 o="Renesas Electronics"
@@ -20147,6 +20487,7 @@ FCFEC2 o="Invensys Controls UK Limited"
34C o="GLT Exports Ltd"
34D o="Equos Research Co., Ltd"
34E o="Risk Expert sarl"
+ 34F o="Royal Engineering Consultancy Private Limited"
350 o="Tickster AB"
351 o="KST technology"
352 o="Globalcom Engineering SPA"
@@ -20171,6 +20512,7 @@ FCFEC2 o="Invensys Controls UK Limited"
366 o="Solarlytics, Inc."
367 o="Living Water"
368 o="White Matter LLC"
+ 369 o="ALVAT s.r.o."
36A o="Becton Dickinson"
36C o="Sicon srl"
36D o="Cyberteam Sp z o o"
@@ -20181,6 +20523,7 @@ FCFEC2 o="Invensys Controls UK Limited"
372 o="MATELEX"
374 o="OOO NPP Mars-Energo"
375 o="Adel System srl"
+ 376 o="Magenta Labs, Inc."
377 o="Monnit Corporation"
378 o="synchrotron SOLEIL"
379 o="Vensi, Inc."
@@ -20195,6 +20538,7 @@ FCFEC2 o="Invensys Controls UK Limited"
383 o="LPA Excil Electronics"
384 o="Sensohive Technologies"
385 o="Kamacho Scale Co., Ltd."
+ 386 o="GPSat Systems"
387 o="GWF MessSysteme AG"
388 o="Xitron"
38A o="KSE GmbH"
@@ -20204,6 +20548,7 @@ FCFEC2 o="Invensys Controls UK Limited"
38F o="Sorynorydotcom Inc"
391 o="Changshu Ruite Electric Co.,Ltd."
392 o="Contec Americas Inc."
+ 393 o="Monnit Corporation"
394 o="Romteck Australia"
396 o="CTG sp. z o. o."
397 o="Guangxi Hunter Information Industry Co.,Ltd"
@@ -20215,20 +20560,27 @@ FCFEC2 o="Invensys Controls UK Limited"
39E o="Lanmark Controls Inc."
3A0 o="chiconypower"
3A1 o="Reckeen HDP Media sp. z o.o. sp. k."
+ 3A2 o="Daifuku CO., Ltd."
+ 3A3 o="CDS Institute of Management Strategy, Inc."
3A4 o="Ascenix Corporation"
3A5 o="KMtronic ltd"
3A7 o="Varikorea"
3A8 o="JamHub Corp."
3A9 o="Vivalnk"
3AA o="RCATSONE"
+ 3AB o="Camozzi Automation SpA"
+ 3AC o="RF-Tuote Oy"
3AD o="CT Company"
3AE o="Exicom Technologies fze"
3AF o="Turbo Technologies Corporation"
3B0 o="Millennial Net, Inc."
+ 3B1 o="Global Power Products"
3B2 o="Sicon srl"
+ 3B4 o="YOUSUNG"
3B5 o="Preston Industries dba PolyScience"
3B7 o="Paul Scherrer Institut (PSI)"
3B8 o="nVideon, Inc."
+ 3B9 o="BirdDog Australia"
3BA o="Silex Inside"
3BB o="A-M Systems"
3BC o="SciTronix"
@@ -20236,6 +20588,7 @@ FCFEC2 o="Invensys Controls UK Limited"
3BE o="MyDefence Communication ApS"
3BF o="Star Electronics GmbH & Co. KG"
3C0 o="DK-Technologies A/S"
+ 3C1 o="thingdust AG"
3C2 o="Cellular Specialties, Inc."
3C3 o="AIMCO"
3C4 o="Hagiwara Solutions Co., Ltd."
@@ -20246,12 +20599,15 @@ FCFEC2 o="Invensys Controls UK Limited"
3CA o="TTI Ltd"
3CB o="GeoSpectrum Technologies Inc"
3CC o="TerOpta Ltd"
+ 3CD o="BRS Sistemas Eletrônicos"
3CE o="Aditec GmbH"
3CF o="Systems Engineering Arts Pty Ltd"
3D0 o="ORtek Technology, Inc."
3D2 o="Imagine Inc."
+ 3D3 o="GS Elektromedizinsiche Geräte G. Stemple GmbH"
3D4 o="Sanmina Israel"
3D5 o="oxynet Solutions"
+ 3D6 o="Ariston Thermo s.p.a."
3D7 o="Remote Sensing Solutions, Inc."
3D8 o="Abitsoftware, Ltd."
3D9 o="Aplex Technology Inc."
@@ -20260,6 +20616,7 @@ FCFEC2 o="Invensys Controls UK Limited"
3DD o="Kniggendorf + Kögler Security GmbH"
3DE o="ELOMAC Elektronik GmbH"
3DF o="MultiDyne"
+ 3E0 o="Gogo Business Aviation"
3E1 o="Barnstormer Softworks"
3E2 o="AVI Pty Ltd"
3E3 o="Head"
@@ -20273,6 +20630,7 @@ FCFEC2 o="Invensys Controls UK Limited"
3EB o="Grossenbacher Systeme AG"
3EC o="Outsight SA"
3ED o="Ultra Electronics Sonar System Division"
+ 3EE o="Laser Imagineering Vertriebs GmbH"
3EF o="Vtron Pty Ltd"
3F0 o="Intervala"
3F1 o="Olympus NDT Canada"
@@ -20286,6 +20644,8 @@ FCFEC2 o="Invensys Controls UK Limited"
3F9 o="Herrick Tech Labs"
3FA o="Zaklad Energoelektroniki Twerd"
3FB o="Liberty Reach"
+ 3FC o="TangRen C&S CO., Ltd"
+ 3FD o="NaraControls Inc"
3FE o="Mentor Graphics"
3FF o="Hydra Controls"
400 o="Vtron Pty Ltd"
@@ -20299,6 +20659,8 @@ FCFEC2 o="Invensys Controls UK Limited"
409 o="Beijing Yutian Technology Co., Ltd."
40A o="Monroe Electronics, Inc."
40B o="QUERCUS TECHNOLOGIES, S.L."
+ 40C o="Tornado Modular Systems"
+ 40D o="Grupo Epelsa S.L."
40E o="Liaoyun Information Technology Co., Ltd."
40F o="NEXELEC"
410 o="Avant Technologies, Inc"
@@ -20306,6 +20668,7 @@ FCFEC2 o="Invensys Controls UK Limited"
413 o="Axess AG"
414 o="Smith Meter, Inc."
415 o="IDEA SPA"
+ 416 o="Antlia Systems"
417 o="Figment Design Laboratories"
418 o="DEV Systemtechnik GmbH& Co KG"
41A o="HYOSUNG Power & Industrial Systems"
@@ -20316,6 +20679,7 @@ FCFEC2 o="Invensys Controls UK Limited"
420 o="ECOINET"
421 o="North Star Bestech Co.,"
422 o="SUS Corporation"
+ 424 o="Underground Systems, Inc."
425 o="SinterCast"
426 o="Zehnder Group Nederland"
427 o="Key Chemical & Equipment Company"
@@ -20337,6 +20701,7 @@ FCFEC2 o="Invensys Controls UK Limited"
437 o="Digital Way"
439 o="TriLED"
43B o="Kalycito Infotech Private Limited"
+ 43C o="Scenario Automation"
43D o="Veryx Technologies Private Limited"
43E o="Peloton Technology"
43F o="biosilver .co.,ltd"
@@ -20350,6 +20715,7 @@ FCFEC2 o="Invensys Controls UK Limited"
447 o="Avid Controls Inc"
448 o="B/E Aerospace, Inc."
449 o="Edgeware AB"
+ 44A o="CANON ELECTRON TUBES & DEVICES CO., LTD."
44B o="Open System Solutions Limited"
44D o="Vessel Technology Ltd"
44E o="Solace Systems Inc."
@@ -20372,7 +20738,9 @@ FCFEC2 o="Invensys Controls UK Limited"
465 o="ENERGISME"
466 o="SYLink Technologie"
467 o="GreenWake Technologies"
+ 468 o="Shanghai Junqian Sensing Technology Co., LTD"
469 o="Gentec Systems Co."
+ 46A o="Shenzhen Vikings Technology Co., Ltd."
46B o="Airborne Engineering Limited"
46C o="SHANGHAI CHENZHU INSTRUMENT CO., LTD."
46E o="Zamir Recognition Systems Ltd."
@@ -20380,6 +20748,7 @@ FCFEC2 o="Invensys Controls UK Limited"
470 o="KITRON UAB"
471 o="SYSCO Sicherheitssysteme GmbH"
472 o="Quadio Devices Private Limited"
+ 473 o="KeyProd"
475 o="EWATTCH"
476 o="FR-Team International SA"
477 o="digitrol limited"
@@ -20391,7 +20760,10 @@ FCFEC2 o="Invensys Controls UK Limited"
47E o="Fiber Optika Technologies Pvt. Ltd."
47F o="ASE GmbH"
480 o="Emergency Lighting Products Limited"
+ 481 o="STEP sarl"
482 o="Aeryon Labs Inc"
+ 484 o="Hermann Sewerin GmbH"
+ 485 o="CLARESYS LIMITED"
486 o="ChongQing JianTao Technology Co., Ltd."
487 o="ECS s.r.l."
488 o="Cardinal Scale Mfg Co"
@@ -20413,12 +20785,14 @@ FCFEC2 o="Invensys Controls UK Limited"
499 o="Pycom Ltd"
49A o="HAXE SYSTEME"
49B o="Algodue Elettronica Srl"
+ 49C o="AC Power Corp."
49D o="Shenzhen Chanslink Network Technology Co., Ltd"
49E o="CAPTEMP, Lda"
49F o="B.P.A. SRL"
4A0 o="FLUDIA"
4A1 o="Herholdt Controls srl"
4A2 o="DEVAU Lemppenau GmbH"
+ 4A3 o="TUALCOM ELEKTRONIK A.S."
4A4 o="DEUTA-WERKE GmbH"
4A5 o="Intermind Inc."
4A6 o="HZHY TECHNOLOGY"
@@ -20436,6 +20810,7 @@ FCFEC2 o="Invensys Controls UK Limited"
4B2 o="Certus Operations Ltd"
4B3 o="Bacsoft"
4B4 o="Hi Tech Systems Ltd"
+ 4B5 o="Toolplanet Co., Ltd."
4B6 o="VEILUX INC."
4B7 o="Aplex Technology Inc."
4B8 o="International Roll-Call Corporation"
@@ -20455,6 +20830,7 @@ FCFEC2 o="Invensys Controls UK Limited"
4C7 o="SOLVERIS sp. z o.o."
4C8 o="Hosokawa Micron Powder Systems"
4C9 o="Elsist Srl"
+ 4CA o="PCB Piezotronics"
4CC o="FRESENIUS MEDICAL CARE"
4CD o="Power Electronics Espana, S.L."
4CE o="Agilack"
@@ -20465,6 +20841,7 @@ FCFEC2 o="Invensys Controls UK Limited"
4D4 o="Nortek Global HVAC"
4D5 o="Moog Rekofa GmbH"
4D6 o="Operational Technology Solutions"
+ 4D7 o="Technological Ray GmbH"
4D8 o="Versilis Inc."
4DB o="Temperature@lert"
4DC o="JK DEVICE CORPORATION"
@@ -20473,6 +20850,7 @@ FCFEC2 o="Invensys Controls UK Limited"
4DF o="Nidec Avtron Automation Corp"
4E0 o="Microvideo"
4E1 o="Grupo Epelsa S.L."
+ 4E3 o="adnexo GmbH"
4E4 o="W.A. Benjamin Electric Co."
4E5 o="viZaar industrial imaging AG"
4E7 o="Digital Domain"
@@ -20486,7 +20864,9 @@ FCFEC2 o="Invensys Controls UK Limited"
4F0 o="Li Seng Technology Ltd.,"
4F1 o="LG Electronics"
4F2 o="COMPAL ELECTRONICS, INC."
+ 4F3 o="XPS ELETRONICA LTDA"
4F4 o="WiTagg, Inc"
+ 4F5 o="Orlaco Products B.V."
4F6 o="DORLET SAU"
4F7 o="Foxtel srl"
4F9 o="OptoPrecision GmbH"
@@ -20508,6 +20888,7 @@ FCFEC2 o="Invensys Controls UK Limited"
50C o="Hangzhou landesker digital technology co. LTD"
50D o="CT Company"
50E o="Micro Trend Automation Co., LTD"
+ 50F o="LLC Sarov Innovative Technologies (WIZOLUTION)"
510 o="PSL ELEKTRONİK SANAYİ VE TİCARET A.S."
511 o="Next Sight srl"
512 o="Techno Broad,Inc"
@@ -20530,6 +20911,7 @@ FCFEC2 o="Invensys Controls UK Limited"
525 o="Plantiga Technologies Inc"
526 o="FlowNet LLC"
528 o="Aplex Technology Inc."
+ 529 o="Inventeq B.V."
52A o="Dataflex International BV"
52B o="GE Aviation Cheltenham"
52C o="Centuryarks Ltd.,"
@@ -20540,14 +20922,19 @@ FCFEC2 o="Invensys Controls UK Limited"
531 o="ATEME"
532 o="Talleres de Escoriaza SA"
533 o="Nippon Marine Enterprises, Ltd."
+ 534 o="Weihai Weigao Medical Imaging Technology Co., Ltd"
535 o="SITA Messtechnik GmbH"
+ 536 o="LARIMART SPA"
537 o="Biennebi s.r.l."
538 o="sydetion UG (h.b.)"
539 o="Tempris GmbH"
- 53A o="Pano0ramic Power"
+ 53A o="Panoramic Power"
53B o="Mr.Loop"
53C o="Airthings"
53D o="ACCEL CORP"
+ 53E o="Asiga Pty Ltd"
+ 53F o="Abbott Diagnostics Technologies AS"
+ 541 o="Nanjing Pingguang Electronic Technology Co., Ltd"
542 o="RTDS Technologies Inc."
543 o="wallbe GmbH"
544 o="Silicon Safe Ltd"
@@ -20581,6 +20968,7 @@ FCFEC2 o="Invensys Controls UK Limited"
564 o="christmann informationstechnik + medien GmbH & Co. KG"
565 o="Clecell"
566 o="Data Informs LLC"
+ 567 o="DogWatch Inc"
568 o="Small Data Garden Oy"
569 o="Nuance Hearing Ltd."
56A o="Harvard Technology Ltd"
@@ -20630,6 +21018,7 @@ FCFEC2 o="Invensys Controls UK Limited"
59C o="DAVE SRL"
59D o="servicios de consultoria independiente S.L."
5A0 o="Ascon Tecnologic S.r.l."
+ 5A1 o="BOE Technology Group Co., Ltd."
5A2 o="Wallner Automation GmbH"
5A3 o="CT Company"
5A5 o="Rehwork GmbH"
@@ -20639,6 +21028,7 @@ FCFEC2 o="Invensys Controls UK Limited"
5A9 o="Bunka Shutter Co., Ltd."
5AA o="Chugoku Electric Manufacturing Co.,Inc"
5AB o="Sea Air and Land Communications Ltd"
+ 5AC o="LM-Instruments Oy"
5AD o="Profotech"
5AE o="TinTec Co., Ltd."
5AF o="JENG IoT BV"
@@ -20654,11 +21044,16 @@ FCFEC2 o="Invensys Controls UK Limited"
5BC o="LAMTEC Meß- und Regeltechnik für Feuerungen GmbH & Co. KG"
5BE o="CASWA"
5BF o="Aton srl"
+ 5C0 o="Shenzhen Lianfaxun Electronic Technology Co., Ltd"
5C1 o="Shanghai JaWay Information Technology Co., Ltd."
5C4 o="TATTILE SRL"
5C5 o="Haag-Streit AG"
+ 5C6 o="C4I Systems Ltd"
+ 5C7 o="QSnet Visual Technologies Ltd"
5C8 o="YUYAMA MFG Co.,Ltd"
+ 5C9 o="ICTK Holdings"
5CA o="ACD Elekronik GmbH"
+ 5CB o="ECoCoMS Ltd."
5CC o="Akse srl"
5CD o="MVT Video Technologies R + H Maedler GbR"
5CF o="PROEL TSI s.r.l."
@@ -20670,6 +21065,7 @@ FCFEC2 o="Invensys Controls UK Limited"
5D5 o="CT Company"
5D6 o="BMT Messtechnik Gmbh"
5D8 o="LYNX Technik AG"
+ 5D9 o="olympus-ossa"
5DA o="Valk Welding B.V."
5DB o="Movicom LLC"
5DC o="FactoryLab B.V."
@@ -20705,8 +21101,10 @@ FCFEC2 o="Invensys Controls UK Limited"
5FB o="TELEPLATFORMS"
5FC o="SURTEC"
5FD o="Windar Photonics"
+ 5FE o="Grossenbacher Systeme AG"
5FF o="Vaisala Oyj"
600 o="Stellwerk GmbH"
+ 601 o="Tricom Research Inc."
602 o="Quantum Opus, LLC"
603 o="EGISTECH CO.,LTD."
605 o="Aplex Technology Inc."
@@ -20722,6 +21120,7 @@ FCFEC2 o="Invensys Controls UK Limited"
60F o="Tanaka Information System, LLC."
610 o="POLVISION"
611 o="Avionica"
+ 612 o="Edge Power Solutions"
613 o="Suprock Technologies"
614 o="QUALITTEQ LLC"
615 o="JSC %OTZVUK%"
@@ -20735,27 +21134,33 @@ FCFEC2 o="Invensys Controls UK Limited"
61E o="PKE Electronics AG"
61F o="Labotect Labor-Technik-Göttingen GmbH"
620 o="Orlaco Products B.V."
+ 622 o="PCS Inc."
623 o="Beijing HuaLian Technology Co, Ltd."
625 o="VX Instruments GmbH"
+ 626 o="KRONOTECH SRL"
628 o="MECT SRL"
+ 629 o="OZRAY"
+ 62A o="DOGA"
62B o="Silicann Systems GmbH"
62C o="OOO %NTC Rotek%"
62D o="elements"
+ 62E o="LINEAGE POWER PVT LTD.,"
62F o="BARCO, s.r.o."
630 o="LGE"
631 o="SENSO2ME"
+ 632 o="Power Electronics Espana, S.L."
633 o="OBSERVER FOUNDATION"
634 o="idaqs Co.,Ltd."
635 o="Cosylab d.d."
636 o="Globalcom Engineering SPA"
637 o="INEO-SENSE"
638 o="Parkalot Denmark ApS"
+ 639 o="DORLET SAU"
63A o="DAVE SRL"
63B o="Lazer Safe Pty Ltd"
63C o="Pivothead"
- 63D o="Storbyte, Inc."
63E o="RIKEN OPTECH CORPORATION"
- 63F o="YG COMPANY CO., LTD"
+ 63F o="DARBS Inc."
640 o="Electronic Equipment Company Pvt. Ltd."
641 o="Burk Technology"
642 o="MB connect line GmbH Fernwartungssysteme"
@@ -20768,6 +21173,7 @@ FCFEC2 o="Invensys Controls UK Limited"
64A o="Netbric Technology Co.,Ltd."
64B o="Kalfire"
64C o="ACEMIS FRANCE"
+ 64D o="SANMINA ISRAEL MEDICAL SYSTEMS LTD"
64E o="BigStuff3, Inc."
650 o="GIFAS-ELECTRIC GmbH"
651 o="Roxford"
@@ -20776,6 +21182,7 @@ FCFEC2 o="Invensys Controls UK Limited"
654 o="EMAC, Inc."
655 o="AOT System GmbH"
656 o="SonoSound ApS"
+ 657 o="ID Quantique SA"
658 o="emperor brands"
659 o="E2G srl"
65A o="Aplex Technology Inc."
@@ -20783,6 +21190,7 @@ FCFEC2 o="Invensys Controls UK Limited"
65C o="Aplex Technology Inc."
65D o="GEGA ELECTRONIQUE"
65E o="Season Electronics Ltd"
+ 65F o="Axnes AS"
660 o="Smart Service Technologies CO., LTD"
661 o="DesignA Electronics Limited"
662 o="Icon Industrial Engineering"
@@ -20790,10 +21198,11 @@ FCFEC2 o="Invensys Controls UK Limited"
665 o="CertUsus GmbH"
666 o="Aplex Technology Inc."
667 o="CT Company"
- 669 o="Pano0ramic Power"
+ 669 o="Panoramic Power"
66B o="Innitive B.V."
66C o="KRISTECH Krzysztof Kajstura"
66D o="Sanmina Israel"
+ 66F o="Simplified MFG"
670 o="Particle sizing systems"
671 o="Sea Shell Corporation"
672 o="KLEIBER Infrared GmbH"
@@ -20806,15 +21215,19 @@ FCFEC2 o="Invensys Controls UK Limited"
679 o="EMAC, Inc."
67A o="Micatu"
67B o="Stesalit Systems Ltd"
+ 67C o="Benchmark Electronics - Secure Technology"
67D o="Acrodea, Inc."
67E o="Season Electronics Ltd"
67F o="IAAN Co., Ltd"
680 o="BASF Corporation"
682 o="Rosslare Enterprises Limited"
+ 683 o="DECYBEN"
684 o="LECO Corporation"
686 o="Access Protocol Pty Ltd"
+ 687 o="Volution Group UK"
688 o="MG s.r.l."
689 o="Prisma Telecom Testing Srl"
+ 68A o="Advanced Telecommunications Research Institute International"
68B o="Sadel S.p.A."
68C o="ND METER"
68D o="%Meta-chrom% Co. Ltd."
@@ -20831,6 +21244,7 @@ FCFEC2 o="Invensys Controls UK Limited"
69A o="Altaneos"
69B o="TAIYO SEIKI CO.,LTD."
69C o="Keepen"
+ 69D o="JPEmbedded Mazan Filipek Sp. J."
69E o="PTYPE Co., LTD."
69F o="T+A elektroakustik GmbH & Co.KG"
6A0 o="Active Research Limited"
@@ -20840,9 +21254,12 @@ FCFEC2 o="Invensys Controls UK Limited"
6A4 o="Acrodea, Inc."
6A5 o="Akenori PTE LTD"
6A6 o="WOW System"
+ 6A7 o="Partilink Inc."
6A8 o="Vitsch Electronics"
6A9 o="OHMORI ELECTRIC INDUSTRIES CO.LTD"
+ 6AA o="Intermobility"
6AB o="ARROW (CHINA) ELECTRONICS TRADING CO., LTD."
+ 6AC o="Ketronixs Sdn Bhd"
6AD o="CONNIT"
6AE o="Hangzhou Weimu Technology Co,.Ltd."
6AF o="Sensorberg GmbH"
@@ -20867,6 +21284,7 @@ FCFEC2 o="Invensys Controls UK Limited"
6C5 o="CJSC «Russian telecom equipment company» (CJSC RTEC)"
6C6 o="Abbott Diagnostics Technologies AS"
6C7 o="Becton Dickinson"
+ 6C9 o="Redstone Sunshine(Beijing)Technology Co.,Ltd."
6CA o="LINEAGE POWER PVT LTD.,"
6CB o="NAJIN automation"
6CD o="NORTHBOUND NETWORKS PTY. LTD."
@@ -20875,10 +21293,13 @@ FCFEC2 o="Invensys Controls UK Limited"
6D1 o="Visual Engineering Technologies Ltd"
6D2 o="Ahrens & Birner Company GmbH"
6D3 o="DEUTA-WERKE GmbH"
- 6D6 o="KMtronic Ltd."
+ 6D6 o="KMtronic ltd"
+ 6D7 o="MB connect line GmbH Fernwartungssysteme"
6D8 o="Shanghai YuanAn Environmental Protection Technology Co.,Ltd"
6D9 o="VECTARE Inc"
6DA o="Enovative Networks, Inc."
+ 6DB o="Techimp - Altanova group Srl"
+ 6DC o="DEUTA-WERKE GmbH"
6DD o="Abbott Diagnostics Technologies AS"
6DE o="Ametek Solidstate Controls"
6DF o="Mango DSP, Inc."
@@ -20900,6 +21321,7 @@ FCFEC2 o="Invensys Controls UK Limited"
6F1 o="Discover Battery"
6F2 o="P&C Micro's Pty Ltd"
6F3 o="iungo"
+ 6F5 o="Cominfo, Inc."
6F6 o="Acco Brands Europe"
6F7 o="EGICON SRL"
6F8 o="SENSEON Corporation"
@@ -20922,6 +21344,7 @@ FCFEC2 o="Invensys Controls UK Limited"
709 o="AML"
70A o="PULLNET TECHNOLOGY, SA DE CV SSC1012302S73"
70B o="Alere Technologies AS"
+ 70C o="Potter Electric Signal Co. LLC"
70E o="Wuhan Xingtuxinke ELectronic Co.,Ltd"
70F o="Alion Science & Technology"
710 o="Guardian Controls International Ltd"
@@ -20934,6 +21357,7 @@ FCFEC2 o="Invensys Controls UK Limited"
718 o="PEEK TRAFFIC"
719 o="2M Technology"
71B o="elsys"
+ 71C o="Konzept Informationssysteme GmbH"
71E o="Motec Pty Ltd"
721 o="Zoe Medical"
722 o="UMAN"
@@ -20954,16 +21378,20 @@ FCFEC2 o="Invensys Controls UK Limited"
733 o="SA Instrumentation Limited"
734 o="MANSION INDUSTRY CO., LTD."
735 o="Swiss Audio"
+ 736 o="Jabil, Inc."
737 o="SD Biosensor"
739 o="Zigencorp, Inc"
+ 73A o="DOLBY LABORATORIES, INC."
73B o="S-I-C"
73C o="Centro de Ingenieria y Desarrollo industrial"
73D o="NETWAYS GmbH"
73E o="Trident RFID Pty Ltd"
+ 73F o="LLC Open Converged Networks"
740 o="Prisma Telecom Testing Srl"
741 o="HOW-E"
742 o="YUYAMA MFG Co.,Ltd"
743 o="EA Elektroautomatik GmbH & Co. KG"
+ 744 o="PHYZHON Health Inc"
745 o="TMSI LLC"
747 o="Eva Automation"
748 o="KDT"
@@ -20980,6 +21408,7 @@ FCFEC2 o="Invensys Controls UK Limited"
753 o="HCH. Kündig & CIE. AG"
754 o="COSMOIT.CO.LTD"
755 o="LandmarkTech Systems Technology Co.,Ltd."
+ 756 o="TimeMachines Inc."
757 o="GABO"
758 o="Grossenbacher Systeme AG"
759 o="AML"
@@ -20991,6 +21420,7 @@ FCFEC2 o="Invensys Controls UK Limited"
75F o="Vocality international T/A Cubic"
760 o="QUALITTEQ LLC"
761 o="Critical Link LLC"
+ 762 o="Transformational Security, LLC"
763 o="A Trap, USA"
764 o="SCHMID electronic"
765 o="LG Electronics"
@@ -21018,6 +21448,7 @@ FCFEC2 o="Invensys Controls UK Limited"
77C o="HUSTY M.Styczen J.Hupert Sp.J."
77D o="APG Cash Drawer, LLC"
77E o="Blue Marble Communications, Inc."
+ 77F o="Microchip Technology Germany II GmbH&Co.KG"
780 o="NIDEC LEROY-SOMER"
781 o="Project Service S.a.s."
782 o="thou&tech"
@@ -21031,6 +21462,7 @@ FCFEC2 o="Invensys Controls UK Limited"
78A o="Hills Health Solutions"
78B o="Jingtu Printing Systems Co., Ltd"
78C o="Survalent Technology Corporation"
+ 78D o="AVL DiTEST GmbH"
78E o="effectas GmbH"
78F o="SoFiHa"
790 o="AVI Pty Ltd"
@@ -21043,6 +21475,7 @@ FCFEC2 o="Invensys Controls UK Limited"
799 o="Vitec System Engineering Inc."
79A o="Innerspec Technologies Inc."
79B o="Soniclean Pty Ltd"
+ 79C o="ADDE"
79D o="Editech Co., Ltd"
79E o="CW2. Gmbh & Co. KG"
79F o="Green Instruments A/S"
@@ -21080,6 +21513,7 @@ FCFEC2 o="Invensys Controls UK Limited"
7C2 o="Morgan Schaffer Inc."
7C3 o="Flexim Security Oy"
7C4 o="MECT SRL"
+ 7C5 o="Projects Unlimited Inc."
7C6 o="Utrend Technology (Shanghai) Co., Ltd"
7C7 o="Sicon srl"
7C8 o="CRDE"
@@ -21092,6 +21526,8 @@ FCFEC2 o="Invensys Controls UK Limited"
7D0 o="Cubitech"
7D1 o="Schneider Electric Motion USA"
7D2 o="SDK Kristall"
+ 7D3 o="OLEDCOMM"
+ 7D4 o="Computechnic AG"
7D5 o="SICS Swedish ICT"
7D6 o="Yukilab"
7D7 o="Gedomo GmbH"
@@ -21117,6 +21553,7 @@ FCFEC2 o="Invensys Controls UK Limited"
7ED o="The Things Network Foundation"
7EE o="ADVEEZ"
7EF o="CRAVIS CO., LIMITED"
+ 7F0 o="Yokogawa Denshikiki Co.,Ltd"
7F1 o="AeroVision Avionics, Inc."
7F2 o="TCI"
7F3 o="Shenzhen Virtual Clusters Information Technology Co.,Ltd."
@@ -21126,10 +21563,12 @@ FCFEC2 o="Invensys Controls UK Limited"
7F8 o="Solvera Lynx d.d."
7F9 o="Communication Systems Solutions"
7FB o="db Broadcast Products Ltd"
+ 7FC o="Surion (Pty) Ltd"
7FD o="SYS TEC electronic GmbH"
7FE o="RCH ITALIA SPA"
7FF o="eumig industrie-TV GmbH."
800 o="HeadsafeIP PTY LTD"
+ 801 o="Glory Technology Service Inc."
802 o="Qingdao CNR HITACH Railway Signal&communication co.,ltd"
803 o="Grossenbacher Systeme AG"
804 o="PMT Corporation"
@@ -21139,6 +21578,7 @@ FCFEC2 o="Invensys Controls UK Limited"
809 o="Tecnint HTE SRL"
80A o="SENSING LABS"
80B o="Fischer Block, Inc."
+ 80C o="Algra tec AG"
80D o="Data Physics Corporation"
80F o="Quickware Eng & Des LLC"
810 o="Advice"
@@ -21163,6 +21603,8 @@ FCFEC2 o="Invensys Controls UK Limited"
826 o="Elbit Systems of America"
827 o="Metromatics Pty Ltd"
828 o="Xacti Corporation"
+ 82A o="C W F Hamilton & Co Ltd"
+ 82B o="Shangnuo company"
82C o="NELS Ltd."
82D o="Elektronik Art S.C."
82E o="PlayAlive A/S"
@@ -21187,6 +21629,7 @@ FCFEC2 o="Invensys Controls UK Limited"
843 o="OOO Research and Production Center %Computer Technologies%"
844 o="SANSFIL Technologies"
845 o="Harborside Technology"
+ 846 o="National Time & Signal Corp."
847 o="Ai-Lynx"
848 o="Aldridge Electrical Industries"
849 o="RF-Tuote Oy"
@@ -21202,6 +21645,7 @@ FCFEC2 o="Invensys Controls UK Limited"
853 o="HGH SYSTEMES INFRAROUGES"
854 o="Adimec Advanced Image Systems"
855 o="CRDE"
+ 856 o="Shanghai Westwell Information and Technology Company Ltd"
857 o="RCH ITALIA SPA"
858 o="Hubbell Power Systems"
85A o="BRUSHIES"
@@ -21214,9 +21658,12 @@ FCFEC2 o="Invensys Controls UK Limited"
861 o="KST technology"
862 o="TripleOre"
863 o="Shenzhen Wesion Technology Co., Ltd"
+ 864 o="BORMANN EDV und Zubehoer"
865 o="Insitu, Inc."
866 o="MEPS Realtime"
+ 867 o="Specialized Communications Corp."
868 o="U-JIN Mesco Co., Ltd."
+ 869 o="chargeBIG"
86A o="Stealth Communications"
86B o="AVL DiTEST"
86C o="eeas gmbh"
@@ -21225,6 +21672,7 @@ FCFEC2 o="Invensys Controls UK Limited"
86F o="LLC %NTC ACTOR%"
870 o="bentrup Industriesteuerungen"
871 o="Oso Technologies"
+ 872 o="Nippon Safety co,ltd"
873 o="Vishay Nobel AB"
874 o="NORTHBOUND NETWORKS PTY. LTD."
875 o="Peek Traffic"
@@ -21232,6 +21680,7 @@ FCFEC2 o="Invensys Controls UK Limited"
877 o="Polynet Telecommunications Consulting and Contractor Ltd."
878 o="Package Guard, Inc"
879 o="ZIGPOS GmbH"
+ 87A o="Accolade Technology Inc"
87B o="Liquid Instruments Pty Ltd"
87C o="Nautel Limited"
87D o="INVIXIUM ACCESS INC."
@@ -21242,6 +21691,7 @@ FCFEC2 o="Invensys Controls UK Limited"
882 o="SIMON TECH, S.L."
884 o="LG Electronics"
885 o="QuirkLogic"
+ 886 o="MB connect line GmbH Fernwartungssysteme"
888 o="Zetechtics Ltd"
889 o="Innovative Circuit Technology"
88A o="Perceptics, LLC"
@@ -21257,14 +21707,18 @@ FCFEC2 o="Invensys Controls UK Limited"
895 o="Integrated Control Corp."
896 o="Shanghai Longpal Communication Equipment Co., Ltd."
897 o="EFG CZ spol. s r.o."
+ 898 o="Salupo Sas"
899 o="Viotec USA"
89A o="Algodue Elettronica Srl"
89B o="ControlWorks, Inc."
89C o="IHI Rotating Machinery Engineering Co.,Ltd."
89D o="e-Matix Corporation"
89E o="Innovative Control Systems, LP"
+ 89F o="Levelup Holding, Inc."
8A0 o="DM RADIOCOM"
+ 8A1 o="TIAMA"
8A2 o="WINNERS DIGITAL CORPORATION"
+ 8A3 o="Loehnert Elektronik GmbH"
8A4 o="Phyton, Inc. Microsystems and Development Tools"
8A5 o="KST technology"
8A6 o="CRDE"
@@ -21288,6 +21742,7 @@ FCFEC2 o="Invensys Controls UK Limited"
8BA o="TIAMA"
8BB o="KST technology"
8BC o="GSI GeoSolutions International Ltd"
+ 8BD o="MAHLE ELECTRONICS, SLU"
8BE o="Connoiseur Electronics Private Limited"
8BF o="Hangzhou Leaper Technology Co. Ltd."
8C0 o="SenseNL"
@@ -21307,12 +21762,15 @@ FCFEC2 o="Invensys Controls UK Limited"
8CF o="Dainichi Denshi Co.,LTD"
8D0 o="Raft Technologies"
8D3 o="PERFORMANCE CONTROLS, INC."
+ 8D5 o="Guangzhou Wanglu"
8D7 o="Schneider Electric Motion USA"
8D8 o="VNG Corporation"
8D9 o="MB connect line GmbH Fernwartungssysteme"
8DA o="MicroElectronics System Co.Ltd"
8DB o="Kratos Analytical Ltd"
8DC o="Niveo International BV"
+ 8DD o="Vertex Co.,Ltd."
+ 8DE o="Indutherm Giesstechnologie GmbH"
8DF o="DORLET SAU"
8E0 o="SOUDAX EQUIPEMENTS"
8E1 o="WoKa-Elektronik GmbH"
@@ -21320,6 +21778,7 @@ FCFEC2 o="Invensys Controls UK Limited"
8E3 o="DORLET SAU"
8E4 o="Aplex Technology Inc."
8E6 o="Mothonic AB"
+ 8E7 o="REO AG"
8EA o="JLCooper Electronics"
8EB o="Procon Electronics Pty Ltd"
8EC o="Rudy Tellert"
@@ -21327,6 +21786,7 @@ FCFEC2 o="Invensys Controls UK Limited"
8EE o="Network Additions"
8EF o="Beeper Communications Ltd."
8F0 o="ERAESEEDS co.,ltd."
+ 8F1 o="Paramount Bed Holdings Co., Ltd."
8F2 o="Rimota Limited"
8F3 o="TATTILE SRL"
8F4 o="ACQUA-SYSTEMS srls"
@@ -21335,11 +21795,14 @@ FCFEC2 o="Invensys Controls UK Limited"
8F7 o="I.E. Sevko A.V."
8F8 o="Wi6labs"
8FA o="DEA SYSTEM SPA"
+ 8FC o="Mianjie Technology"
+ 8FE o="Selmatec AS"
8FF o="IMST GmbH"
901 o="ATS-CONVERS"
902 o="Unlimiterhear co.,ltd. taiwan branch"
903 o="Cymtec Ltd"
904 o="PHB Eletronica Ltda."
+ 905 o="Wexiodisk AB"
906 o="Aplex Technology Inc."
907 o="NINGBO CRRC TIMES TRANSDUCER TECHNOLOGY CO., LTD"
908 o="Accusonic"
@@ -21363,7 +21826,7 @@ FCFEC2 o="Invensys Controls UK Limited"
91E o="Creotech Instruments S.A."
91F o="JSC %InformInvestGroup%"
920 o="SLAT"
- 922 o="Adcole Maryland Aerospace"
+ 922 o="Adcole Space"
923 o="eumig industrie-tv GmbH"
924 o="Meridian Technologies Inc"
925 o="Diamante Lighting Srl"
@@ -21388,11 +21851,14 @@ FCFEC2 o="Invensys Controls UK Limited"
939 o="Invertek Drives Ltd"
93A o="Braemar Manufacturing, LLC"
93B o="Changchun FAW Yanfeng Visteon Automotive Electronics.,Ltd."
+ 93D o="Elmeasure India Pvt Ltd"
93E o="Systems With Intelligence Inc."
+ 93F o="Vision Sensing Co., Ltd."
940 o="Paradigm Technology Services B.V."
941 o="Triax A/S"
942 o="TruTeq Devices (Pty) Ltd"
943 o="Abbott Medical Optics Inc."
+ 944 o="Chromateq"
945 o="Symboticware Incorporated"
946 o="GREATWALL Infotech Co., Ltd."
947 o="Checkbill Co,Ltd."
@@ -21400,6 +21866,7 @@ FCFEC2 o="Invensys Controls UK Limited"
949 o="National Radio & Telecommunication Corporation - NRTC"
94A o="SHENZHEN WISEWING INTERNET TECHNOLOGY CO.,LTD"
94B o="RF Code"
+ 94C o="Honeywell/Intelligrated"
94D o="SEASON DESIGN TECHNOLOGY"
94E o="BP Lubricants USA, Inc."
94F o="MART NETWORK SOLUTIONS LTD"
@@ -21416,6 +21883,7 @@ FCFEC2 o="Invensys Controls UK Limited"
95A o="Sigmann Elektronik GmbH"
95B o="SRS Group s.r.o."
95C o="Wilson Electronics"
+ 95D o="GIORDANO CONTROLS SPA"
95E o="BLOCKSI LLC"
95F o="WiFi Nation Ltd"
960 o="HORIZON TELECOM"
@@ -21462,6 +21930,7 @@ FCFEC2 o="Invensys Controls UK Limited"
98F o="Spaceflight Industries"
990 o="Energy Wall"
991 o="Javasparrow Inc."
+ 992 o="KAEONIT"
993 o="ioThings"
994 o="KeFF Networks"
995 o="LayTec AG"
@@ -21471,6 +21940,7 @@ FCFEC2 o="Invensys Controls UK Limited"
99A o="KEVIC. inc,"
99B o="RCH ITALIA SPA"
99C o="Enerwise Solutions Ltd."
+ 99D o="Opsys-Tech"
99E o="Trinity College Dublin"
99F o="Confed Holding B.V."
9A0 o="ELDES"
@@ -21479,6 +21949,7 @@ FCFEC2 o="Invensys Controls UK Limited"
9A4 o="Nordmann International GmbH"
9A5 o="Softel"
9A7 o="Honeywell"
+ 9A8 o="Egag, LLC"
9A9 o="PABLO AIR Co., LTD"
9AA o="Tecsys do Brasil Industrial Ltda"
9AB o="Groupe Paris-Turf"
@@ -21502,6 +21973,7 @@ FCFEC2 o="Invensys Controls UK Limited"
9BF o="Xiris Automation Inc."
9C0 o="Schneider Displaytechnik GmbH"
9C1 o="Zeroplus Technology Co.,Ltd."
+ 9C2 o="Sportsbeams Lighting, Inc."
9C3 o="Sevensense Robotics AG"
9C4 o="aelettronica group srl"
9C5 o="LINEAGE POWER PVT LTD.,"
@@ -21512,6 +21984,7 @@ FCFEC2 o="Invensys Controls UK Limited"
9CA o="KOMSIS ELEKTRONIK SISTEMLERI SAN. TIC. LTD.STI"
9CB o="Alligator Communications"
9CC o="Zaxcom Inc"
+ 9CD o="WEPTECH elektronik GmbH"
9CE o="Terragene S.A"
9CF o="IOTIZE"
9D0 o="RJ45 Technologies"
@@ -21533,9 +22006,12 @@ FCFEC2 o="Invensys Controls UK Limited"
9E1 o="Bolide Technology Group, Inc."
9E2 o="Ofil USA"
9E3 o="LG Electronics"
+ 9E4 o="K&A Electronics Inc."
+ 9E5 o="Antek Technology"
9E6 o="BLOCKSI LLC"
9E7 o="Xiamen Maxincom Technologies Co., Ltd."
9E8 o="Zerospace ICT Services B.V."
+ 9E9 o="LiveCopper Inc."
9EA o="Blue Storm Associates, Inc."
9EB o="Preston Industries dba PolyScience"
9EC o="eSoftThings"
@@ -21557,11 +22033,13 @@ FCFEC2 o="Invensys Controls UK Limited"
9FE o="SURUGA SEIKI CO., LTD."
A00 o="ATX NETWORKS LTD"
A01 o="FeldTech GmbH"
+ A03 o="Proemion GmbH"
A04 o="Galea Electric S.L."
A05 o="Wartsila Voyage Limited"
A06 o="Kopis Mobile LLC"
A07 o="IoTrek Technology Private Limited"
A08 o="BioBusiness"
+ A09 o="Smart Embedded Systems"
A0A o="CAPSYS"
A0B o="ambiHome GmbH"
A0D o="Globalcom Engineering SPA"
@@ -21574,6 +22052,7 @@ FCFEC2 o="Invensys Controls UK Limited"
A17 o="Tunstall A/S"
A18 o="Embedded Systems Lukasz Panasiuk"
A19 o="Qualitronix Madrass Pvt Ltd"
+ A1A o="Nueon - The COR"
A1B o="Potter Electric Signal Co. LLC"
A1C o="MECA SYSTEM"
A1D o="Fluid Components International"
@@ -21581,6 +22060,7 @@ FCFEC2 o="Invensys Controls UK Limited"
A20 o="Design For Life Systems"
A21 o="PPI Inc."
A22 o="eSys Solutions Sweden AB"
+ A23 o="LG Electronics"
A24 o="Booz Allen Hamilton"
A25 o="PulseTor LLC"
A26 o="Hear Gear, Inc."
@@ -21606,6 +22086,7 @@ FCFEC2 o="Invensys Controls UK Limited"
A3B o="Grace Design/Lunatec LLC"
A3C o="Wave Music Ltd"
A3D o="SMART IN OVATION GmbH"
+ A3E o="Vigorcloud Co., Ltd."
A3F o="PHPower Srl"
A40 o="STRACK LIFT AUTOMATION GmbH"
A41 o="THELIGHT Luminary for Cine and TV S.L."
@@ -21657,8 +22138,9 @@ FCFEC2 o="Invensys Controls UK Limited"
A72 o="Business Marketers Group, Inc."
A73 o="MobiPromo"
A74 o="Sadel S.p.A."
- A75 o="Taejin InforTech"
+ A75 o="Taejin InfoTech"
A76 o="Pietro Fiorentini"
+ A77 o="SPX Radiodetection"
A78 o="Bionics co.,ltd."
A7A o="Fluid Management Technology"
A7B o="SmartSafe"
@@ -21678,6 +22160,7 @@ FCFEC2 o="Invensys Controls UK Limited"
A89 o="GBS COMMUNICATIONS, LLC"
A8A o="JSC VIST Group"
A8B o="Giant Power Technology Biomedical Corporation"
+ A8C o="CYG CONTRON CO.LTD"
A8D o="Code Blue Corporation"
A8E o="OMESH CITY GROUP"
A90 o="ERA a.s."
@@ -21706,6 +22189,7 @@ FCFEC2 o="Invensys Controls UK Limited"
AA8 o="West-Com Nurse Call Systems, Inc."
AA9 o="Datamars SA"
AAA o="Xemex NV"
+ AAB o="QUISS GmbH"
AAC o="SensoTec GmbH"
AAD o="Bartec GmbH"
AAE o="Nuviz Oy"
@@ -21741,9 +22225,12 @@ FCFEC2 o="Invensys Controls UK Limited"
ACF o="APG Cash Drawer, LLC"
AD1 o="Sensile Technologies SA"
AD2 o="Wart-Elektronik"
+ AD3 o="WARECUBE,INC"
+ AD4 o="INVISSYS"
AD5 o="Birdland Audio"
AD6 o="Lemonade Lab Inc"
AD8 o="Euklis by GSG International"
+ AD9 o="aelettronica group srl"
ADB o="RF Code"
ADC o="SODAQ"
ADD o="GHL Systems Berhad"
@@ -21753,9 +22240,11 @@ FCFEC2 o="Invensys Controls UK Limited"
AE1 o="DimoCore Corporation"
AE2 o="Wartsila Voyage Limited"
AE3 o="Zhejiang Wellsun Electric Meter Co.,Ltd"
+ AE4 o="Nuance Hearing Ltd."
AE5 o="BeatCraft, Inc."
AE6 o="Ya Batho Trading (Pty) Ltd"
AE7 o="E-T-A Elektrotechnische Apparate GmbH"
+ AE8 o="Innoknight"
AE9 o="Cari Electronic"
AEA o="BBR Verkehrstechnik GmbH"
AEB o="Association Romandix"
@@ -21779,6 +22268,7 @@ FCFEC2 o="Invensys Controls UK Limited"
AFF o="digital-spice"
B00 o="HORIBA ABX SAS"
B02 o="Nordic Automation Systems AS"
+ B03 o="Sprintshield d.o.o."
B04 o="Herrmann Datensysteme GmbH"
B05 o="E-PLUS TECHNOLOGY CO., LTD"
B06 o="MULTIVOICE LLC"
@@ -21787,10 +22277,10 @@ FCFEC2 o="Invensys Controls UK Limited"
B09 o="FIRST LIGHT IMAGING"
B0B o="INTERNET PROTOCOLO LOGICA SL"
B0C o="Vigilate srl"
+ B0E o="Servotronix Motion Control"
B0F o="merkur Funksysteme AG"
B10 o="Zumbach Electronic AG"
B11 o="CAB S.R.L."
- B12 o="SFR"
B13 o="Omwave"
B15 o="Eta Beta Srl"
B16 o="XI'AN SHENMING ELECTRON TECHNOLOGY CO.,LTD"
@@ -21804,6 +22294,7 @@ FCFEC2 o="Invensys Controls UK Limited"
B1F o="TECNOWATT"
B20 o="ICT BUSINESS GROUP of Humanrights Center for disabled people"
B21 o="TATTILE SRL"
+ B22 o="YUYAMA MFG Co.,Ltd"
B23 o="Supervision Test et Pilotage"
B24 o="Datasat Digital Entertainment"
B25 o="Hifocus Electronics India Private Limited"
@@ -21845,8 +22336,10 @@ FCFEC2 o="Invensys Controls UK Limited"
B51 o="Critical Link LLC"
B52 o="AEye, Inc."
B53 o="Revolution Retail Systems, LLC"
+ B54 o="Packet Power"
B55 o="CTAG - ESG36871424"
B56 o="Power Electronics Espana, S.L."
+ B57 o="Shanghai Qinyue Communication Technology Co., Ltd."
B58 o="INTERNET PROTOCOLO LOGICA SL"
B59 o="FutureTechnologyLaboratories INC."
B5A o="GTI Technologies Inc"
@@ -21857,15 +22350,18 @@ FCFEC2 o="Invensys Controls UK Limited"
B5F o="CRDMDEVEOPPEMENTS"
B60 o="ZAO ZEO"
B62 o="Sakura Seiki Co.,Ltd."
+ B63 o="Ideas srl"
B64 o="OSUNG LST CO.,LTD."
B65 o="Rotem Industry LTD"
B66 o="Silent Gliss International Ltd"
B67 o="RedWave Labs Ltd"
+ B68 o="S-Rain Control A/S"
B6A o="YUYAMA MFG Co.,Ltd"
B6B o="Cambria Corporation"
B6C o="GHM-Messtechnik GmbH (Standort IMTRON)"
B6D o="Movis"
B6E o="Edgeware AB"
+ B6F o="Integra Metering SAS"
B72 o="UB330.net d.o.o."
B73 o="Cetto Industries"
B74 o="OnYield Inc Ltd"
@@ -21874,6 +22370,7 @@ FCFEC2 o="Invensys Controls UK Limited"
B77 o="Motec Pty Ltd"
B78 o="HOERMANN GmbH"
B7A o="MAHLE"
+ B7B o="Doosan Digital Innovation America"
B7C o="Electronic Navigation Ltd"
B7D o="LOGIX ITS Inc"
B7E o="Elbit Systems of America"
@@ -21883,6 +22380,7 @@ FCFEC2 o="Invensys Controls UK Limited"
B82 o="Lookout Portable Security"
B84 o="OOO Research and Production Center %Computer Technologies%"
B85 o="Fenotech Inc."
+ B86 o="Hilo"
B87 o="CAITRON GmbH"
B88 o="ARP Corporation"
B89 o="IDA"
@@ -21892,9 +22390,11 @@ FCFEC2 o="Invensys Controls UK Limited"
B8D o="JungwooEng Co., Ltd"
B8E o="UR FOG S.R.L."
B8F o="Assembly Contracts Ltd"
+ B90 o="Amico Corporation"
B91 o="Dynetics, Inc."
B93 o="INTERNET PROTOCOLO LOGICA SL"
B94 o="Cygnetic Technologies (Pty) Ltd"
+ B96 o="Oculii"
B97 o="Canam Technology, Inc."
B98 o="GSF Corporation Pte Ltd"
B99 o="DomoSafety S.A."
@@ -21941,6 +22441,7 @@ FCFEC2 o="Invensys Controls UK Limited"
BC4 o="Digital Media Professionals"
BC5 o="U&R GmbH Hardware- und Systemdesign"
BC6 o="Hatteland Display AS"
+ BC7 o="Autonomic Controls, Inc."
BC9 o="Yite technology"
BCA o="Deymed Diagnostic"
BCB o="Smart Vision Lights"
@@ -21959,9 +22460,11 @@ FCFEC2 o="Invensys Controls UK Limited"
BD9 o="SolwayTech"
BDA o="5-D Systems, Inc."
BDD o="CDR SRL"
+ BDE o="CAST Group of Companies Inc."
BDF o="H2O-YUG LLC"
BE0 o="Cognosos, Inc."
BE1 o="FeCon GmbH"
+ BE2 o="Nocix, LLC"
BE3 o="Saratov Electrounit Production Plant named after Sergo Ordzhonikidze, OJSC"
BE4 o="Kunshan excellent Intelligent Technology Co., Ltd."
BE5 o="Pantec Engineering AG"
@@ -21989,6 +22492,7 @@ FCFEC2 o="Invensys Controls UK Limited"
BFF o="Sunsa, Inc"
C00 o="BESO sp. z o.o."
C01 o="SmartGuard LLC"
+ C02 o="Garmo Instruments S.L."
C03 o="XAVi Technologies Corp."
C04 o="Prolan Zrt."
C05 o="KST technology"
@@ -21999,6 +22503,7 @@ FCFEC2 o="Invensys Controls UK Limited"
C0A o="Infosocket Co., Ltd."
C0B o="FSTUDIO CO LTD"
C0C o="Tech4Race"
+ C0D o="Clarity Medical Pvt Ltd"
C0E o="SYSDEV Srl"
C0F o="Honeywell Safety Products USA, Inc"
C10 o="Scanvaegt Systems A/S"
@@ -22008,14 +22513,17 @@ FCFEC2 o="Invensys Controls UK Limited"
C15 o="Sensobox GmbH"
C16 o="Southern Innovation"
C17 o="Potter Electric Signal Co. LLC"
+ C18 o="Sanmina Israel"
C1A o="Xylon"
C1B o="Labinvent JSC"
C1C o="D.E.M. SPA"
C1D o="Kranze Technology Solutions"
+ C1E o="Kron Medidores"
C1F o="Behr Technologies Inc"
C20 o="Mipot S.p.a."
C21 o="Aplex Technology Inc."
C22 o="Skyriver Communications Inc."
+ C23 o="Sumitomo Heavy Industries, Ltd."
C24 o="Elbit Systems of America"
C25 o="speedsignal GmbH"
C26 o="Triple Play Communications"
@@ -22032,6 +22540,7 @@ FCFEC2 o="Invensys Controls UK Limited"
C33 o="Dandong Dongfang Measurement & Control Technology Co., Ltd."
C34 o="Technical Panels Co. Ltd."
C35 o="Vibrationmaster"
+ C36 o="Knowledge Resources GmbH"
C37 o="Keycom Corp."
C38 o="CRESPRIT INC."
C39 o="MeshWorks Wireless Oy"
@@ -22047,6 +22556,7 @@ FCFEC2 o="Invensys Controls UK Limited"
C43 o="Future Skies"
C44 o="Franz Kessler GmbH"
C45 o="Stiebel Eltron GmbH"
+ C48 o="Weltek Technologies Co. Ltd."
C49 o="BTG Instruments AB"
C4A o="TIAMA"
C4B o="ANKER-EAST"
@@ -22067,6 +22577,7 @@ FCFEC2 o="Invensys Controls UK Limited"
C5B o="ACD Elektronik GmbH"
C5C o="Layer Logic Inc"
C5D o="FOSHAN SHILANTIAN NETWORK S.T. CO., LTD."
+ C5E o="Frog Cellsat Limited"
C5F o="Clean-Lasersysteme GmbH"
C60 o="Gogo BA"
C61 o="JC HUNTER TECHNOLOGIES"
@@ -22083,14 +22594,17 @@ FCFEC2 o="Invensys Controls UK Limited"
C6E o="Orion Technologies, LLC"
C6F o="nyantec GmbH"
C70 o="Magnetek"
+ C72 o="Scharco Elektronik GmbH"
C73 o="C.D.N.CORPORATION"
C74 o="Qtechnology A/S"
+ C75 o="BIT Group USA, Inc."
C76 o="ELA INNOVATION"
C77 o="Yönnet Akıllı Bina ve Otomasyon Sistemleri"
C78 o="NETA Elektronik AS"
C79 o="MB connect line GmbH Fernwartungssysteme"
C7A o="ENTEC Electric & Electronic Co., LTD."
C7B o="EM Clarity Pty Ltd"
+ C7C o="Beijing Aumiwalker technology CO.,LTD"
C7D o="Metatronics B.V."
C7E o="BirdDog Australia"
C7F o="TATTILE SRL"
@@ -22110,6 +22624,7 @@ FCFEC2 o="Invensys Controls UK Limited"
C8D o="KST technology"
C8E o="Coral Telecom Limited"
C8F o="TRIDENT INFOSOL PVT LTD"
+ C90 o="Diretta"
C91 o="Grossenbacher Systeme AG"
C92 o="Unitro Fleischmann"
C93 o="GMI Ltd"
@@ -22118,6 +22633,7 @@ FCFEC2 o="Invensys Controls UK Limited"
C96 o="UNI DIMENXI SDN BHD"
C97 o="CSINFOTEL"
C98 o="Trust Automation"
+ C99 o="Remote Diagnostic Technologies Ltd"
C9A o="Todd Digital Limited"
C9B o="Tieto Sweden AB"
C9C o="Connected Response"
@@ -22147,6 +22663,7 @@ FCFEC2 o="Invensys Controls UK Limited"
CB8 o="Verti Tecnologia"
CB9 o="JSC «SATIS-TL-94»"
CBA o="YUYAMA MFG Co.,Ltd"
+ CBB o="Postmark Incorporated"
CBC o="Procon Electronics Pty Ltd"
CBD o="Preo Industries Far East Limited"
CBE o="Ensura Solutions BV"
@@ -22206,17 +22723,22 @@ FCFEC2 o="Invensys Controls UK Limited"
D01 o="Vision4ce Ltd"
D02 o="Arctos Showlasertechnik GmbH"
D05 o="Colmek"
+ D06 o="YUYAMA MFG Co.,Ltd"
D07 o="Waversa Systems"
D08 o="Veeco Instruments"
D09 o="Rishaad Brown"
D0C o="Connor Winfield LTD"
D0D o="Logiwaste AB"
D0E o="Beijing Aumiwalker technology CO.,LTD"
+ D0F o="Alto Aviation"
D10 o="Contec Americas Inc."
D11 o="EREE Electronique"
D12 o="FIDELTRONIK POLAND SP. Z O.O."
+ D14 o="LIGPT"
D15 o="3DGence sp. z o.o."
D16 o="Monnit Corporation"
+ D18 o="MetCom Solutions GmbH"
+ D19 o="Senior Group LLC"
D1A o="Monnit Corporation"
D1B o="Grupo Epelsa S.L."
D1C o="Specialised Imaging Limited"
@@ -22241,6 +22763,7 @@ FCFEC2 o="Invensys Controls UK Limited"
D32 o="Euklis by GSG International"
D33 o="VECTOR.CO.,LTD."
D34 o="G-PHILOS CO.,LTD"
+ D35 o="King-On Technology Ltd."
D36 o="Insitu Inc."
D37 o="Sicon srl"
D38 o="Vista Research, Inc."
@@ -22267,6 +22790,7 @@ FCFEC2 o="Invensys Controls UK Limited"
D4F o="C-COM Satellite Systems Inc."
D50 o="GRIDSMART Technologies"
D51 o="Azcom Technology S.r.l."
+ D53 o="BeiLi eTek (Zhangjiagang) Co., Ltd."
D54 o="JL World Corporation Limited"
D55 o="WM Design s.r.o"
D56 o="KRONOTECH SRL"
@@ -22285,6 +22809,7 @@ FCFEC2 o="Invensys Controls UK Limited"
D65 o="CRDE"
D66 o="Ascendent Technology Group"
D67 o="ALPHA Corporation"
+ D68 o="Tobi Tribe Inc"
D69 o="Thermo Fisher Scientific"
D6A o="KnowRoaming"
D6B o="Uwinloc"
@@ -22298,10 +22823,12 @@ FCFEC2 o="Invensys Controls UK Limited"
D74 o="Sandia National Laboratories"
D75 o="Hyundai MNSOFT"
D76 o="attocube systems AG"
+ D77 o="Portrait Displays, Inc."
D79 o="GOMA ELETTRONICA SpA"
D7A o="Speedifi Inc"
D7B o="Peter Huber Kaeltemaschinenbau AG"
D7C o="D.T.S Illuminazione Srl"
+ D7D o="BESO sp. z o.o."
D7E o="Triax A/S"
D7F o="ConectaIP Tecnologia S.L."
D80 o="AMMT GmbH"
@@ -22309,6 +22836,7 @@ FCFEC2 o="Invensys Controls UK Limited"
D84 o="Sentry360"
D86 o="WPGSYS Pte Ltd"
D87 o="Zigen Corp"
+ D88 o="Nidec asi spa"
D89 o="Resolution Systems"
D8A o="JIANGSU HORAINTEL CO.,LTD"
D8B o="Lenoxi Automation s.r.o."
@@ -22322,19 +22850,23 @@ FCFEC2 o="Invensys Controls UK Limited"
D93 o="PAMIR Inc"
D94 o="Dewetron GmbH"
D95 o="SANO SERVICE Co.,Ltd"
- D97 o="BRS Sistemas Eletronicos"
+ D96 o="Thermo Fisher Scientific Inc."
+ D97 o="BRS Sistemas Eletrônicos"
D98 o="ACD Elekronik GmbH"
+ D99 o="Nilar AB"
D9A o="Wuhan Xingtuxinke ELectronic Co.,Ltd"
D9B o="Russian Telecom Equipment Company"
D9C o="Subinitial LLC"
D9D o="Electroimpact, Inc."
D9E o="Grupo Epelsa S.L."
+ D9F o="%Digital Solutions% JSC"
DA1 o="Qprel srl"
DA2 o="ACD Elekronik GmbH"
DA3 o="Voleatech GmbH"
DA4 o="CRDE"
DA5 o="Roboteq"
DA6 o="Redfish Group Pty Ltd"
+ DA7 o="Network Innovations"
DA8 o="Tagarno AS"
DA9 o="RCH Vietnam Limited Liability Company"
DAA o="AmTote Australasia"
@@ -22346,11 +22878,14 @@ FCFEC2 o="Invensys Controls UK Limited"
DB0 o="Arnouse Digital Devices Corp"
DB1 o="Biovigil Hygiene Technologies"
DB2 o="Micro Electroninc Products"
+ DB3 o="Klaxoon"
DB4 o="YUYAMA MFG Co.,Ltd"
DB5 o="Xiamen Point Circle Technologh Co,ltd"
DB6 o="csintech"
DB7 o="Pengo Technology Co., Ltd"
DB8 o="SISTEM SA"
+ DBA o="KODENSHI CORP."
+ DBB o="Fuhr GmbH Filtertechnik"
DBC o="Gamber Johnson-LLC"
DBD o="TRANSLITE GLOBAL LLC"
DBE o="Hiber"
@@ -22359,8 +22894,10 @@ FCFEC2 o="Invensys Controls UK Limited"
DC1 o="Metralight, Inc."
DC2 o="SwineTech, Inc."
DC3 o="Fath Mechatronics"
+ DC4 o="Peter Huber Kaeltemaschinenbau AG"
DC5 o="Excel Medical Electronics LLC"
DC6 o="IDEM INC."
+ DC7 o="NUBURU Inc."
DC8 o="Enertex Bayern GmbH"
DC9 o="Sensoterra BV"
DCA o="DSan Corporation"
@@ -22380,8 +22917,10 @@ FCFEC2 o="Invensys Controls UK Limited"
DDB o="Intra Corporation"
DDC o="Syscom Instruments SA"
DDD o="BIO RAD LABORATORIES"
+ DDE o="Abbott Diagnostics Technologies AS"
DDF o="AeroVision Avionics, Inc."
DE0 o="eCozy GmbH"
+ DE1 o="Duplomatic MS spa"
DE2 o="ACD Elekronik GmbH"
DE3 o="ETL Elektrotechnik Lauter GmbH"
DE4 o="MAVILI ELEKTRONIK TIC. VE SAN. A.S."
@@ -22410,6 +22949,7 @@ FCFEC2 o="Invensys Controls UK Limited"
DFE o="microtec Sicherheitstechnik GmbH"
DFF o="Spanawave Corporation"
E00 o="Jeaway CCTV Security Ltd,."
+ E01 o="EarTex"
E02 o="YEHL & JORDAN LLC"
E04 o="Combilent"
E06 o="System West dba ICS Electronics"
@@ -22422,6 +22962,7 @@ FCFEC2 o="Invensys Controls UK Limited"
E0D o="Sigma Connectivity AB"
E0F o="Vtron Pty Ltd"
E10 o="Leidos"
+ E11 o="Engage Technologies"
E12 o="SNK, Inc."
E14 o="Automata Spa"
E15 o="Benetel"
@@ -22430,12 +22971,14 @@ FCFEC2 o="Invensys Controls UK Limited"
E18 o="Plasmapp Co.,Ltd."
E1A o="BIZERBA LUCEO"
E1B o="Neuron GmbH"
- E1C o="Xcenter AS"
+ E1C o="RoomMate AS"
E1E o="Umano Medical Inc."
E1F o="THETA432"
E20 o="Signature Control Systems, LLC."
E21 o="LLVISION TECHNOLOGY CO.,LTD"
+ E22 o="Federated Wireless, Inc."
E23 o="Smith Meter, Inc."
+ E24 o="Gogo Business Aviation"
E25 o="GJD Manufacturing"
E26 o="FEITIAN CO.,LTD."
E27 o="Woodside Electronics"
@@ -22445,12 +22988,15 @@ FCFEC2 o="Invensys Controls UK Limited"
E2B o="Guan Show Technologe Co., Ltd."
E2C o="Fourth Frontier Technologies Private Limited"
E2E o="Merz s.r.o."
+ E2F o="Flextronics International Kft."
E30 o="QUISS AG"
+ E31 o="NEUROPHET, Inc."
E32 o="HERUTU ELECTRONICS CORPORATION"
E33 o="DEUTA-WERKE GmbH"
E34 o="Gamber Johnson-LLC"
E35 o="Nanospeed Technologies Limited"
E36 o="Guidance Navigation Limited"
+ E37 o="Eurotempest AB"
E38 o="Cursor Systems NV"
E39 o="Thinnect, Inc,"
E3A o="Cyanview"
@@ -22462,6 +23008,7 @@ FCFEC2 o="Invensys Controls UK Limited"
E40 o="Siemens Mobility GmbH - MO TI SPA"
E43 o="SL Audio A/S"
E45 o="Momentum Data Systems"
+ E46 o="7thSense Design Limited"
E47 o="DEUTA-WERKE GmbH"
E48 o="TDI. Co., LTD"
E49 o="Kendrion Mechatronics Center GmbH"
@@ -22472,6 +23019,7 @@ FCFEC2 o="Invensys Controls UK Limited"
E4E o="Midfin Systems"
E4F o="RWS Automation GmbH"
E50 o="Advanced Vision Technology Ltd"
+ E51 o="NooliTIC"
E52 o="Guangzhou Moblin Technology Co., Ltd."
E53 o="MI INC."
E54 o="Beijing PanGu Company"
@@ -22480,12 +23028,14 @@ FCFEC2 o="Invensys Controls UK Limited"
E57 o="Iradimed"
E58 o="Thurlby Thandar Instruments LTD"
E59 o="Fracarro srl"
+ E5A o="Cardinal Scales Manufacturing Co"
E5B o="Argosy Labs Inc."
E5C o="Walton Hi-Tech Industries Ltd."
E5D o="Boffins Technologies AB"
E5E o="Critical Link LLC"
E61 o="Adeli"
E63 o="Potomac Electric Corporation"
+ E64 o="HONG JIANG ELECTRONICS CO., LTD."
E67 o="APPLIED PROCESSING"
E69 o="Fire4 Systems UK Ltd"
E6A o="MAC Solutions (UK) Ltd"
@@ -22496,6 +23046,7 @@ FCFEC2 o="Invensys Controls UK Limited"
E70 o="DISK Multimedia s.r.o."
E71 o="SiS Technology"
E72 o="KDT Corp."
+ E73 o="Zeus Control Systems Ltd"
E74 o="Exfrontier Co., Ltd."
E75 o="Nke"
E76 o="Dorsett Technologies, Inc."
@@ -22507,9 +23058,11 @@ FCFEC2 o="Invensys Controls UK Limited"
E7C o="Aplex Technology Inc."
E7D o="Nanjing Dandick Science&technology development co., LTD"
E7E o="Groupe Citypassenger Inc"
+ E7F o="Sankyo Intec Co,ltd"
E80 o="Changzhou Rapid Information Technology Co,Ltd"
E81 o="SLAT"
E82 o="RF Track"
+ E83 o="Talleres de Escoriaza SA"
E84 o="ENTEC Electric & Electronic Co., LTD."
E85 o="Explorer Inc."
E86 o="YUYAMA MFG Co.,Ltd"
@@ -22541,6 +23094,7 @@ FCFEC2 o="Invensys Controls UK Limited"
EA2 o="Transportal Solutions Ltd"
EA3 o="Gridless Power Corperation"
EA4 o="Grupo Epelsa S.L."
+ EA5 o="LOTES TM OOO"
EA6 o="Galios"
EA7 o="S.I.C.E.S. srl"
EA8 o="Dia-Stron Limited"
@@ -22549,12 +23103,14 @@ FCFEC2 o="Invensys Controls UK Limited"
EAC o="Kentech Instruments Limited"
EAD o="Cobo, Inc."
EAE o="Orlaco Products B.V."
+ EAF o="Sicon srl"
EB0 o="Nautel Limted"
EB1 o="CP contech electronic GmbH"
EB2 o="Shooter Detection Systems"
EB3 o="KWS-Electronic GmbH"
EB4 o="Robotic Research, LLC"
EB5 o="JUSTEK INC"
+ EB6 o="EnergizeEV"
EB7 o="Skreens"
EB8 o="Emporia Renewable Energy Corp"
EB9 o="Thiel Audio Products Company, LLC"
@@ -22579,9 +23135,12 @@ FCFEC2 o="Invensys Controls UK Limited"
ECF o="Ipitek"
ED0 o="shanghai qiaoqi zhinengkeji"
ED1 o="Przemyslowy Instytut Automatyki i Pomiarow"
+ ED2 o="PCTEL"
+ ED3 o="Beijing Lihong Create Co., Ltd."
ED5 o="hangzhou battle link technology Co.,Ltd"
ED7 o="WAVE"
ED8 o="Wartsila Voyage Limited"
+ EDA o="Breas Medical AB"
EDB o="Netfort Solutions"
EDC o="J.D. Koftinoff Software, Ltd."
EDD o="Solar Network & Partners"
@@ -22592,6 +23151,7 @@ FCFEC2 o="Invensys Controls UK Limited"
EE3 o="Lithe Technology, LLC"
EE4 o="O-Net Automation Technology (Shenzhen)Limited"
EE5 o="Beijing Hzhytech Technology Co.Ltd"
+ EE6 o="Vaunix Technology Corporation"
EE7 o="BLUE-SOLUTIONS CANADA INC."
EE8 o="robert juliat"
EE9 o="SC3 Automation"
@@ -22618,22 +23178,26 @@ FCFEC2 o="Invensys Controls UK Limited"
EFF o="Carlo Gavazzi Industri"
F00 o="Aplex Technology Inc."
F01 o="Software Systems Plus"
+ F02 o="ABECO Industrie Computer GmbH"
F03 o="GMI Ltd"
F04 o="Scame Sistemi srl"
F05 o="Motomuto Aps"
F06 o="WARECUBE,INC"
F07 o="DUVAL MESSIEN"
F08 o="Szabo Software & Engineering UK Ltd"
+ F09 o="Mictrotrac Retsch GmbH"
F0A o="Neuronal Innovation Control S.L."
F0B o="RF Industries"
F0C o="ModulaTeam GmbH"
F0D o="MeQ Inc."
+ F0E o="TextSpeak Corporation"
F0F o="Kyoto Denkiki"
F10 o="Riegl Laser Measurement Systems GmbH"
F11 o="BroadSoft Inc"
F12 o="Incoil Induktion AB"
F13 o="MEDIAM Sp. z o.o."
F14 o="SANYU SWITCH CO., LTD."
+ F15 o="ARECA EMBEDDED SYSTEMS PVT LTD"
F16 o="BRS Sistemas Eletrônicos"
F17 o="VITEC"
F18 o="HD Vision Systems GmbH"
@@ -22649,6 +23213,7 @@ FCFEC2 o="Invensys Controls UK Limited"
F24 o="Daavlin"
F25 o="JSC “Scientific Industrial Enterprise %Rubin%"
F27 o="NIRIT- Xinwei Telecom Technology Co., Ltd."
+ F28 o="Yi An Electronics Co., Ltd"
F29 o="SamabaNova Systems"
F2A o="WIBOND Informationssysteme GmbH"
F2B o="SENSYS GmbH"
@@ -22657,6 +23222,8 @@ FCFEC2 o="Invensys Controls UK Limited"
F2E o="Shanghai JCY Technology Company"
F2F o="TELEPLATFORMS"
F30 o="ADE Technology Inc."
+ F32 o="Elektronik Art"
+ F33 o="Beijing Vizum Technology Co.,Ltd."
F34 o="MacGray Services"
F35 o="carbonTRACK"
F36 o="dinosys"
@@ -22666,17 +23233,22 @@ FCFEC2 o="Invensys Controls UK Limited"
F3A o="OOO Research and Production Center %Computer Technologies%"
F3B o="Epdm Pty Ltd"
F3C o="Gigaray"
+ F3D o="KAYA Instruments"
F3E o="ООО %РОНЕКС%"
F3F o="comtac AG"
+ F41 o="DUEVI SRL"
F42 o="Matsuhisa Corporation"
F43 o="Divelbiss Corporation"
F44 o="Magneti Marelli S.p.A. Electronics"
F45 o="Norbit ODM AS"
+ F46 o="Season Electronics Ltd"
F47 o="TXMission Ltd."
F48 o="HEITEC AG"
+ F4A o="LACS SRL"
F4B o="Chengdu Lingya Technology Co., Ltd."
F4C o="PolyTech A/S"
F4D o="Honeywell"
+ F4E o="Hunan Lianzhong Technology Co.,Ltd."
F4F o="Power Electronics Espana, S.L."
F50 o="Vectology,Inc"
F51 o="IoT Routers Limited"
@@ -22687,20 +23259,25 @@ FCFEC2 o="Invensys Controls UK Limited"
F56 o="VirtualHere Pty. Ltd."
F57 o="Aplex Technology Inc."
F58 o="CDR SRL"
+ F59 o="KOREA SPECTRAL PRODUCTS"
F5A o="HAMEG GmbH"
F5B o="A.F.MENSAH, INC"
F5C o="Nable Communications, Inc."
F5D o="Potter Electric Signal Co. LLC"
F5E o="Selex ES Inc."
F5F o="RFRain LLC"
+ F60 o="MPM Micro Präzision Marx GmbH"
F61 o="Power Diagnostic Service"
F62 o="FRS GmbH & Co. KG"
F63 o="Ars Products"
F64 o="silicom"
F65 o="MARKUS LABS"
+ F66 o="Seznam.cz, a.s., CZ26168685"
F67 o="winsun AG"
F68 o="AL ZAJEL MODERN TELECOMM"
F69 o="Copper Labs, Inc."
+ F6A o="Guan Show Technologe Co., Ltd."
+ F6B o="DEUTA-WERKE GmbH"
F6C o="VisioGreen"
F6D o="Qowisio"
F6E o="Streambox Inc"
@@ -22716,7 +23293,9 @@ FCFEC2 o="Invensys Controls UK Limited"
F79 o="Firehose Labs, Inc."
F7A o="SENSO2ME"
F7B o="KST technology"
+ F7D o="2M Technology"
F7E o="Alpha Elettronica s.r.l."
+ F7F o="ABL Space Systems"
F80 o="Guan Show Technologe Co., Ltd."
F81 o="Littlemore Scientific"
F82 o="Preston Industries dba PolyScience"
@@ -22780,8 +23359,11 @@ FCFEC2 o="Invensys Controls UK Limited"
FC0 o="CODESYSTEM Co.,Ltd"
FC1 o="InDiCor"
FC2 o="HUNTER LIBERTY CORPORATION"
+ FC3 o="myUpTech AB"
+ FC4 o="AERIAL CAMERA SYSTEMS Ltd"
FC5 o="Eltwin A/S"
FC6 o="Tecnint HTE SRL"
+ FC7 o="Invert Robotics Ltd."
FC8 o="Moduware PTY LTD"
FC9 o="Shanghai EICT Global Service Co., Ltd"
FCA o="M2M Cybernetics Pvt Ltd"
@@ -22799,6 +23381,7 @@ FCFEC2 o="Invensys Controls UK Limited"
FD6 o="Visual Fan"
FD7 o="Centum Adetel Group"
FD8 o="MB connect line GmbH Fernwartungssysteme"
+ FD9 o="eSight"
FDA o="ACD Elektronik GmbH"
FDB o="Design SHIFT"
FDC o="Tapdn"
@@ -22808,6 +23391,7 @@ FCFEC2 o="Invensys Controls UK Limited"
FE2 o="Galileo Tıp Teknolojileri San. ve Tic. A.S."
FE3 o="CSM MACHINERY srl"
FE4 o="CARE PVT LTD"
+ FE5 o="Malin Space Science System"
FE6 o="SHIZUKI ELECTRIC CO.,INC"
FE7 o="VEILUX INC."
FE8 o="PCME Ltd."
@@ -23361,6 +23945,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="Shanxi Baixin Information Technology Co., Ltd."
D o="Hanzhuo Information Technology(Shanghai) Ltd."
E o="SynchronicIT BV"
+94FBA7
+ 0 o="Reichert Inc."
+ 1 o="Inaxsys Security Systems inc."
+ 2 o="Beijing Leja Tech co., Ltd."
+ 3 o="GUANG DONG TAKSTAR ELECTRONIC CO.,LTD."
+ 4 o="UOI TECHNOLOGY CORPORATION"
+ 5 o="CAVITY EYE"
+ 6 o="Sercomm Corporation."
+ 7 o="Anvil Systems Group, Inc."
+ 8 o="Silver-I Co.,LTD."
+ 9 o="Shanghai Hyco Genyong Technology Co., Ltd."
+ A o="ELKRON"
+ B o="Shenzhen Golden Star Technology Ltd"
+ C o="Solaborate Inc."
+ D o="Rosenberger Technologies Co.,Ltd."
+ E o="Skyring Smart Technologies(Shenzhen) Co., Ltd."
9802D8
0 o="Stoerk-Tronic, Stoerk GmbH & Co.KG"
1 o="SHENZHEN ATEKO PHOTOELECTRICITY CO LTD"
@@ -23439,6 +24039,22 @@ FCFEC2 o="Invensys Controls UK Limited"
C o="ShenZhen Chuangwei Electronic Appliance Co.,Ltd"
D o="hangzhou soar security technologies limited liability company"
E o="NC-LINK Technology Co., Ltd."
+98FC84
+ 0 o="Leia, Inc"
+ 1 o="go-e GmbH"
+ 2 o="Juketek Co., Ltd."
+ 3 o="Shanghai ZeXin Information Technologies Co. Ltd."
+ 4 o="Sferrum GmbH"
+ 5 o="Zymbit"
+ 6 o="ZERONE CO., LTD."
+ 7 o="Broadtech Technologies Co., Ltd."
+ 8 o="Guangdong DE at science and technology co., LTD"
+ 9 o="Fath Mechatronics"
+ A o="Shield Inc."
+ B o="chiconypower"
+ C o="Shenzhen Incar Technology Co., Ltd."
+ D o="Jazwares LLC"
+ E o="Dongguan Kingtron Electronics Tech Co., Ltd"
9C431E
0 o="Antailiye Technology Co.,Ltd"
1 o="Symfun Telecom Ltd"
@@ -23454,7 +24070,7 @@ FCFEC2 o="Invensys Controls UK Limited"
B o="JNL Technologies Inc"
C o="SuZhou Jinruiyang Information Technology CO.,LTD"
D o="HK ELEPHONE Communication Tech Co.,Limited"
- E o="Midas Technology DBA Phoenix Audio Technologies"
+ E o="Phoenix Audio Technologies"
9C69B4
0 o="Suzhou Fitcan Technology Co.,LTD"
1 o="EA Technology Ltd"
@@ -23658,7 +24274,7 @@ A4DA22
7 o="Hydro Electronic Devices, Inc."
8 o="SolidPro Technology Corporation"
9 o="Malldon Technology Limited"
- A o="Abetechs GmbH"
+ A o="Grundig"
B o="Klashwerks Inc."
C o="EHO.LINK"
D o="Shen Zhen City YaKun Electronics Co., Ltd"
@@ -23707,7 +24323,7 @@ AC1DDF
8 o="Sichuan Odot Automation System Co.,Ltd."
9 o="Solare Datensysteme GmbH"
A o="WESCO INTEGRATED SUPPLY"
- B o="Fine Inc."
+ B o="FINEpowerX INC"
C o="Beijing Chunhong Technology Co., Ltd."
D o="Elekon AG"
E o="Duravit AG"
@@ -23901,6 +24517,22 @@ BC9740
C o="LISTEC GmbH"
D o="Rollock Oy"
E o="B4ComTechnologies LLC"
+C0619A
+ 0 o="Paragon Robotics LLC"
+ 1 o="KidKraft"
+ 2 o="Grup Arge Enerji ve Kontrol Sistemleri"
+ 3 o="LYAND ACOUSTIC TECHNOLOGY CO.,LTD."
+ 4 o="Stello"
+ 5 o="Nanjing Balance Network Technology Co., Ltd"
+ 6 o="IPG Automotive GmbH"
+ 7 o="MAD PIECE LLC."
+ 8 o="Nanjing SinoVatio Technology Co., Ltd"
+ 9 o="Wingtech Mobile Communications Co.,Ltd."
+ A o="Gronn Kontakt AS"
+ B o="Victron Energy B.V."
+ C o="JAM-Labs Corp"
+ D o="Uhnder"
+ E o="Zhejiang Haikang Science And Technology Co.,Ltd"
C08359
0 o="CHONGQING JIUYU SMART TECHNOLOGY CO.LTD."
1 o="Gemvax Technology ,. Co.Ltd"
@@ -23916,6 +24548,22 @@ C08359
B o="Suzhou Siheng Science and Technology Ltd."
D o="Gardner Denver Thomas GmbH"
E o="Cyber Sciences, Inc."
+C09BF4
+ 0 o="Annapurna labs"
+ 1 o="Connected Space Management"
+ 2 o="Hitachi High-Tech Materials Corporation"
+ 3 o="Osprey Video, Inc"
+ 4 o="JSC NPK ATRONIK"
+ 5 o="Infiot Inc."
+ 6 o="LTD Delovoy Office"
+ 7 o="Big Dutchman International GmbH"
+ 8 o="SHENZHEN WINS ELECTRONIC TECHNOLOGY CO., LTD"
+ 9 o="Alcatraz AI Inc."
+ A o="Inveo"
+ B o="NUCTECH COMPANY LIMITED"
+ C o="Pinpark Inc."
+ D o="The Professional Monitor Company Ltd"
+ E o="Continental Automotive Component Malaysia Sdn.Bhd."
C0D391
0 o="Fuzhou Jinshi Technology Co.,Ltd."
1 o="B9Creations"
@@ -23998,7 +24646,7 @@ C82C2B
C86314
0 o="Western Reserve Controls, Inc."
1 o="Autonics Co., Ltd."
- 2 o="Tymphany Acoustic Technology (Huizhou) Co., Ltd."
+ 2 o="Tymphany Acoustic Technology (Huizhou) Co., Ltd."
3 o="TrackMan"
4 o="Shenzhen Zero Zero Infinity Technology Co.,Ltd."
5 o="Meyer Electronics Limited"
@@ -24059,6 +24707,29 @@ CC2237
C o="Hebei ZHSF Technology Co.,Ltd."
D o="SHENZHEN HOOENERGY TECHNOLOGY CO.,LTD"
E o="MANUFACTURAS Y TRANSFORMADOS AB, S.L."
+CC4F5C
+ 2 o="MatchX GmbH"
+ 5 o="Kymati GmbH"
+ 7 o="Smiths US Innovation LLC"
+ 8 o="Feelmore Labs"
+ A o="AZ-TECHNOLOGY SDN BHD"
+ B o="Ontex BV"
+ C o="Beijing Cotytech Technology Co.,LTD."
+CCC261
+ 0 o="Ebiologic Technology Co., Ltd."
+ 1 o="NWL Inc."
+ 2 o="Tecnoideal Srl"
+ 3 o="NETRADYNE, INC."
+ 4 o="EDAG Engineering GmbH"
+ 5 o="Viper Design, LLC"
+ 6 o="Guardiar USA"
+ 7 o="Ability Enterprise Co., Ltd"
+ 9 o="BYTERG LLC"
+ A o="Shenzhen Uyesee Technology Co.,Ltd"
+ B o="Winterthur Gas & Diesel Ltd."
+ C o="Nortek Security & Control"
+ D o="Dspread Technology (Beijing) Inc."
+ E o="Toong In Electronic Corp."
CCD31E
0 o="SAMIM Co"
1 o="Rondo Burgdorf AG"
@@ -24091,6 +24762,20 @@ CCD39D
C o="Hangzhou Scooper Technology Co.,Ltd."
D o="Ethernity Networks"
E o="Shanghai tongli information technology co. LTD"
+D01411
+ 0 o="EkkoSense Ltd"
+ 2 o="Evoco Labs CO., LTD"
+ 3 o="iLOQ Oy"
+ 4 o="powerall"
+ 6 o="Ahnnet"
+ 7 o="Realwave Inc."
+ 8 o="Video Security, Inc."
+ 9 o="Airthings"
+ A o="ABB EVI SPA"
+ B o="CYLTek Limited"
+ C o="Shen Zhen HaiHe Hi-Tech Co., Ltd"
+ D o="Guangdong Shiqi Manufacture Co., Ltd."
+ E o="Tecnosoft srl"
D02212
0 o="Spirit IT B.V."
1 o="AIM"
@@ -24161,6 +24846,7 @@ D0D94F
4 o="peiker CEE"
5 o="Optigo Networks"
6 o="Hyundai Autohow"
+ 7 o="Mitsubishi Electric US, Inc."
8 o="Apption Labs Limited"
9 o="Hangzhou xiaoben technology co.,Ltd"
A o="Shenzhen FDC Electuonic Co.,Ltd."
@@ -24218,7 +24904,7 @@ D8860B
E o="Shenzhen Yidong Technology Co.,Ltd"
DC4427
0 o="Suritel"
- 1 o="Tesla Motors, Inc"
+ 1 o="Tesla,Inc."
2 o="Skywave Technology Co,.Ltd."
3 o="General Microsystems Sdn Bhd"
4 o="Nex Technologies PTY LTD"
@@ -24342,6 +25028,22 @@ E81863
C o="Shenzhen Hipad Telecommunication Technology Co.,Ltd"
D o="DIGITAL DYNAMICS, INC."
E o="Acopian Technical Company"
+E8B470
+ 0 o="DongGuan Ramaxel Memory Technology"
+ 1 o="Autocom Diagnostic Partner AB"
+ 2 o="internet domain name system beijing engineering research center ltd"
+ 3 o="Webfleet Solutions B.V."
+ 4 o="YAWATA ELECTRIC INDUSTRIAL CO.,LTD."
+ 5 o="Alperia Fiber srl"
+ 6 o="Elcoma"
+ 7 o="Tibit Communications"
+ 8 o="DEHN SE + Co KG"
+ 9 o="Miltek Industries Pte Ltd"
+ A o="plc2 Design GmbH"
+ B o="Digifocus Technology Inc."
+ C o="Anduril Industries"
+ D o="Medica Corporation"
+ E o="UNICACCES GROUPE"
EC9F0D
0 o="Hesai Photonics Technology Co., Ltd"
1 o="Simula Technology Inc."
@@ -24405,6 +25107,22 @@ F0ACD7
C o="Simprints Technology Ltd"
D o="Smart Power Technology Co., Ltd."
E o="Fiziico Co., Ltd."
+F0D7AF
+ 0 o="ID Tech Japan Co.,Ltd."
+ 1 o="Beijing Serviatech lnformation Tech Co.,Ltd"
+ 2 o="Blacknight Internet Solutions Limited"
+ 3 o="720?bei jing?Health iTech Co.,Ltd"
+ 4 o="ADAM Audio GmbH"
+ 5 o="Dongguan Huili electroacoustic Industrial Co.,ltd"
+ 6 o="Anord Mardix (USA) Inc."
+ 7 o="Rievtech Electronic Co.,Ltd"
+ 8 o="SHEN ZHEN MICHIP TECHNOLOGIES CO.,LTD."
+ 9 o="New IT Project LLC"
+ A o="MSTAR TECHNOLOGIES,INC"
+ B o="EVCO SPA"
+ C o="Shenzhen Virtual Clusters Information Technology Co.,Ltd."
+ D o="Dongguan Gedi Electrons Techeology Co.,LTD"
+ E o="Wren Associates, LTD"
F40E11
0 o="realphone technology co.,ltd"
1 o="BEIJING DONGJIN AERO-TECH CO., LTD"
@@ -24421,6 +25139,36 @@ F40E11
C o="NIHON MEGA LOGIC CO.,LTD."
D o="DXG Technology Corp."
E o="Elektronika Naglic d.o.o."
+F469D5
+ 0 o="Mossman Limited"
+ 1 o="Junchuang (Xiamen) Automation Technology Co.,Ltd"
+ 2 o="Pulsar Engineering srl"
+ 3 o="ITS Co., Ltd."
+ 4 o="Stype CS d.o.o."
+ 5 o="Hefei STAROT Technology Co.,Ltd"
+ 6 o="TianJin KCHT Information Technology Co., Ltd."
+ 7 o="Rosco, Inc"
+ 9 o="Terminus (Shanghai) Technology Co.,Ltd."
+ A o="ShenZhenShi EVADA technology Co.,Ltd"
+ B o="Konntek Inc"
+ C o="Huaqin Telecom Technology Co.,Ltd."
+ D o="Nantong ZYDZ Electronic.,Co.Ltd"
+ E o="ORtek Technology, Inc."
+F490CB
+ 0 o="Epitel, Inc."
+ 1 o="DELEM BV"
+ 2 o="ICE Gateway GmbH"
+ 3 o="Ricker Lyman Robotic"
+ 4 o="OmniNet"
+ 5 o="Avilution"
+ 6 o="Airbeam Wireless Technologies Inc."
+ 7 o="TEQ SA"
+ 8 o="Beijing Penslink Co., Ltd."
+ 9 o="Fractyl Labs"
+ B o="A-dec Inc."
+ C o="Cheetah Medical"
+ D o="Simavita (Aust) Pty Ltd"
+ E o="RSAE Labs Inc"
F80278
0 o="Digatron Power Electronics GmbH"
1 o="Reason Tecnologia SA"
diff --git a/update/imsi.py b/update/imsi.py
index d2abb83c..fd20e260 100755
--- a/update/imsi.py
+++ b/update/imsi.py
@@ -21,12 +21,21 @@
"""This extracts a IMSI country and operator code from Wikipedia."""
+import os
import re
+import sys
from collections import defaultdict
import requests
+# Ensure that our local stdnum implementation is used
+sys.path.insert(0, os.path.normpath(
+ os.path.join(os.path.dirname(os.path.abspath(__file__)), '..')))
+
+from stdnum import util # noqa, isort:skip
+
+
# The wikipedia pages to download
wikipedia_pages = (
'Mobile country code',
@@ -155,7 +164,7 @@ def get_mncs_from_wikipedia(data):
response.raise_for_status()
country = cc = ''
for line in response.iter_lines(decode_unicode=True):
- line = line.strip()
+ line = util.clean(line.strip())
match = _mnc_country_re.match(line)
if match:
country = match.group('country')
diff --git a/update/nz_banks.py b/update/nz_banks.py
index 04a5463a..bcf20daf 100755
--- a/update/nz_banks.py
+++ b/update/nz_banks.py
@@ -31,7 +31,7 @@
# The page that contains a link to the latest XLS version of the codes.
-download_url = 'https://www.paymentsnz.co.nz/resources/industry-registers/bank-branch-register/download/xls/'
+download_url = 'https://www.paymentsnz.co.nz/resources/industry-registers/bank-branch-register/download/xlsx/'
def get_values(sheet):
From 337393855c2691abaf2d115fbdc4492e554c3995 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Sun, 9 Aug 2020 18:20:30 +0200
Subject: [PATCH 024/276] Get files ready for 1.14 release
---
ChangeLog | 371 ++++++++++++++++++++++++++++++++++++++++
NEWS | 48 ++++++
README | 14 ++
docs/index.rst | 14 ++
docs/stdnum.by.unp.rst | 5 +
docs/stdnum.cn.uscc.rst | 5 +
docs/stdnum.gb.utr.rst | 5 +
docs/stdnum.gs1_128.rst | 5 +
docs/stdnum.id.npwp.rst | 5 +
docs/stdnum.il.hp.rst | 5 +
docs/stdnum.it.aic.rst | 5 +
docs/stdnum.kr.brn.rst | 5 +
docs/stdnum.ro.onrc.rst | 5 +
docs/stdnum.sg.uen.rst | 5 +
docs/stdnum.sv.nit.rst | 5 +
docs/stdnum.tw.ubn.rst | 5 +
docs/stdnum.vatin.rst | 5 +
docs/stdnum.vn.mst.rst | 5 +
docs/stdnum.za.idnr.rst | 5 +
stdnum/__init__.py | 2 +-
20 files changed, 523 insertions(+), 1 deletion(-)
create mode 100644 docs/stdnum.by.unp.rst
create mode 100644 docs/stdnum.cn.uscc.rst
create mode 100644 docs/stdnum.gb.utr.rst
create mode 100644 docs/stdnum.gs1_128.rst
create mode 100644 docs/stdnum.id.npwp.rst
create mode 100644 docs/stdnum.il.hp.rst
create mode 100644 docs/stdnum.it.aic.rst
create mode 100644 docs/stdnum.kr.brn.rst
create mode 100644 docs/stdnum.ro.onrc.rst
create mode 100644 docs/stdnum.sg.uen.rst
create mode 100644 docs/stdnum.sv.nit.rst
create mode 100644 docs/stdnum.tw.ubn.rst
create mode 100644 docs/stdnum.vatin.rst
create mode 100644 docs/stdnum.vn.mst.rst
create mode 100644 docs/stdnum.za.idnr.rst
diff --git a/ChangeLog b/ChangeLog
index 20d0c6d5..130c4586 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,374 @@
+2020-08-09 Arthur de Jong
+
+ * [40fcc24] stdnum/be/banks.dat, stdnum/cn/loc.dat,
+ stdnum/eu/nace.dat, stdnum/gs1_ai.dat, stdnum/iban.dat,
+ stdnum/imsi.dat, stdnum/isbn.dat, stdnum/nz/banks.dat,
+ stdnum/oui.dat, update/imsi.py, update/nz_banks.py: Update
+ database files
+
+2020-03-08 Leandro Regueiro
+
+ * [ff188bd] stdnum/vatin.py, tests/test_vatin.doctest: Add module
+ to check any VAT number
+
+ This effectively mimics vatnumber's `check_vat` function, so people
+ can easily replace the outdated vatnumber library with stdnum.
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/199
+
+2020-08-08 Arthur de Jong
+
+ * [b6e43cd] update/gs1_ai.py: Fix Python 3.6 issue in update script
+
+ Fixes 180788a
+
+2020-08-08 Arthur de Jong
+
+ * [180788a] stdnum/gs1_128.py, stdnum/gs1_ai.dat,
+ tests/test_gs1_128.doctest, update/gs1_ai.py: Add GS1-128 format
+
+ This adds validation, parsing and encoding functions for
+ GS1-128. It is based on the lists of formats as published by
+ the GS1 organisation.
+
+ Based on the implementation provided by Sergi Almacellas Abellana
+ .
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/144
+
+2020-08-02 Arthur de Jong
+
+ * [c2284f3] stdnum/ro/onrc.py, tests/test_ro_onrc.doctest: Add
+ Romanian Trade Register identifier
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/229
+ Closes https://github.com/arthurdejong/python-stdnum/pull/234
+
+2020-06-02 Mohammed Salman
+
+ * [94e2c63] stdnum/gb/utr.py, tests/test_gb_utr.doctest: Add
+ English Unique Tax Reference
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/227
+
+2020-08-02 Arthur de Jong
+
+ * [505521e] stdnum/ro/cnp.py: Support foreign residents for
+ Romanian CNP
+
+ This supports 7 or 8 as first digits in the CNP which are
+ apparently used to identify foreign residents.
+
+ This also changes the exception for an incorrect first digit
+ from InvalidFormat to InvalidComponent which is a little clearer.
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/230
+
+2020-08-02 Arthur de Jong
+
+ * [51a122d] stdnum/kr/GPKIRootCA1.crt, stdnum/kr/brn.py: Remove
+ custom CA certificate for www.ftc.go.kr
+
+ This certificate is not needed any more because the site now
+ uses a different certificate that is signed by a known CA.
+
+2020-07-31 evaldez89
+
+ * [feca1fe] stdnum/do/rnc.py, tests/test_do_rnc.py: Scape new
+ line character
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/233
+ Closes https://github.com/arthurdejong/python-stdnum/issues/232
+
+2020-04-05 Leandro Regueiro
+
+ * [dab926c] stdnum/tw/__init__.py, stdnum/tw/ubn.py,
+ tests/test_tw_ubn.doctest: Add support for Taiwan TIN number
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/214
+ Closes https://github.com/arthurdejong/python-stdnum/issues/209
+
+2020-07-05 Arthur de Jong
+
+ * [291b831] tox.ini: Avoid newer isort for flake8 tests
+
+ Do not install the latest isort because it currently breaks
+ flake8-isort. This pinning should be removed as soon as
+ https://github.com/gforcada/flake8-isort/issues/88 is resolved.
+
+2020-03-08 Leandro Regueiro
+
+ * [7112874] stdnum/id/__init__.py, stdnum/id/npwp.py,
+ tests/test_id_npwp.doctest: Add support for Indonesian NPWP
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/106
+ Closes https://github.com/arthurdejong/python-stdnum/pull/198
+
+2020-04-18 Leandro Regueiro
+
+ * [a34a76d] stdnum/vn/__init__.py, stdnum/vn/mst.py,
+ tests/test_vn_mst.doctest: Add support for Vietnam TIN number
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/217
+ Closes https://github.com/arthurdejong/python-stdnum/pull/218
+
+2020-05-16 Arthur de Jong
+
+ * [1b7e985] stdnum/kr/GPKIRootCA1.crt, stdnum/kr/brn.py,
+ tests/test_kr_brn.py: Add an online check for the South Korean BRN
+
+2020-03-07 Leandro Regueiro
+
+ * [b3891f1] stdnum/kr/__init__.py, stdnum/kr/brn.py,
+ tests/test_kr_brn.doctest: Add support for South Korea Business
+ Registration Number
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/197
+ Closes https://github.com/arthurdejong/python-stdnum/issues/101
+
+2020-06-06 Christopher Ormaza
+
+ * [127fff1] stdnum/ec/ci.py: Support 6 as third digit for foreign
+ people in Ecuador
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/228
+
+2020-03-18 Leandro Regueiro
+
+ * [0d5b8b1] stdnum/sg/__init__.py, stdnum/sg/uen.py,
+ tests/test_sg_uen.doctest: Add support for Singapore Unique
+ Entity Number
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/111
+ Closes https://github.com/arthurdejong/python-stdnum/pull/203
+
+2020-03-18 Leandro Regueiro
+
+ * [4eda3f3] stdnum/nz/__init__.py: Add missing vat alias for
+ New Zealand
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/202
+
+2020-04-04 Leandro Regueiro
+
+ * [f3ce70c] stdnum/cn/__init__.py, stdnum/cn/uscc.py,
+ tests/test_cn_uscc.doctest: Add support for Chinese TIN number
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/207
+ Closes https://github.com/arthurdejong/python-stdnum/pull/210
+
+2020-04-10 Leandro Regueiro
+
+ * [54e2e8f] stdnum/sv/__init__.py, stdnum/sv/nit.py,
+ tests/test_sv_nit.doctest: Add support for El Salvador TIN number
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/133
+ Closes https://github.com/arthurdejong/python-stdnum/pull/215
+
+2020-03-31 Leandro Regueiro
+
+ * [356a729] stdnum/il/__init__.py, stdnum/il/hp.py,
+ tests/test_il_hp.doctest: Add Israeli TIN number
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/208
+ Closes https://github.com/arthurdejong/python-stdnum/issues/107
+
+2020-04-25 Arthur de Jong
+
+ * [e49e0e9] docs/index.rst: Document function return behaviour
+
+2020-04-19 Arthur de Jong
+
+ * [417b500] setup.cfg, setup.py, tox.ini: Flake 8 fixes
+
+2020-04-18 Arthur de Jong
+
+ * [ff86618] .travis.yml: Resolve Travis configuration warnings
+
+2020-04-18 Arthur de Jong
+
+ * [982322a] tox.ini: Avoid newest Sphinx
+
+ Newer versions of Sphinx treat underscores differently when
+ used in arguments to automodule causing problems in generating
+ documentation for the stdnum.in_.aadhaar, stdnum.in_.pan,
+ stdnum.is_.kennitala and stdnum.is_.vsk modules.
+
+2020-03-20 Arthur de Jong
+
+ * [91ca4da] stdnum/cu/ni.py, stdnum/do/ncf.py, stdnum/do/rnc.py,
+ stdnum/es/ccc.py, stdnum/es/referenciacatastral.py,
+ stdnum/eu/eic.py, stdnum/eu/nace.py, stdnum/fi/hetu.py,
+ stdnum/fr/nir.py, stdnum/gb/nhs.py, stdnum/gr/amka.py,
+ stdnum/isil.py, stdnum/issn.py, stdnum/kr/rrn.py, stdnum/mu/nid.py,
+ stdnum/mx/curp.py, stdnum/mx/rfc.py, stdnum/pl/regon.py: Use
+ HTTPS in URLs where possible
+
+2020-03-19 grzekru
+
+ * [273dd54] stdnum/eu/vat.py: Use HTTPS instead of HTTP fox
+ VIES lookups
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/204
+ Closes https://github.com/arthurdejong/python-stdnum/pull/205
+
+2020-03-03 FabrizioMontanari
+
+ * [8433821] stdnum/it/aic.py, tests/test_it_aic.doctest: Add
+ Italian AIC codes
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/193
+
+2020-03-09 Arthur de Jong
+
+ * [f7b968c] stdnum/by/unp.py: Fix typo
+
+ Thanks @unho
+
+2020-03-08 Arthur de Jong
+
+ * [d09ed52] stdnum/lv/pvn.py, stdnum/ru/inn.py: Use zip() for
+ applying weights in check algorithms
+
+2020-03-07 Arthur de Jong
+
+ * [60139a8] stdnum/by/__init__.py, stdnum/by/portal.nalog.gov.by.crt,
+ stdnum/by/unp.py, tests/test_by_unp.doctest, tests/test_by_unp.py:
+ Add Bellarus УНП number
+
+ This also adds a function to do an online lookup of the number.
+
+ Closes https://github.com/arthurdejong/python-stdnum/issues/196
+
+2020-03-07 Leandro Regueiro
+
+ * [ebe7e10] stdnum/jp/__init__.py: Add missing vat alias for Japan
+
+2020-03-07 Leandro Regueiro
+
+ * [6429080] stdnum/ca/__init__.py: Add missing vat alias for Canada
+
+2020-03-07 Leandro Regueiro
+
+ * [84ee720] stdnum/tr/__init__.py: Add missing vat alias for Turkey
+
+2020-03-07 Leandro Regueiro
+
+ * [fcbe159] stdnum/pe/__init__.py: Add missing vat alias for Peru
+
+2020-03-07 Leandro Regueiro
+
+ * [9be7dee] stdnum/cr/__init__.py: Add missing vat alias for
+ Costa Rica
+
+2020-03-07 Leandro Regueiro
+
+ * [69d22e9] stdnum/br/__init__.py: Add missing vat alias for Brazil
+
+2020-01-31 Leon Sandøy
+
+ * [df9f922] stdnum/no/fodselsnummer.py,
+ tests/test_no_fodselsnummer.doctest: Implement get_birth_date()
+ for no.fodselsnummer
+
+ This adds a function that allows you to determine a persons
+ birth date from a Norwegian fødselsnummer.
+
+ This also accounts for D-numbers, H-numbers, and FH-numbers,
+ which contain special exceptions and modifications to the
+ birthdate portion of the number.
+
+ Most of the information this is based on was found here:
+ https://no.wikipedia.org/wiki/F%C3%B8dselsnummer#H-nummer
+
+ It also updates the list of valid fødselsnummer in the tests,
+ since this list contained many numbers that are not valid by
+ this new validation that now accounts for dates.
+
+ Additionally, this updates all tests that were failing under the
+ new validation, and adds a few new tests to bring the coverage
+ to 100%.
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/187
+
+2020-01-31 Leon Sandøy
+
+ * [4500881] stdnum/dk/cpr.py: Improve birth date validation
+ for dk.cpr
+
+ This adds a check to validate that the birth date information
+ in a personnummer is not set in the future, resolving a TODO
+ from this file.
+
+ It also improves exception messages for certain validation
+ fail conditions.
+
+2020-01-31 Leon Sandøy
+
+ * [f5e0456] stdnum/se/personnummer.py: Fix misleading docstring
+ in se.personnummer get_birth_date()
+
+ The docstring for get_birth_date() in the Swedish personnummer.py
+ warned that the datetime might be 100 years off because of the
+ lack of precision in the personnummer.
+
+ This was accurate when the docstring was written, but this is
+ no longer accurate after the - and + signs were correctly handled.
+
+ Fixes 5441ffa
+
+2020-03-01 Arthur de Jong
+
+ * [8437b8e] .travis.yml: Use bionic for pypy3 tests on Travis
+
+ This switches the pypy3 tests to bionic which has Python
+ 3.6.9. There were installation issues with 3.5.3 on trusty and
+ coverage issues with 3.6.1 of xenial (now the default on Travis).
+
+2020-02-24 Aleksi Hoffman
+
+ * [353db92] stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Support
+ validating temporary Finnish personal identity codes
+
+ This adds an optional allow_temporary parameter, which defaults
+ to False, to the validate() function.
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/191
+
+2020-02-18 Gustavo Valverde
+
+ * [efa70f1] stdnum/do/ncf.py: Change DGII endpoint to new one
+
+ The old endpoint has been deprecated.
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/190
+
+2020-02-12 Arthur de Jong
+
+ * [e513888] stdnum/se/personnummer.py,
+ tests/test_se_personnummer.doctest: Fix issue with extra plus
+ or minus in se.personnummer
+
+ Fixes 5441ffa Closes
+ https://github.com/arthurdejong/python-stdnum/issues/188
+
+2020-01-22 Gustavo Valverde
+
+ * [77a77ba] stdnum/do/ncf.py: Add missing NCF document types
+ for validation
+
+ These document types are in the official
+ documentation, but were not being validated:
+ https://dgii.gov.do/cicloContribuyente/facturacion/comprobantesFiscales/Paginas/tiposComprobantes.aspx
+
+ Closes https://github.com/arthurdejong/python-stdnum/pull/186
+
+2020-01-19 Arthur de Jong
+
+ * [d5666b8] ChangeLog, NEWS, README, docs/index.rst,
+ docs/stdnum.ch.esr.rst, setup.py, stdnum/__init__.py: Get files
+ ready for 1.13 release
+
2020-01-19 Arthur de Jong
* [334e907] online_check/stdnum.wsgi: Fix online check to be Python
diff --git a/NEWS b/NEWS
index 8d2183f5..ccd5d8a6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,51 @@
+changes from 1.13 to 1.14
+-------------------------
+
+* Add modules for the following number formats:
+
+ - УНП, UNP (Учетный номер плательщика, the Belarus VAT number)
+ - AIC (Italian code for identification of drugs) (thanks Fabrizio Montanari)
+ - Company Number (מספר חברה, or short ח.פ. Israeli company number)
+ (thanks Leandro Regueiro)
+ - NIT (Número de Identificación Tributaria, El Salvador tax number)
+ (thanks Leandro Regueiro)
+ - USCC (Unified Social Credit Code, 统一社会信用代码, China tax number)
+ (thanks Leandro Regueiro)
+ - UEN (Singapore's Unique Entity Number) (thanks Leandro Regueiro)
+ - BRN (사업자 등록 번호, South Korea Business Registration Number)
+ (thanks Leandro Regueiro)
+ - MST (Mã số thuế, Vietnam tax number) (thanks Leandro Regueiro)
+ - NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number)
+ (thanks Leandro Regueiro)
+ - UBN (Unified Business Number, 統一編號, Taiwanese tax number)
+ (thanks Leandro Regueiro)
+ - UTR (United Kingdom Unique Taxpayer Reference) (thanks Mohammed Salman)
+ - ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier)
+ (thanks dotbit1)
+ - GS1-128 (Standard to encode product information in Code 128 barcodes)
+ (thanks Sergi Almacellas Abellana)
+ - VATIN (International value added tax identification number)
+ (thanks Leandro Regueiro)
+
+* Fix missing Dominican Republic NCF document types (thanks Gustavo Valverde)
+* Fix issue with extra plus or minus in Swedish Personnummer
+ (thanks balderman)
+* Update Dominican Republic DGII endpoint (thanks Gustavo Valverde)
+* Support validating temporary Finnish personal identity codes
+ (thanks Aleksi Hoffman)
+* Fix misleading docstring in se.personnummer.get_birth_date()
+ (thanks Leon Sandøy)
+* Improve birth date validation in Danish CPR (thanks Leon Sandøy)
+* Add birth date validating in Norwegian Fødselsnummer (thanks Leon Sandøy)
+* Add missing vat aliases for a number of countries (thanks Leandro Regueiro)
+* Use HTTPS instead of HTTP fox VIES lookups (thanks grzekru)
+* Switch to HTTPS URLs where possible
+* Support 6 as third digit in Ecuadorian CI (thanks Christopher Ormaza)
+* Add an online check for South Korean BRN
+* Fix unescaping in Dominican Republic RNC online check (thanks evaldez89)
+* Support foreign residents for Romanian CNP (thanks dotbit1)
+
+
changes from 1.12 to 1.13
-------------------------
diff --git a/README b/README
index 607c2126..b472833f 100644
--- a/README
+++ b/README
@@ -37,6 +37,7 @@ Currently this package supports the following formats:
* Bitcoin address
* CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier)
* CPF (Cadastro de Pessoas Físicas, Brazilian national identifier)
+ * УНП, UNP (Учетный номер плательщика, the Belarus VAT number)
* BN (Canadian Business Number)
* SIN (Canadian Social Insurance Number)
* CAS RN (Chemical Abstracts Service Registry Number)
@@ -46,6 +47,7 @@ Currently this package supports the following formats:
* VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number)
* RUT (Rol Único Tributario, Chilean national tax number)
* RIC No. (Chinese Resident Identity Card Number)
+ * USCC (Unified Social Credit Code, 统一社会信用代码, China tax number)
* NIT (Número De Identificación Tributaria, Colombian identity code)
* CPF (Cédula de Persona Física, Costa Rica physical person ID number)
* CPJ (Cédula de Persona Jurídica, Costa Rica tax number)
@@ -98,16 +100,20 @@ Currently this package supports the following formats:
* NHS (United Kingdom National Health Service patient identifier)
* SEDOL number (Stock Exchange Daily Official List number)
* UPN (English Unique Pupil Number)
+ * UTR (United Kingdom Unique Taxpayer Reference)
* VAT (United Kingdom (and Isle of Man) VAT registration number)
* AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number)
* FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number)
* GRid (Global Release Identifier)
+ * GS1-128 (Standard to encode product information in Code 128 barcodes)
* NIT (Número de Identificación Tributaria, Guatemala tax number)
* OIB (Osobni identifikacijski broj, Croatian identification number)
* ANUM (Közösségi adószám, Hungarian VAT number)
* IBAN (International Bank Account Number)
+ * NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number)
* PPS No (Personal Public Service Number, Irish personal number)
* VAT (Irish tax reference number)
+ * Company Number (מספר חברה, or short ח.פ. Israeli company number)
* Identity Number (Mispar Zehut, מספר זהות, Israeli identity number)
* IMEI (International Mobile Equipment Identity)
* IMO number (International Maritime Organization number)
@@ -124,9 +130,11 @@ Currently this package supports the following formats:
* ISO 11649 (Structured Creditor Reference)
* ISO 6346 (International standard for container identification)
* ISSN (International Standard Serial Number)
+ * AIC (Italian code for identification of drugs)
* Codice Fiscale (Italian tax code for individuals)
* Partita IVA (Italian VAT number)
* CN (法人番号, hōjin bangō, Japanese Corporate Number)
+ * BRN (사업자 등록 번호, South Korea Business Registration Number)
* RRN (South Korean resident registration number)
* LEI (Legal Entity Identifier)
* Asmens kodas (Lithuanian, personal numbers)
@@ -164,17 +172,21 @@ Currently this package supports the following formats:
* RUC number (Registro Único de Contribuyentes, Paraguay tax number)
* CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number)
* CNP (Cod Numeric Personal, Romanian Numerical Personal Code)
+ * ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier)
* PIB (Poreski Identifikacioni Broj, Serbian tax identification number)
* ИНН (Идентификационный номер налогоплательщика, Russian tax identifier)
* Orgnr (Organisationsnummer, Swedish company number)
* Personnummer (Swedish personal identity number)
* VAT (Moms, Mervärdesskatt, Swedish VAT number)
+ * UEN (Singapore's Unique Entity Number)
* ID za DDV (Davčna številka, Slovenian VAT number)
* IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number)
* RČ (Rodné číslo, the Slovak birth number)
* COE (Codice operatore economico, San Marino national tax number)
+ * NIT (Número de Identificación Tributaria, El Salvador tax number)
* T.C. Kimlik No. (Turkish personal identification number)
* VKN (Vergi Kimlik Numarası, Turkish tax identification number)
+ * UBN (Unified Business Number, 統一編號, Taiwanese tax number)
* ATIN (U.S. Adoption Taxpayer Identification Number)
* EIN (U.S. Employer Identification Number)
* ITIN (U.S. Individual Taxpayer Identification Number)
@@ -183,7 +195,9 @@ Currently this package supports the following formats:
* SSN (U.S. Social Security Number)
* TIN (U.S. Taxpayer Identification Number)
* RUT (Registro Único Tributario, Uruguay tax number)
+ * VATIN (International value added tax identification number)
* RIF (Registro de Identificación Fiscal, Venezuelan VAT number)
+ * MST (Mã số thuế, Vietnam tax number)
* ID number (South African Identity Document number)
* TIN (South African Tax Identification Number)
diff --git a/docs/index.rst b/docs/index.rst
index 8eb0ea96..959e7817 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -135,6 +135,7 @@ Available formats
bitcoin
br.cnpj
br.cpf
+ by.unp
ca.bn
ca.sin
casrn
@@ -144,6 +145,7 @@ Available formats
ch.vat
cl.rut
cn.ric
+ cn.uscc
co.nit
cr.cpf
cr.cpj
@@ -196,16 +198,20 @@ Available formats
gb.nhs
gb.sedol
gb.upn
+ gb.utr
gb.vat
gr.amka
gr.vat
grid
+ gs1_128
gt.nit
hr.oib
hu.anum
iban
+ id.npwp
ie.pps
ie.vat
+ il.hp
il.idnr
imei
imo
@@ -222,9 +228,11 @@ Available formats
iso11649
iso6346
issn
+ it.aic
it.codicefiscale
it.iva
jp.cn
+ kr.brn
kr.rrn
lei
lt.asmens
@@ -262,17 +270,21 @@ Available formats
py.ruc
ro.cf
ro.cnp
+ ro.onrc
rs.pib
ru.inn
se.orgnr
se.personnummer
se.vat
+ sg.uen
si.ddv
sk.dph
sk.rc
sm.coe
+ sv.nit
tr.tckimlik
tr.vkn
+ tw.ubn
us.atin
us.ein
us.itin
@@ -281,7 +293,9 @@ Available formats
us.ssn
us.tin
uy.rut
+ vatin
ve.rif
+ vn.mst
za.idnr
za.tin
diff --git a/docs/stdnum.by.unp.rst b/docs/stdnum.by.unp.rst
new file mode 100644
index 00000000..571babe7
--- /dev/null
+++ b/docs/stdnum.by.unp.rst
@@ -0,0 +1,5 @@
+stdnum.by.unp
+=============
+
+.. automodule:: stdnum.by.unp
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.cn.uscc.rst b/docs/stdnum.cn.uscc.rst
new file mode 100644
index 00000000..c76956c2
--- /dev/null
+++ b/docs/stdnum.cn.uscc.rst
@@ -0,0 +1,5 @@
+stdnum.cn.uscc
+==============
+
+.. automodule:: stdnum.cn.uscc
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.gb.utr.rst b/docs/stdnum.gb.utr.rst
new file mode 100644
index 00000000..abfd4cdf
--- /dev/null
+++ b/docs/stdnum.gb.utr.rst
@@ -0,0 +1,5 @@
+stdnum.gb.utr
+=============
+
+.. automodule:: stdnum.gb.utr
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.gs1_128.rst b/docs/stdnum.gs1_128.rst
new file mode 100644
index 00000000..ef40122c
--- /dev/null
+++ b/docs/stdnum.gs1_128.rst
@@ -0,0 +1,5 @@
+stdnum.gs1_128
+==============
+
+.. automodule:: stdnum.gs1_128
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.id.npwp.rst b/docs/stdnum.id.npwp.rst
new file mode 100644
index 00000000..1a064638
--- /dev/null
+++ b/docs/stdnum.id.npwp.rst
@@ -0,0 +1,5 @@
+stdnum.id.npwp
+==============
+
+.. automodule:: stdnum.id.npwp
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.il.hp.rst b/docs/stdnum.il.hp.rst
new file mode 100644
index 00000000..8b4a6e80
--- /dev/null
+++ b/docs/stdnum.il.hp.rst
@@ -0,0 +1,5 @@
+stdnum.il.hp
+============
+
+.. automodule:: stdnum.il.hp
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.it.aic.rst b/docs/stdnum.it.aic.rst
new file mode 100644
index 00000000..ef2661f3
--- /dev/null
+++ b/docs/stdnum.it.aic.rst
@@ -0,0 +1,5 @@
+stdnum.it.aic
+=============
+
+.. automodule:: stdnum.it.aic
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.kr.brn.rst b/docs/stdnum.kr.brn.rst
new file mode 100644
index 00000000..77331aed
--- /dev/null
+++ b/docs/stdnum.kr.brn.rst
@@ -0,0 +1,5 @@
+stdnum.kr.brn
+=============
+
+.. automodule:: stdnum.kr.brn
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.ro.onrc.rst b/docs/stdnum.ro.onrc.rst
new file mode 100644
index 00000000..6cdb3aca
--- /dev/null
+++ b/docs/stdnum.ro.onrc.rst
@@ -0,0 +1,5 @@
+stdnum.ro.onrc
+==============
+
+.. automodule:: stdnum.ro.onrc
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.sg.uen.rst b/docs/stdnum.sg.uen.rst
new file mode 100644
index 00000000..611216c3
--- /dev/null
+++ b/docs/stdnum.sg.uen.rst
@@ -0,0 +1,5 @@
+stdnum.sg.uen
+=============
+
+.. automodule:: stdnum.sg.uen
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.sv.nit.rst b/docs/stdnum.sv.nit.rst
new file mode 100644
index 00000000..c5747a5f
--- /dev/null
+++ b/docs/stdnum.sv.nit.rst
@@ -0,0 +1,5 @@
+stdnum.sv.nit
+=============
+
+.. automodule:: stdnum.sv.nit
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.tw.ubn.rst b/docs/stdnum.tw.ubn.rst
new file mode 100644
index 00000000..33d3575f
--- /dev/null
+++ b/docs/stdnum.tw.ubn.rst
@@ -0,0 +1,5 @@
+stdnum.tw.ubn
+=============
+
+.. automodule:: stdnum.tw.ubn
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.vatin.rst b/docs/stdnum.vatin.rst
new file mode 100644
index 00000000..f2b520d7
--- /dev/null
+++ b/docs/stdnum.vatin.rst
@@ -0,0 +1,5 @@
+stdnum.vatin
+============
+
+.. automodule:: stdnum.vatin
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.vn.mst.rst b/docs/stdnum.vn.mst.rst
new file mode 100644
index 00000000..43a8755e
--- /dev/null
+++ b/docs/stdnum.vn.mst.rst
@@ -0,0 +1,5 @@
+stdnum.vn.mst
+=============
+
+.. automodule:: stdnum.vn.mst
+ :members:
\ No newline at end of file
diff --git a/docs/stdnum.za.idnr.rst b/docs/stdnum.za.idnr.rst
new file mode 100644
index 00000000..e96da5f4
--- /dev/null
+++ b/docs/stdnum.za.idnr.rst
@@ -0,0 +1,5 @@
+stdnum.za.idnr
+==============
+
+.. automodule:: stdnum.za.idnr
+ :members:
\ No newline at end of file
diff --git a/stdnum/__init__.py b/stdnum/__init__.py
index 07f4a968..73646fb1 100644
--- a/stdnum/__init__.py
+++ b/stdnum/__init__.py
@@ -43,4 +43,4 @@
__all__ = ('get_cc_module', '__version__')
# the version number of the library
-__version__ = '1.13'
+__version__ = '1.14'
From 992dc2087f54274049a166ac87472e0b66450813 Mon Sep 17 00:00:00 2001
From: Arthur de Jong
Date: Fri, 4 Sep 2020 14:58:50 +0200
Subject: [PATCH 025/276] Upgrade jQuery to 3.5.1
This also runs eslint over check.js and fixes an issue from the upgrade.
---
online_check/check.js | 139 +-
online_check/jquery-1.7.1.js | 9266 ------------------------
online_check/jquery-1.7.1.min.js | 4 -
online_check/jquery-3.5.1.js | 10872 ++++++++++++++++++++++++++++
online_check/jquery-3.5.1.min.js | 2 +
online_check/jquery-3.5.1.min.map | 1 +
online_check/template.html | 2 +-
7 files changed, 10944 insertions(+), 9342 deletions(-)
delete mode 100644 online_check/jquery-1.7.1.js
delete mode 100644 online_check/jquery-1.7.1.min.js
create mode 100644 online_check/jquery-3.5.1.js
create mode 100644 online_check/jquery-3.5.1.min.js
create mode 100644 online_check/jquery-3.5.1.min.map
diff --git a/online_check/check.js b/online_check/check.js
index 8a503729..69019564 100644
--- a/online_check/check.js
+++ b/online_check/check.js
@@ -1,7 +1,7 @@
/*
# check.js - simple application to check numbers
#
- # Copyright (C) 2017-2018 Arthur de Jong.
+ # Copyright (C) 2017-2020 Arthur de Jong.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -19,13 +19,12 @@
# 02110-1301 USA
*/
-$( document ).ready(function() {
-
+$(document).ready(function () {
function format(value) {
- return $("
").text(value).html().replace(
- /\n\n/g, " \n"
+ return $('
').text(value).html().replace(
+ /\n\n/g, ' \n'
).replace(
- /^[*] (.*)$/gm, ""
+ /^[*] (.*)$/gm, ''
).replace(
/(\b(https?|ftp):\/\/[^\s<]*[-\w+&@#/%=~_|])/ig,
"$1 "
@@ -34,98 +33,96 @@ $( document ).ready(function() {
function updateresults(field, results) {
// build HTML to present
- var h = [""];
- $.each(results, function(index, result) {
+ var h = ['']
+ $.each(results, function (index, result) {
h.push(
- "",
- $("
").text(result["number"]).html(),
- ": ",
- $("
").text(result["name"]).html(),
- "",
- "",
- format(result["description"]),
- $.map(result["conversions"], function(value, key){
+ '
',
+ $('
').text(result.number).html(),
+ ': ',
+ $('
').text(result.name).html(),
+ '',
+ '',
+ format(result.description),
+ $.map(result.conversions, function (value, key) {
return [
- "",
- $("
").text(key).html(),
- ": ",
- $("
").text(value).html()].join('')
+ '',
+ $('
').text(key).html(),
+ ': ',
+ $('
').text(value).html()].join('')
}).join(''),
- "")
- });
- h.push("");
+ '')
+ })
+ h.push('')
// replace the results div
- $("#" + $(field).attr("id") + "_results").html(h.join(""));
+ $('#' + $(field).attr('id') + '_results').html(h.join(''))
}
function checkfield(field) {
- var value = field.val();
+ var value = field.val()
// only trigger update if value changed from previous validation
- if (value != field.data("oldvalue")) {
- field.data("oldvalue", value);
- $("#" + $(field).attr("id") + "_results").slideUp(200, function() {
- $.get('', {"number": value}, function(data) {
- window.history.pushState({"value": value, "data": data}, $(document).find("title").text(), "?number=" + encodeURIComponent(value));
- updateresults(field, data);
- });
- $(this).slideDown(300);
- });
+ if (value !== field.data('oldvalue')) {
+ field.data('oldvalue', value)
+ $('#' + $(field).attr('id') + '_results').slideUp(200, function () {
+ $.get('.', {number: value}, function (data) {
+ window.history.pushState({value: value, data: data}, $(document).find('title').text(), '?number=' + encodeURIComponent(value))
+ updateresults(field, data)
+ })
+ $(this).slideDown(300)
+ })
}
}
// update results based on history navigation
- window.onpopstate = function(e) {
- var field = $(".stdnum_check");
+ window.onpopstate = function (e) {
+ var field = $('.stdnum_check')
if (e.state) {
- var value = e.state.value;
- var data = e.state.data;
+ var value = e.state.value
+ var data = e.state.data
field.val(value)
- field.data("oldvalue", value);
- updateresults(field, data);
+ field.data('oldvalue', value)
+ updateresults(field, data)
} else {
- field.val("")
- field.data("oldvalue", "");
- updateresults(field, []);
+ field.val('')
+ field.data('oldvalue', '')
+ updateresults(field, [])
}
- };
+ }
// trigger a check when user stopped typing
- $(".stdnum_check").on("input propertychange", function (event) {
- if (window.event && event.type == "propertychange" && event.propertyName != "value")
- return;
- var field = $(this);
- window.clearTimeout($(this).data("timeout"));
- $(this).data("timeout", setTimeout(function () {
- checkfield(field);
- }, 2000));
- });
+ $('.stdnum_check').on('input propertychange', function (event) {
+ if (window.event && event.type === 'propertychange' && event.propertyName !== 'value') { return }
+ var field = $(this)
+ window.clearTimeout($(this).data('timeout'))
+ $(this).data('timeout', setTimeout(function () {
+ checkfield(field)
+ }, 2000))
+ })
// trigger a check when losing focus
- $(".stdnum_check").on("blur", function() {
- window.clearTimeout($(this).data("timeout"));
- checkfield($(this));
- });
+ $('.stdnum_check').on('blur', function () {
+ window.clearTimeout($(this).data('timeout'))
+ checkfield($(this))
+ })
// prevent enter from submitting the form
- $(".stdnum_check").keydown(function(event) {
- if(event.keyCode == 13) {
- event.preventDefault();
- checkfield($(this));
- return false;
+ $('.stdnum_check').keydown(function (event) {
+ if (event.keyCode === 13) {
+ event.preventDefault()
+ checkfield($(this))
+ return false
}
- });
+ })
// hide the submit button
- $(".stdnum_hide").hide();
+ $('.stdnum_hide').hide()
// focus the text field
- $(".stdnum_check").focus();
+ $('.stdnum_check').focus()
// save current state
- var value = $(".stdnum_check").val();
- $(".stdnum_check").data("oldvalue", value);
- $.get('', {number: value}, function(data) {
- window.history.replaceState({"value": value, "data": data}, $(document).find("title").text(), "?number=" + encodeURIComponent(value));
+ var value = $('.stdnum_check').val()
+ $('.stdnum_check').data('oldvalue', value)
+ $.get('', {number: value}, function (data) {
+ window.history.replaceState({value: value, data: data}, $(document).find('title').text(), '?number=' + encodeURIComponent(value))
})
-
-});
+})
diff --git a/online_check/jquery-1.7.1.js b/online_check/jquery-1.7.1.js
deleted file mode 100644
index 8ccd0ea7..00000000
--- a/online_check/jquery-1.7.1.js
+++ /dev/null
@@ -1,9266 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.7.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Mon Nov 21 21:11:03 2011 -0500
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document,
- navigator = window.navigator,
- location = window.location;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context, rootjQuery );
- },
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$,
-
- // A central reference to the root jQuery(document)
- rootjQuery,
-
- // A simple way to check for HTML strings or ID strings
- // Prioritize #id over to avoid XSS via location.hash (#9521)
- quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
-
- // Check if a string has a non-whitespace character in it
- rnotwhite = /\S/,
-
- // Used for trimming whitespace
- trimLeft = /^\s+/,
- trimRight = /\s+$/,
-
- // Match a standalone tag
- rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
- // JSON RegExp
- rvalidchars = /^[\],:{}\s]*$/,
- rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
- rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
- rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
- // Useragent RegExp
- rwebkit = /(webkit)[ \/]([\w.]+)/,
- ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
- rmsie = /(msie) ([\w.]+)/,
- rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
- // Matches dashed string for camelizing
- rdashAlpha = /-([a-z]|[0-9])/ig,
- rmsPrefix = /^-ms-/,
-
- // Used by jQuery.camelCase as callback to replace()
- fcamelCase = function( all, letter ) {
- return ( letter + "" ).toUpperCase();
- },
-
- // Keep a UserAgent string for use with jQuery.browser
- userAgent = navigator.userAgent,
-
- // For matching the engine and version of the browser
- browserMatch,
-
- // The deferred used on DOM ready
- readyList,
-
- // The ready event handler
- DOMContentLoaded,
-
- // Save a reference to some core methods
- toString = Object.prototype.toString,
- hasOwn = Object.prototype.hasOwnProperty,
- push = Array.prototype.push,
- slice = Array.prototype.slice,
- trim = String.prototype.trim,
- indexOf = Array.prototype.indexOf,
-
- // [[Class]] -> type pairs
- class2type = {};
-
-jQuery.fn = jQuery.prototype = {
- constructor: jQuery,
- init: function( selector, context, rootjQuery ) {
- var match, elem, ret, doc;
-
- // Handle $(""), $(null), or $(undefined)
- if ( !selector ) {
- return this;
- }
-
- // Handle $(DOMElement)
- if ( selector.nodeType ) {
- this.context = this[0] = selector;
- this.length = 1;
- return this;
- }
-
- // The body element only exists once, optimize finding it
- if ( selector === "body" && !context && document.body ) {
- this.context = document;
- this[0] = document.body;
- this.selector = selector;
- this.length = 1;
- return this;
- }
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- // Are we dealing with HTML string or an ID?
- if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
- // Assume that strings that start and end with <> are HTML and skip the regex check
- match = [ null, selector, null ];
-
- } else {
- match = quickExpr.exec( selector );
- }
-
- // Verify a match, and that no context was specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] ) {
- context = context instanceof jQuery ? context[0] : context;
- doc = ( context ? context.ownerDocument || context : document );
-
- // If a single string is passed in and it's a single tag
- // just do a createElement and skip the rest
- ret = rsingleTag.exec( selector );
-
- if ( ret ) {
- if ( jQuery.isPlainObject( context ) ) {
- selector = [ document.createElement( ret[1] ) ];
- jQuery.fn.attr.call( selector, context, true );
-
- } else {
- selector = [ doc.createElement( ret[1] ) ];
- }
-
- } else {
- ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
- selector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes;
- }
-
- return jQuery.merge( this, selector );
-
- // HANDLE: $("#id")
- } else {
- elem = document.getElementById( match[2] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[2] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[0] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return ( context || rootjQuery ).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return this.constructor( context ).find( selector );
- }
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return rootjQuery.ready( selector );
- }
-
- if ( selector.selector !== undefined ) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- },
-
- // Start with an empty selector
- selector: "",
-
- // The current version of jQuery being used
- jquery: "1.7.1",
-
- // The default length of a jQuery object is 0
- length: 0,
-
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
- toArray: function() {
- return slice.call( this, 0 );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num == null ?
-
- // Return a 'clean' array
- this.toArray() :
-
- // Return just the object
- ( num < 0 ? this[ this.length + num ] : this[ num ] );
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems, name, selector ) {
- // Build a new jQuery matched element set
- var ret = this.constructor();
-
- if ( jQuery.isArray( elems ) ) {
- push.apply( ret, elems );
-
- } else {
- jQuery.merge( ret, elems );
- }
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- ret.context = this.context;
-
- if ( name === "find" ) {
- ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
- } else if ( name ) {
- ret.selector = this.selector + "." + name + "(" + selector + ")";
- }
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
- },
-
- ready: function( fn ) {
- // Attach the listeners
- jQuery.bindReady();
-
- // Add the callback
- readyList.add( fn );
-
- return this;
- },
-
- eq: function( i ) {
- i = +i;
- return i === -1 ?
- this.slice( i ) :
- this.slice( i, i + 1 );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ),
- "slice", slice.call(arguments).join(",") );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function( elem, i ) {
- return callback.call( elem, i, elem );
- }));
- },
-
- end: function() {
- return this.prevObject || this.constructor(null);
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: [].sort,
- splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
- var options, name, src, copy, copyIsArray, clone,
- target = arguments[0] || {},
- i = 1,
- length = arguments.length,
- deep = false;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
- target = {};
- }
-
- // extend jQuery itself if only one argument is passed
- if ( length === i ) {
- target = this;
- --i;
- }
-
- for ( ; i < length; i++ ) {
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && jQuery.isArray(src) ? src : [];
-
- } else {
- clone = src && jQuery.isPlainObject(src) ? src : {};
- }
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend({
- noConflict: function( deep ) {
- if ( window.$ === jQuery ) {
- window.$ = _$;
- }
-
- if ( deep && window.jQuery === jQuery ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
- },
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // A counter to track how many items to wait for before
- // the ready event fires. See #6781
- readyWait: 1,
-
- // Hold (or release) the ready event
- holdReady: function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
- },
-
- // Handle when the DOM is ready
- ready: function( wait ) {
- // Either a released hold or an DOMready/load event and not yet ready
- if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( !document.body ) {
- return setTimeout( jQuery.ready, 1 );
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If a normal DOM Ready event fired, decrement, and wait if need be
- if ( wait !== true && --jQuery.readyWait > 0 ) {
- return;
- }
-
- // If there are functions bound, to execute
- readyList.fireWith( document, [ jQuery ] );
-
- // Trigger any bound ready events
- if ( jQuery.fn.trigger ) {
- jQuery( document ).trigger( "ready" ).off( "ready" );
- }
- }
- },
-
- bindReady: function() {
- if ( readyList ) {
- return;
- }
-
- readyList = jQuery.Callbacks( "once memory" );
-
- // Catch cases where $(document).ready() is called after the
- // browser event has already occurred.
- if ( document.readyState === "complete" ) {
- // Handle it asynchronously to allow scripts the opportunity to delay ready
- return setTimeout( jQuery.ready, 1 );
- }
-
- // Mozilla, Opera and webkit nightlies currently support this event
- if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", jQuery.ready, false );
-
- // If IE event model is used
- } else if ( document.attachEvent ) {
- // ensure firing before onload,
- // maybe late but safe also for iframes
- document.attachEvent( "onreadystatechange", DOMContentLoaded );
-
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", jQuery.ready );
-
- // If IE and not a frame
- // continually check to see if the document is ready
- var toplevel = false;
-
- try {
- toplevel = window.frameElement == null;
- } catch(e) {}
-
- if ( document.documentElement.doScroll && toplevel ) {
- doScrollCheck();
- }
- }
- },
-
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return jQuery.type(obj) === "function";
- },
-
- isArray: Array.isArray || function( obj ) {
- return jQuery.type(obj) === "array";
- },
-
- // A crude way of determining if an object is a window
- isWindow: function( obj ) {
- return obj && typeof obj === "object" && "setInterval" in obj;
- },
-
- isNumeric: function( obj ) {
- return !isNaN( parseFloat(obj) ) && isFinite( obj );
- },
-
- type: function( obj ) {
- return obj == null ?
- String( obj ) :
- class2type[ toString.call(obj) ] || "object";
- },
-
- isPlainObject: function( obj ) {
- // Must be an Object.
- // Because of IE, we also have to check the presence of the constructor property.
- // Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
- return false;
- }
-
- try {
- // Not own constructor property must be Object
- if ( obj.constructor &&
- !hasOwn.call(obj, "constructor") &&
- !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
- return false;
- }
- } catch ( e ) {
- // IE8,9 Will throw exceptions on certain host objects #9897
- return false;
- }
-
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
-
- var key;
- for ( key in obj ) {}
-
- return key === undefined || hasOwn.call( obj, key );
- },
-
- isEmptyObject: function( obj ) {
- for ( var name in obj ) {
- return false;
- }
- return true;
- },
-
- error: function( msg ) {
- throw new Error( msg );
- },
-
- parseJSON: function( data ) {
- if ( typeof data !== "string" || !data ) {
- return null;
- }
-
- // Make sure leading/trailing whitespace is removed (IE can't handle it)
- data = jQuery.trim( data );
-
- // Attempt to parse using the native JSON parser first
- if ( window.JSON && window.JSON.parse ) {
- return window.JSON.parse( data );
- }
-
- // Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
- if ( rvalidchars.test( data.replace( rvalidescape, "@" )
- .replace( rvalidtokens, "]" )
- .replace( rvalidbraces, "")) ) {
-
- return ( new Function( "return " + data ) )();
-
- }
- jQuery.error( "Invalid JSON: " + data );
- },
-
- // Cross-browser xml parsing
- parseXML: function( data ) {
- var xml, tmp;
- try {
- if ( window.DOMParser ) { // Standard
- tmp = new DOMParser();
- xml = tmp.parseFromString( data , "text/xml" );
- } else { // IE
- xml = new ActiveXObject( "Microsoft.XMLDOM" );
- xml.async = "false";
- xml.loadXML( data );
- }
- } catch( e ) {
- xml = undefined;
- }
- if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
- }
- return xml;
- },
-
- noop: function() {},
-
- // Evaluates a script in a global context
- // Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
- globalEval: function( data ) {
- if ( data && rnotwhite.test( data ) ) {
- // We use execScript on Internet Explorer
- // We use an anonymous function so that context is window
- // rather than jQuery in Firefox
- ( window.execScript || function( data ) {
- window[ "eval" ].call( window, data );
- } )( data );
- }
- },
-
- // Convert dashed to camelCase; used by the css and data modules
- // Microsoft forgot to hump their vendor prefix (#9572)
- camelCase: function( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
- },
-
- // args is for internal usage only
- each: function( object, callback, args ) {
- var name, i = 0,
- length = object.length,
- isObj = length === undefined || jQuery.isFunction( object );
-
- if ( args ) {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.apply( object[ name ], args ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.apply( object[ i++ ], args ) === false ) {
- break;
- }
- }
- }
-
- // A special, fast, case for the most common use of each
- } else {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
- break;
- }
- }
- }
- }
-
- return object;
- },
-
- // Use native String.trim function wherever possible
- trim: trim ?
- function( text ) {
- return text == null ?
- "" :
- trim.call( text );
- } :
-
- // Otherwise use our own trimming functionality
- function( text ) {
- return text == null ?
- "" :
- text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
- },
-
- // results is for internal usage only
- makeArray: function( array, results ) {
- var ret = results || [];
-
- if ( array != null ) {
- // The window, strings (and functions) also have 'length'
- // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
- var type = jQuery.type( array );
-
- if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
- push.call( ret, array );
- } else {
- jQuery.merge( ret, array );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, array, i ) {
- var len;
-
- if ( array ) {
- if ( indexOf ) {
- return indexOf.call( array, elem, i );
- }
-
- len = array.length;
- i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
-
- for ( ; i < len; i++ ) {
- // Skip accessing in sparse arrays
- if ( i in array && array[ i ] === elem ) {
- return i;
- }
- }
- }
-
- return -1;
- },
-
- merge: function( first, second ) {
- var i = first.length,
- j = 0;
-
- if ( typeof second.length === "number" ) {
- for ( var l = second.length; j < l; j++ ) {
- first[ i++ ] = second[ j ];
- }
-
- } else {
- while ( second[j] !== undefined ) {
- first[ i++ ] = second[ j++ ];
- }
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, inv ) {
- var ret = [], retVal;
- inv = !!inv;
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- retVal = !!callback( elems[ i ], i );
- if ( inv !== retVal ) {
- ret.push( elems[ i ] );
- }
- }
-
- return ret;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var value, key, ret = [],
- i = 0,
- length = elems.length,
- // jquery objects are treated as arrays
- isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
-
- // Go through the array, translating each of the items to their
- if ( isArray ) {
- for ( ; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
-
- // Go through every key on the object,
- } else {
- for ( key in elems ) {
- value = callback( elems[ key ], key, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
- }
-
- // Flatten any nested arrays
- return ret.concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- // Bind a function to a context, optionally partially applying any
- // arguments.
- proxy: function( fn, context ) {
- if ( typeof context === "string" ) {
- var tmp = fn[ context ];
- context = fn;
- fn = tmp;
- }
-
- // Quick check to determine if target is callable, in the spec
- // this throws a TypeError, but we will just return undefined.
- if ( !jQuery.isFunction( fn ) ) {
- return undefined;
- }
-
- // Simulated bind
- var args = slice.call( arguments, 2 ),
- proxy = function() {
- return fn.apply( context, args.concat( slice.call( arguments ) ) );
- };
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
-
- return proxy;
- },
-
- // Mutifunctional method to get and set values to a collection
- // The value/s can optionally be executed if it's a function
- access: function( elems, key, value, exec, fn, pass ) {
- var length = elems.length;
-
- // Setting many attributes
- if ( typeof key === "object" ) {
- for ( var k in key ) {
- jQuery.access( elems, k, key[k], exec, fn, value );
- }
- return elems;
- }
-
- // Setting one attribute
- if ( value !== undefined ) {
- // Optionally, function values get executed if exec is true
- exec = !pass && exec && jQuery.isFunction(value);
-
- for ( var i = 0; i < length; i++ ) {
- fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
- }
-
- return elems;
- }
-
- // Getting an attribute
- return length ? fn( elems[0], key ) : undefined;
- },
-
- now: function() {
- return ( new Date() ).getTime();
- },
-
- // Use of jQuery.browser is frowned upon.
- // More details: http://docs.jquery.com/Utilities/jQuery.browser
- uaMatch: function( ua ) {
- ua = ua.toLowerCase();
-
- var match = rwebkit.exec( ua ) ||
- ropera.exec( ua ) ||
- rmsie.exec( ua ) ||
- ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
- [];
-
- return { browser: match[1] || "", version: match[2] || "0" };
- },
-
- sub: function() {
- function jQuerySub( selector, context ) {
- return new jQuerySub.fn.init( selector, context );
- }
- jQuery.extend( true, jQuerySub, this );
- jQuerySub.superclass = this;
- jQuerySub.fn = jQuerySub.prototype = this();
- jQuerySub.fn.constructor = jQuerySub;
- jQuerySub.sub = this.sub;
- jQuerySub.fn.init = function init( selector, context ) {
- if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
- context = jQuerySub( context );
- }
-
- return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
- };
- jQuerySub.fn.init.prototype = jQuerySub.fn;
- var rootjQuerySub = jQuerySub(document);
- return jQuerySub;
- },
-
- browser: {}
-});
-
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
- jQuery.browser[ browserMatch.browser ] = true;
- jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
- jQuery.browser.safari = true;
-}
-
-// IE doesn't match non-breaking spaces with \s
-if ( rnotwhite.test( "\xA0" ) ) {
- trimLeft = /^[\s\xA0]+/;
- trimRight = /[\s\xA0]+$/;
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
- DOMContentLoaded = function() {
- document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
- jQuery.ready();
- };
-
-} else if ( document.attachEvent ) {
- DOMContentLoaded = function() {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( document.readyState === "complete" ) {
- document.detachEvent( "onreadystatechange", DOMContentLoaded );
- jQuery.ready();
- }
- };
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
- if ( jQuery.isReady ) {
- return;
- }
-
- try {
- // If IE is used, use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- document.documentElement.doScroll("left");
- } catch(e) {
- setTimeout( doScrollCheck, 1 );
- return;
- }
-
- // and execute any waiting functions
- jQuery.ready();
-}
-
-return jQuery;
-
-})();
-
-
-// String to Object flags format cache
-var flagsCache = {};
-
-// Convert String-formatted flags into Object-formatted ones and store in cache
-function createFlags( flags ) {
- var object = flagsCache[ flags ] = {},
- i, length;
- flags = flags.split( /\s+/ );
- for ( i = 0, length = flags.length; i < length; i++ ) {
- object[ flags[i] ] = true;
- }
- return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- * flags: an optional list of space-separated flags that will change how
- * the callback list behaves
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible flags:
- *
- * once: will ensure the callback list can only be fired once (like a Deferred)
- *
- * memory: will keep track of previous values and will call any callback added
- * after the list has been fired right away with the latest "memorized"
- * values (like a Deferred)
- *
- * unique: will ensure a callback can only be added once (no duplicate in the list)
- *
- * stopOnFalse: interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( flags ) {
-
- // Convert flags from String-formatted to Object-formatted
- // (we check in cache first)
- flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};
-
- var // Actual callback list
- list = [],
- // Stack of fire calls for repeatable lists
- stack = [],
- // Last fire value (for non-forgettable lists)
- memory,
- // Flag to know if list is currently firing
- firing,
- // First callback to fire (used internally by add and fireWith)
- firingStart,
- // End of the loop when firing
- firingLength,
- // Index of currently firing callback (modified by remove if needed)
- firingIndex,
- // Add one or several callbacks to the list
- add = function( args ) {
- var i,
- length,
- elem,
- type,
- actual;
- for ( i = 0, length = args.length; i < length; i++ ) {
- elem = args[ i ];
- type = jQuery.type( elem );
- if ( type === "array" ) {
- // Inspect recursively
- add( elem );
- } else if ( type === "function" ) {
- // Add if not in unique mode and callback is not in
- if ( !flags.unique || !self.has( elem ) ) {
- list.push( elem );
- }
- }
- }
- },
- // Fire callbacks
- fire = function( context, args ) {
- args = args || [];
- memory = !flags.memory || [ context, args ];
- firing = true;
- firingIndex = firingStart || 0;
- firingStart = 0;
- firingLength = list.length;
- for ( ; list && firingIndex < firingLength; firingIndex++ ) {
- if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
- memory = true; // Mark as halted
- break;
- }
- }
- firing = false;
- if ( list ) {
- if ( !flags.once ) {
- if ( stack && stack.length ) {
- memory = stack.shift();
- self.fireWith( memory[ 0 ], memory[ 1 ] );
- }
- } else if ( memory === true ) {
- self.disable();
- } else {
- list = [];
- }
- }
- },
- // Actual Callbacks object
- self = {
- // Add a callback or a collection of callbacks to the list
- add: function() {
- if ( list ) {
- var length = list.length;
- add( arguments );
- // Do we need to add the callbacks to the
- // current firing batch?
- if ( firing ) {
- firingLength = list.length;
- // With memory, if we're not firing then
- // we should call right away, unless previous
- // firing was halted (stopOnFalse)
- } else if ( memory && memory !== true ) {
- firingStart = length;
- fire( memory[ 0 ], memory[ 1 ] );
- }
- }
- return this;
- },
- // Remove a callback from the list
- remove: function() {
- if ( list ) {
- var args = arguments,
- argIndex = 0,
- argLength = args.length;
- for ( ; argIndex < argLength ; argIndex++ ) {
- for ( var i = 0; i < list.length; i++ ) {
- if ( args[ argIndex ] === list[ i ] ) {
- // Handle firingIndex and firingLength
- if ( firing ) {
- if ( i <= firingLength ) {
- firingLength--;
- if ( i <= firingIndex ) {
- firingIndex--;
- }
- }
- }
- // Remove the element
- list.splice( i--, 1 );
- // If we have some unicity property then
- // we only need to do this once
- if ( flags.unique ) {
- break;
- }
- }
- }
- }
- }
- return this;
- },
- // Control if a given callback is in the list
- has: function( fn ) {
- if ( list ) {
- var i = 0,
- length = list.length;
- for ( ; i < length; i++ ) {
- if ( fn === list[ i ] ) {
- return true;
- }
- }
- }
- return false;
- },
- // Remove all callbacks from the list
- empty: function() {
- list = [];
- return this;
- },
- // Have the list do nothing anymore
- disable: function() {
- list = stack = memory = undefined;
- return this;
- },
- // Is it disabled?
- disabled: function() {
- return !list;
- },
- // Lock the list in its current state
- lock: function() {
- stack = undefined;
- if ( !memory || memory === true ) {
- self.disable();
- }
- return this;
- },
- // Is it locked?
- locked: function() {
- return !stack;
- },
- // Call all callbacks with the given context and arguments
- fireWith: function( context, args ) {
- if ( stack ) {
- if ( firing ) {
- if ( !flags.once ) {
- stack.push( [ context, args ] );
- }
- } else if ( !( flags.once && memory ) ) {
- fire( context, args );
- }
- }
- return this;
- },
- // Call all the callbacks with the given arguments
- fire: function() {
- self.fireWith( this, arguments );
- return this;
- },
- // To know if the callbacks have already been called at least once
- fired: function() {
- return !!memory;
- }
- };
-
- return self;
-};
-
-
-
-
-var // Static reference to slice
- sliceDeferred = [].slice;
-
-jQuery.extend({
-
- Deferred: function( func ) {
- var doneList = jQuery.Callbacks( "once memory" ),
- failList = jQuery.Callbacks( "once memory" ),
- progressList = jQuery.Callbacks( "memory" ),
- state = "pending",
- lists = {
- resolve: doneList,
- reject: failList,
- notify: progressList
- },
- promise = {
- done: doneList.add,
- fail: failList.add,
- progress: progressList.add,
-
- state: function() {
- return state;
- },
-
- // Deprecated
- isResolved: doneList.fired,
- isRejected: failList.fired,
-
- then: function( doneCallbacks, failCallbacks, progressCallbacks ) {
- deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );
- return this;
- },
- always: function() {
- deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
- return this;
- },
- pipe: function( fnDone, fnFail, fnProgress ) {
- return jQuery.Deferred(function( newDefer ) {
- jQuery.each( {
- done: [ fnDone, "resolve" ],
- fail: [ fnFail, "reject" ],
- progress: [ fnProgress, "notify" ]
- }, function( handler, data ) {
- var fn = data[ 0 ],
- action = data[ 1 ],
- returned;
- if ( jQuery.isFunction( fn ) ) {
- deferred[ handler ](function() {
- returned = fn.apply( this, arguments );
- if ( returned && jQuery.isFunction( returned.promise ) ) {
- returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );
- } else {
- newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
- }
- });
- } else {
- deferred[ handler ]( newDefer[ action ] );
- }
- });
- }).promise();
- },
- // Get a promise for this deferred
- // If obj is provided, the promise aspect is added to the object
- promise: function( obj ) {
- if ( obj == null ) {
- obj = promise;
- } else {
- for ( var key in promise ) {
- obj[ key ] = promise[ key ];
- }
- }
- return obj;
- }
- },
- deferred = promise.promise({}),
- key;
-
- for ( key in lists ) {
- deferred[ key ] = lists[ key ].fire;
- deferred[ key + "With" ] = lists[ key ].fireWith;
- }
-
- // Handle state
- deferred.done( function() {
- state = "resolved";
- }, failList.disable, progressList.lock ).fail( function() {
- state = "rejected";
- }, doneList.disable, progressList.lock );
-
- // Call given func if any
- if ( func ) {
- func.call( deferred, deferred );
- }
-
- // All done!
- return deferred;
- },
-
- // Deferred helper
- when: function( firstParam ) {
- var args = sliceDeferred.call( arguments, 0 ),
- i = 0,
- length = args.length,
- pValues = new Array( length ),
- count = length,
- pCount = length,
- deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
- firstParam :
- jQuery.Deferred(),
- promise = deferred.promise();
- function resolveFunc( i ) {
- return function( value ) {
- args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
- if ( !( --count ) ) {
- deferred.resolveWith( deferred, args );
- }
- };
- }
- function progressFunc( i ) {
- return function( value ) {
- pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
- deferred.notifyWith( promise, pValues );
- };
- }
- if ( length > 1 ) {
- for ( ; i < length; i++ ) {
- if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) {
- args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );
- } else {
- --count;
- }
- }
- if ( !count ) {
- deferred.resolveWith( deferred, args );
- }
- } else if ( deferred !== firstParam ) {
- deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
- }
- return promise;
- }
-});
-
-
-
-
-jQuery.support = (function() {
-
- var support,
- all,
- a,
- select,
- opt,
- input,
- marginDiv,
- fragment,
- tds,
- events,
- eventName,
- i,
- isSupported,
- div = document.createElement( "div" ),
- documentElement = document.documentElement;
-
- // Preliminary tests
- div.setAttribute("className", "t");
- div.innerHTML = " a ";
-
- all = div.getElementsByTagName( "*" );
- a = div.getElementsByTagName( "a" )[ 0 ];
-
- // Can't get basic test support
- if ( !all || !all.length || !a ) {
- return {};
- }
-
- // First batch of supports tests
- select = document.createElement( "select" );
- opt = select.appendChild( document.createElement("option") );
- input = div.getElementsByTagName( "input" )[ 0 ];
-
- support = {
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: ( div.firstChild.nodeType === 3 ),
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
-
- // Get the style information from getAttribute
- // (IE uses .cssText instead)
- style: /top/.test( a.getAttribute("style") ),
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: ( a.getAttribute("href") === "/a" ),
-
- // Make sure that element opacity exists
- // (IE uses filter instead)
- // Use a regex to work around a WebKit issue. See #5145
- opacity: /^0.55/.test( a.style.opacity ),
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
-
- // Make sure that if no value is specified for a checkbox
- // that it defaults to "on".
- // (WebKit defaults to "" instead)
- checkOn: ( input.value === "on" ),
-
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- optSelected: opt.selected,
-
- // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
- getSetAttribute: div.className !== "t",
-
- // Tests for enctype support on a form(#6743)
- enctype: !!document.createElement("form").enctype,
-
- // Makes sure cloning an html5 element does not cause problems
- // Where outerHTML is undefined, this still works
- html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>",
-
- // Will be defined later
- submitBubbles: true,
- changeBubbles: true,
- focusinBubbles: false,
- deleteExpando: true,
- noCloneEvent: true,
- inlineBlockNeedsLayout: false,
- shrinkWrapBlocks: false,
- reliableMarginRight: true
- };
-
- // Make sure checked status is properly cloned
- input.checked = true;
- support.noCloneChecked = input.cloneNode( true ).checked;
-
- // Make sure that the options inside disabled selects aren't marked as disabled
- // (WebKit marks them as disabled)
- select.disabled = true;
- support.optDisabled = !opt.disabled;
-
- // Test to see if it's possible to delete an expando from an element
- // Fails in Internet Explorer
- try {
- delete div.test;
- } catch( e ) {
- support.deleteExpando = false;
- }
-
- if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
- div.attachEvent( "onclick", function() {
- // Cloning a node shouldn't copy over any
- // bound event handlers (IE does this)
- support.noCloneEvent = false;
- });
- div.cloneNode( true ).fireEvent( "onclick" );
- }
-
- // Check if a radio maintains its value
- // after being appended to the DOM
- input = document.createElement("input");
- input.value = "t";
- input.setAttribute("type", "radio");
- support.radioValue = input.value === "t";
-
- input.setAttribute("checked", "checked");
- div.appendChild( input );
- fragment = document.createDocumentFragment();
- fragment.appendChild( div.lastChild );
-
- // WebKit doesn't clone checked state correctly in fragments
- support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
- // Check if a disconnected checkbox will retain its checked
- // value of true after appended to the DOM (IE6/7)
- support.appendChecked = input.checked;
-
- fragment.removeChild( input );
- fragment.appendChild( div );
-
- div.innerHTML = "";
-
- // Check if div with explicit width and no margin-right incorrectly
- // gets computed margin-right based on width of container. For more
- // info see bug #3333
- // Fails in WebKit before Feb 2011 nightlies
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- if ( window.getComputedStyle ) {
- marginDiv = document.createElement( "div" );
- marginDiv.style.width = "0";
- marginDiv.style.marginRight = "0";
- div.style.width = "2px";
- div.appendChild( marginDiv );
- support.reliableMarginRight =
- ( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;
- }
-
- // Technique from Juriy Zaytsev
- // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
- // We only care about the case where non-standard event systems
- // are used, namely in IE. Short-circuiting here helps us to
- // avoid an eval call (in setAttribute) which can cause CSP
- // to go haywire. See: https://developer.mozilla.org/en/Security/CSP
- if ( div.attachEvent ) {
- for( i in {
- submit: 1,
- change: 1,
- focusin: 1
- }) {
- eventName = "on" + i;
- isSupported = ( eventName in div );
- if ( !isSupported ) {
- div.setAttribute( eventName, "return;" );
- isSupported = ( typeof div[ eventName ] === "function" );
- }
- support[ i + "Bubbles" ] = isSupported;
- }
- }
-
- fragment.removeChild( div );
-
- // Null elements to avoid leaks in IE
- fragment = select = opt = marginDiv = div = input = null;
-
- // Run tests that need a body at doc ready
- jQuery(function() {
- var container, outer, inner, table, td, offsetSupport,
- conMarginTop, ptlm, vb, style, html,
- body = document.getElementsByTagName("body")[0];
-
- if ( !body ) {
- // Return for frameset docs that don't have a body
- return;
- }
-
- conMarginTop = 1;
- ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";
- vb = "visibility:hidden;border:0;";
- style = "style='" + ptlm + "border:5px solid #000;padding:0;'";
- html = "" +
- "";
-
- container = document.createElement("div");
- container.style.cssText = vb + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px";
- body.insertBefore( container, body.firstChild );
-
- // Construct the test element
- div = document.createElement("div");
- container.appendChild( div );
-
- // Check if table cells still have offsetWidth/Height when they are set
- // to display:none and there are still other visible table cells in a
- // table row; if so, offsetWidth/Height are not reliable for use when
- // determining if an element has been hidden directly using
- // display:none (it is still safe to use offsets if a parent element is
- // hidden; don safety goggles and see bug #4512 for more information).
- // (only IE 8 fails this test)
- div.innerHTML = "";
- tds = div.getElementsByTagName( "td" );
- isSupported = ( tds[ 0 ].offsetHeight === 0 );
-
- tds[ 0 ].style.display = "";
- tds[ 1 ].style.display = "none";
-
- // Check if empty table cells still have offsetWidth/Height
- // (IE <= 8 fail this test)
- support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
-
- // Figure out if the W3C box model works as expected
- div.innerHTML = "";
- div.style.width = div.style.paddingLeft = "1px";
- jQuery.boxModel = support.boxModel = div.offsetWidth === 2;
-
- if ( typeof div.style.zoom !== "undefined" ) {
- // Check if natively block-level elements act like inline-block
- // elements when setting their display to 'inline' and giving
- // them layout
- // (IE < 8 does this)
- div.style.display = "inline";
- div.style.zoom = 1;
- support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 );
-
- // Check if elements with layout shrink-wrap their children
- // (IE 6 does this)
- div.style.display = "";
- div.innerHTML = "
";
- support.shrinkWrapBlocks = ( div.offsetWidth !== 2 );
- }
-
- div.style.cssText = ptlm + vb;
- div.innerHTML = html;
-
- outer = div.firstChild;
- inner = outer.firstChild;
- td = outer.nextSibling.firstChild.firstChild;
-
- offsetSupport = {
- doesNotAddBorder: ( inner.offsetTop !== 5 ),
- doesAddBorderForTableAndCells: ( td.offsetTop === 5 )
- };
-
- inner.style.position = "fixed";
- inner.style.top = "20px";
-
- // safari subtracts parent border width here which is 5px
- offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 );
- inner.style.position = inner.style.top = "";
-
- outer.style.overflow = "hidden";
- outer.style.position = "relative";
-
- offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );
- offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );
-
- body.removeChild( container );
- div = container = null;
-
- jQuery.extend( support, offsetSupport );
- });
-
- return support;
-})();
-
-
-
-
-var rbrace = /^(?:\{.*\}|\[.*\])$/,
- rmultiDash = /([A-Z])/g;
-
-jQuery.extend({
- cache: {},
-
- // Please use with caution
- uuid: 0,
-
- // Unique for each copy of jQuery on the page
- // Non-digits removed to match rinlinejQuery
- expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
-
- // The following elements throw uncatchable exceptions if you
- // attempt to add expando properties to them.
- noData: {
- "embed": true,
- // Ban all objects except for Flash (which handle expandos)
- "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
- "applet": true
- },
-
- hasData: function( elem ) {
- elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
- return !!elem && !isEmptyDataObject( elem );
- },
-
- data: function( elem, name, data, pvt /* Internal Use Only */ ) {
- if ( !jQuery.acceptData( elem ) ) {
- return;
- }
-
- var privateCache, thisCache, ret,
- internalKey = jQuery.expando,
- getByName = typeof name === "string",
-
- // We have to handle DOM nodes and JS objects differently because IE6-7
- // can't GC object references properly across the DOM-JS boundary
- isNode = elem.nodeType,
-
- // Only DOM nodes need the global jQuery cache; JS object data is
- // attached directly to the object so GC can occur automatically
- cache = isNode ? jQuery.cache : elem,
-
- // Only defining an ID for JS objects if its cache already exists allows
- // the code to shortcut on the same path as a DOM node with no cache
- id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,
- isEvents = name === "events";
-
- // Avoid doing any more work than we need to when trying to get data on an
- // object that has no data at all
- if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) {
- return;
- }
-
- if ( !id ) {
- // Only DOM nodes need a new unique ID for each element since their data
- // ends up in the global cache
- if ( isNode ) {
- elem[ internalKey ] = id = ++jQuery.uuid;
- } else {
- id = internalKey;
- }
- }
-
- if ( !cache[ id ] ) {
- cache[ id ] = {};
-
- // Avoids exposing jQuery metadata on plain JS objects when the object
- // is serialized using JSON.stringify
- if ( !isNode ) {
- cache[ id ].toJSON = jQuery.noop;
- }
- }
-
- // An object can be passed to jQuery.data instead of a key/value pair; this gets
- // shallow copied over onto the existing cache
- if ( typeof name === "object" || typeof name === "function" ) {
- if ( pvt ) {
- cache[ id ] = jQuery.extend( cache[ id ], name );
- } else {
- cache[ id ].data = jQuery.extend( cache[ id ].data, name );
- }
- }
-
- privateCache = thisCache = cache[ id ];
-
- // jQuery data() is stored in a separate object inside the object's internal data
- // cache in order to avoid key collisions between internal data and user-defined
- // data.
- if ( !pvt ) {
- if ( !thisCache.data ) {
- thisCache.data = {};
- }
-
- thisCache = thisCache.data;
- }
-
- if ( data !== undefined ) {
- thisCache[ jQuery.camelCase( name ) ] = data;
- }
-
- // Users should not attempt to inspect the internal events object using jQuery.data,
- // it is undocumented and subject to change. But does anyone listen? No.
- if ( isEvents && !thisCache[ name ] ) {
- return privateCache.events;
- }
-
- // Check for both converted-to-camel and non-converted data property names
- // If a data property was specified
- if ( getByName ) {
-
- // First Try to find as-is property data
- ret = thisCache[ name ];
-
- // Test for null|undefined property data
- if ( ret == null ) {
-
- // Try to find the camelCased property
- ret = thisCache[ jQuery.camelCase( name ) ];
- }
- } else {
- ret = thisCache;
- }
-
- return ret;
- },
-
- removeData: function( elem, name, pvt /* Internal Use Only */ ) {
- if ( !jQuery.acceptData( elem ) ) {
- return;
- }
-
- var thisCache, i, l,
-
- // Reference to internal data cache key
- internalKey = jQuery.expando,
-
- isNode = elem.nodeType,
-
- // See jQuery.data for more information
- cache = isNode ? jQuery.cache : elem,
-
- // See jQuery.data for more information
- id = isNode ? elem[ internalKey ] : internalKey;
-
- // If there is already no cache entry for this object, there is no
- // purpose in continuing
- if ( !cache[ id ] ) {
- return;
- }
-
- if ( name ) {
-
- thisCache = pvt ? cache[ id ] : cache[ id ].data;
-
- if ( thisCache ) {
-
- // Support array or space separated string names for data keys
- if ( !jQuery.isArray( name ) ) {
-
- // try the string as a key before any manipulation
- if ( name in thisCache ) {
- name = [ name ];
- } else {
-
- // split the camel cased version by spaces unless a key with the spaces exists
- name = jQuery.camelCase( name );
- if ( name in thisCache ) {
- name = [ name ];
- } else {
- name = name.split( " " );
- }
- }
- }
-
- for ( i = 0, l = name.length; i < l; i++ ) {
- delete thisCache[ name[i] ];
- }
-
- // If there is no data left in the cache, we want to continue
- // and let the cache object itself get destroyed
- if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
- return;
- }
- }
- }
-
- // See jQuery.data for more information
- if ( !pvt ) {
- delete cache[ id ].data;
-
- // Don't destroy the parent cache unless the internal data object
- // had been the only thing left in it
- if ( !isEmptyDataObject(cache[ id ]) ) {
- return;
- }
- }
-
- // Browsers that fail expando deletion also refuse to delete expandos on
- // the window, but it will allow it on all other JS objects; other browsers
- // don't care
- // Ensure that `cache` is not a window object #10080
- if ( jQuery.support.deleteExpando || !cache.setInterval ) {
- delete cache[ id ];
- } else {
- cache[ id ] = null;
- }
-
- // We destroyed the cache and need to eliminate the expando on the node to avoid
- // false lookups in the cache for entries that no longer exist
- if ( isNode ) {
- // IE does not allow us to delete expando properties from nodes,
- // nor does it have a removeAttribute function on Document nodes;
- // we must handle all of these cases
- if ( jQuery.support.deleteExpando ) {
- delete elem[ internalKey ];
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( internalKey );
- } else {
- elem[ internalKey ] = null;
- }
- }
- },
-
- // For internal use only.
- _data: function( elem, name, data ) {
- return jQuery.data( elem, name, data, true );
- },
-
- // A method for determining if a DOM node can handle the data expando
- acceptData: function( elem ) {
- if ( elem.nodeName ) {
- var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
-
- if ( match ) {
- return !(match === true || elem.getAttribute("classid") !== match);
- }
- }
-
- return true;
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ) {
- var parts, attr, name,
- data = null;
-
- if ( typeof key === "undefined" ) {
- if ( this.length ) {
- data = jQuery.data( this[0] );
-
- if ( this[0].nodeType === 1 && !jQuery._data( this[0], "parsedAttrs" ) ) {
- attr = this[0].attributes;
- for ( var i = 0, l = attr.length; i < l; i++ ) {
- name = attr[i].name;
-
- if ( name.indexOf( "data-" ) === 0 ) {
- name = jQuery.camelCase( name.substring(5) );
-
- dataAttr( this[0], name, data[ name ] );
- }
- }
- jQuery._data( this[0], "parsedAttrs", true );
- }
- }
-
- return data;
-
- } else if ( typeof key === "object" ) {
- return this.each(function() {
- jQuery.data( this, key );
- });
- }
-
- parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- // Try to fetch any internally stored data first
- if ( data === undefined && this.length ) {
- data = jQuery.data( this[0], key );
- data = dataAttr( this[0], key, data );
- }
-
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
-
- } else {
- return this.each(function() {
- var self = jQuery( this ),
- args = [ parts[0], value ];
-
- self.triggerHandler( "setData" + parts[1] + "!", args );
- jQuery.data( this, key, value );
- self.triggerHandler( "changeData" + parts[1] + "!", args );
- });
- }
- },
-
- removeData: function( key ) {
- return this.each(function() {
- jQuery.removeData( this, key );
- });
- }
-});
-
-function dataAttr( elem, key, data ) {
- // If nothing was found internally, try to fetch any
- // data from the HTML5 data-* attribute
- if ( data === undefined && elem.nodeType === 1 ) {
-
- var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
-
- data = elem.getAttribute( name );
-
- if ( typeof data === "string" ) {
- try {
- data = data === "true" ? true :
- data === "false" ? false :
- data === "null" ? null :
- jQuery.isNumeric( data ) ? parseFloat( data ) :
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
- data;
- } catch( e ) {}
-
- // Make sure we set the data so it isn't changed later
- jQuery.data( elem, key, data );
-
- } else {
- data = undefined;
- }
- }
-
- return data;
-}
-
-// checks a cache object for emptiness
-function isEmptyDataObject( obj ) {
- for ( var name in obj ) {
-
- // if the public data object is empty, the private is still empty
- if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
- continue;
- }
- if ( name !== "toJSON" ) {
- return false;
- }
- }
-
- return true;
-}
-
-
-
-
-function handleQueueMarkDefer( elem, type, src ) {
- var deferDataKey = type + "defer",
- queueDataKey = type + "queue",
- markDataKey = type + "mark",
- defer = jQuery._data( elem, deferDataKey );
- if ( defer &&
- ( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&
- ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {
- // Give room for hard-coded callbacks to fire first
- // and eventually mark/queue something else on the element
- setTimeout( function() {
- if ( !jQuery._data( elem, queueDataKey ) &&
- !jQuery._data( elem, markDataKey ) ) {
- jQuery.removeData( elem, deferDataKey, true );
- defer.fire();
- }
- }, 0 );
- }
-}
-
-jQuery.extend({
-
- _mark: function( elem, type ) {
- if ( elem ) {
- type = ( type || "fx" ) + "mark";
- jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 );
- }
- },
-
- _unmark: function( force, elem, type ) {
- if ( force !== true ) {
- type = elem;
- elem = force;
- force = false;
- }
- if ( elem ) {
- type = type || "fx";
- var key = type + "mark",
- count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 );
- if ( count ) {
- jQuery._data( elem, key, count );
- } else {
- jQuery.removeData( elem, key, true );
- handleQueueMarkDefer( elem, type, "mark" );
- }
- }
- },
-
- queue: function( elem, type, data ) {
- var q;
- if ( elem ) {
- type = ( type || "fx" ) + "queue";
- q = jQuery._data( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( data ) {
- if ( !q || jQuery.isArray(data) ) {
- q = jQuery._data( elem, type, jQuery.makeArray(data) );
- } else {
- q.push( data );
- }
- }
- return q || [];
- }
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ),
- fn = queue.shift(),
- hooks = {};
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- }
-
- if ( fn ) {
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift( "inprogress" );
- }
-
- jQuery._data( elem, type + ".run", hooks );
- fn.call( elem, function() {
- jQuery.dequeue( elem, type );
- }, hooks );
- }
-
- if ( !queue.length ) {
- jQuery.removeData( elem, type + "queue " + type + ".run", true );
- handleQueueMarkDefer( elem, type, "queue" );
- }
- }
-});
-
-jQuery.fn.extend({
- queue: function( type, data ) {
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined ) {
- return jQuery.queue( this[0], type );
- }
- return this.each(function() {
- var queue = jQuery.queue( this, type, data );
-
- if ( type === "fx" && queue[0] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- });
- },
- dequeue: function( type ) {
- return this.each(function() {
- jQuery.dequeue( this, type );
- });
- },
- // Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
- delay: function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
- type = type || "fx";
-
- return this.queue( type, function( next, hooks ) {
- var timeout = setTimeout( next, time );
- hooks.stop = function() {
- clearTimeout( timeout );
- };
- });
- },
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- },
- // Get a promise resolved when queues of a certain type
- // are emptied (fx is the type by default)
- promise: function( type, object ) {
- if ( typeof type !== "string" ) {
- object = type;
- type = undefined;
- }
- type = type || "fx";
- var defer = jQuery.Deferred(),
- elements = this,
- i = elements.length,
- count = 1,
- deferDataKey = type + "defer",
- queueDataKey = type + "queue",
- markDataKey = type + "mark",
- tmp;
- function resolve() {
- if ( !( --count ) ) {
- defer.resolveWith( elements, [ elements ] );
- }
- }
- while( i-- ) {
- if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
- ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
- jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
- jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {
- count++;
- tmp.add( resolve );
- }
- }
- resolve();
- return defer.promise();
- }
-});
-
-
-
-
-var rclass = /[\n\t\r]/g,
- rspace = /\s+/,
- rreturn = /\r/g,
- rtype = /^(?:button|input)$/i,
- rfocusable = /^(?:button|input|object|select|textarea)$/i,
- rclickable = /^a(?:rea)?$/i,
- rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
- getSetAttribute = jQuery.support.getSetAttribute,
- nodeHook, boolHook, fixSpecified;
-
-jQuery.fn.extend({
- attr: function( name, value ) {
- return jQuery.access( this, name, value, true, jQuery.attr );
- },
-
- removeAttr: function( name ) {
- return this.each(function() {
- jQuery.removeAttr( this, name );
- });
- },
-
- prop: function( name, value ) {
- return jQuery.access( this, name, value, true, jQuery.prop );
- },
-
- removeProp: function( name ) {
- name = jQuery.propFix[ name ] || name;
- return this.each(function() {
- // try/catch handles cases where IE balks (such as removing a property on window)
- try {
- this[ name ] = undefined;
- delete this[ name ];
- } catch( e ) {}
- });
- },
-
- addClass: function( value ) {
- var classNames, i, l, elem,
- setClass, c, cl;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).addClass( value.call(this, j, this.className) );
- });
- }
-
- if ( value && typeof value === "string" ) {
- classNames = value.split( rspace );
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- elem = this[ i ];
-
- if ( elem.nodeType === 1 ) {
- if ( !elem.className && classNames.length === 1 ) {
- elem.className = value;
-
- } else {
- setClass = " " + elem.className + " ";
-
- for ( c = 0, cl = classNames.length; c < cl; c++ ) {
- if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {
- setClass += classNames[ c ] + " ";
- }
- }
- elem.className = jQuery.trim( setClass );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- var classNames, i, l, elem, className, c, cl;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).removeClass( value.call(this, j, this.className) );
- });
- }
-
- if ( (value && typeof value === "string") || value === undefined ) {
- classNames = ( value || "" ).split( rspace );
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- elem = this[ i ];
-
- if ( elem.nodeType === 1 && elem.className ) {
- if ( value ) {
- className = (" " + elem.className + " ").replace( rclass, " " );
- for ( c = 0, cl = classNames.length; c < cl; c++ ) {
- className = className.replace(" " + classNames[ c ] + " ", " ");
- }
- elem.className = jQuery.trim( className );
-
- } else {
- elem.className = "";
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value,
- isBool = typeof stateVal === "boolean";
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( i ) {
- jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
- });
- }
-
- return this.each(function() {
- if ( type === "string" ) {
- // toggle individual class names
- var className,
- i = 0,
- self = jQuery( this ),
- state = stateVal,
- classNames = value.split( rspace );
-
- while ( (className = classNames[ i++ ]) ) {
- // check each className given, space seperated list
- state = isBool ? state : !self.hasClass( className );
- self[ state ? "addClass" : "removeClass" ]( className );
- }
-
- } else if ( type === "undefined" || type === "boolean" ) {
- if ( this.className ) {
- // store className if set
- jQuery._data( this, "__className__", this.className );
- }
-
- // toggle whole className
- this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
- }
- });
- },
-
- hasClass: function( selector ) {
- var className = " " + selector + " ",
- i = 0,
- l = this.length;
- for ( ; i < l; i++ ) {
- if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
- return true;
- }
- }
-
- return false;
- },
-
- val: function( value ) {
- var hooks, ret, isFunction,
- elem = this[0];
-
- if ( !arguments.length ) {
- if ( elem ) {
- hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
-
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
- return ret;
- }
-
- ret = elem.value;
-
- return typeof ret === "string" ?
- // handle most common string cases
- ret.replace(rreturn, "") :
- // handle cases where value is null/undef or number
- ret == null ? "" : ret;
- }
-
- return;
- }
-
- isFunction = jQuery.isFunction( value );
-
- return this.each(function( i ) {
- var self = jQuery(this), val;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call( this, i, self.val() );
- } else {
- val = value;
- }
-
- // Treat null/undefined as ""; convert numbers to string
- if ( val == null ) {
- val = "";
- } else if ( typeof val === "number" ) {
- val += "";
- } else if ( jQuery.isArray( val ) ) {
- val = jQuery.map(val, function ( value ) {
- return value == null ? "" : value + "";
- });
- }
-
- hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ];
-
- // If set returns undefined, fall back to normal setting
- if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
- this.value = val;
- }
- });
- }
-});
-
-jQuery.extend({
- valHooks: {
- option: {
- get: function( elem ) {
- // attributes.value is undefined in Blackberry 4.7 but
- // uses .value. See #6932
- var val = elem.attributes.value;
- return !val || val.specified ? elem.value : elem.text;
- }
- },
- select: {
- get: function( elem ) {
- var value, i, max, option,
- index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type === "select-one";
-
- // Nothing was selected
- if ( index < 0 ) {
- return null;
- }
-
- // Loop through all the selected options
- i = one ? index : 0;
- max = one ? index + 1 : options.length;
- for ( ; i < max; i++ ) {
- option = options[ i ];
-
- // Don't return options that are disabled or in a disabled optgroup
- if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
- (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
-
- // Get the specific value for the option
- value = jQuery( option ).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
- if ( one && !values.length && options.length ) {
- return jQuery( options[ index ] ).val();
- }
-
- return values;
- },
-
- set: function( elem, value ) {
- var values = jQuery.makeArray( value );
-
- jQuery(elem).find("option").each(function() {
- this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
- });
-
- if ( !values.length ) {
- elem.selectedIndex = -1;
- }
- return values;
- }
- }
- },
-
- attrFn: {
- val: true,
- css: true,
- html: true,
- text: true,
- data: true,
- width: true,
- height: true,
- offset: true
- },
-
- attr: function( elem, name, value, pass ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
-
- // don't get/set attributes on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- if ( pass && name in jQuery.attrFn ) {
- return jQuery( elem )[ name ]( value );
- }
-
- // Fallback to prop when attributes are not supported
- if ( typeof elem.getAttribute === "undefined" ) {
- return jQuery.prop( elem, name, value );
- }
-
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
-
- // All attributes are lowercase
- // Grab necessary hook if one is defined
- if ( notxml ) {
- name = name.toLowerCase();
- hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
- }
-
- if ( value !== undefined ) {
-
- if ( value === null ) {
- jQuery.removeAttr( elem, name );
- return;
-
- } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
-
- } else {
- elem.setAttribute( name, "" + value );
- return value;
- }
-
- } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
-
- } else {
-
- ret = elem.getAttribute( name );
-
- // Non-existent attributes return null, we normalize to undefined
- return ret === null ?
- undefined :
- ret;
- }
- },
-
- removeAttr: function( elem, value ) {
- var propName, attrNames, name, l,
- i = 0;
-
- if ( value && elem.nodeType === 1 ) {
- attrNames = value.toLowerCase().split( rspace );
- l = attrNames.length;
-
- for ( ; i < l; i++ ) {
- name = attrNames[ i ];
-
- if ( name ) {
- propName = jQuery.propFix[ name ] || name;
-
- // See #9699 for explanation of this approach (setting first, then removal)
- jQuery.attr( elem, name, "" );
- elem.removeAttribute( getSetAttribute ? name : propName );
-
- // Set corresponding property to false for boolean attributes
- if ( rboolean.test( name ) && propName in elem ) {
- elem[ propName ] = false;
- }
- }
- }
- }
- },
-
- attrHooks: {
- type: {
- set: function( elem, value ) {
- // We can't allow the type property to be changed (since it causes problems in IE)
- if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
- jQuery.error( "type property can't be changed" );
- } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
- // Setting the type on a radio button after the value resets the value in IE6-9
- // Reset value to it's default in case type is set after value
- // This is for element creation
- var val = elem.value;
- elem.setAttribute( "type", value );
- if ( val ) {
- elem.value = val;
- }
- return value;
- }
- }
- },
- // Use the value property for back compat
- // Use the nodeHook for button elements in IE6/7 (#1954)
- value: {
- get: function( elem, name ) {
- if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
- return nodeHook.get( elem, name );
- }
- return name in elem ?
- elem.value :
- null;
- },
- set: function( elem, value, name ) {
- if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
- return nodeHook.set( elem, value, name );
- }
- // Does not return so that setAttribute is also used
- elem.value = value;
- }
- }
- },
-
- propFix: {
- tabindex: "tabIndex",
- readonly: "readOnly",
- "for": "htmlFor",
- "class": "className",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- cellpadding: "cellPadding",
- rowspan: "rowSpan",
- colspan: "colSpan",
- usemap: "useMap",
- frameborder: "frameBorder",
- contenteditable: "contentEditable"
- },
-
- prop: function( elem, name, value ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
-
- // don't get/set properties on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
-
- if ( notxml ) {
- // Fix name and attach hooks
- name = jQuery.propFix[ name ] || name;
- hooks = jQuery.propHooks[ name ];
- }
-
- if ( value !== undefined ) {
- if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
-
- } else {
- return ( elem[ name ] = value );
- }
-
- } else {
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
-
- } else {
- return elem[ name ];
- }
- }
- },
-
- propHooks: {
- tabIndex: {
- get: function( elem ) {
- // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- var attributeNode = elem.getAttributeNode("tabindex");
-
- return attributeNode && attributeNode.specified ?
- parseInt( attributeNode.value, 10 ) :
- rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
- 0 :
- undefined;
- }
- }
- }
-});
-
-// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)
-jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex;
-
-// Hook for boolean attributes
-boolHook = {
- get: function( elem, name ) {
- // Align boolean attributes with corresponding properties
- // Fall back to attribute presence where some booleans are not supported
- var attrNode,
- property = jQuery.prop( elem, name );
- return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
- name.toLowerCase() :
- undefined;
- },
- set: function( elem, value, name ) {
- var propName;
- if ( value === false ) {
- // Remove boolean attributes when set to false
- jQuery.removeAttr( elem, name );
- } else {
- // value is true since we know at this point it's type boolean and not false
- // Set boolean attributes to the same name and set the DOM property
- propName = jQuery.propFix[ name ] || name;
- if ( propName in elem ) {
- // Only set the IDL specifically if it already exists on the element
- elem[ propName ] = true;
- }
-
- elem.setAttribute( name, name.toLowerCase() );
- }
- return name;
- }
-};
-
-// IE6/7 do not support getting/setting some attributes with get/setAttribute
-if ( !getSetAttribute ) {
-
- fixSpecified = {
- name: true,
- id: true
- };
-
- // Use this for any attribute in IE6/7
- // This fixes almost every IE6/7 issue
- nodeHook = jQuery.valHooks.button = {
- get: function( elem, name ) {
- var ret;
- ret = elem.getAttributeNode( name );
- return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?
- ret.nodeValue :
- undefined;
- },
- set: function( elem, value, name ) {
- // Set the existing or create a new attribute node
- var ret = elem.getAttributeNode( name );
- if ( !ret ) {
- ret = document.createAttribute( name );
- elem.setAttributeNode( ret );
- }
- return ( ret.nodeValue = value + "" );
- }
- };
-
- // Apply the nodeHook to tabindex
- jQuery.attrHooks.tabindex.set = nodeHook.set;
-
- // Set width and height to auto instead of 0 on empty string( Bug #8150 )
- // This is for removals
- jQuery.each([ "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- set: function( elem, value ) {
- if ( value === "" ) {
- elem.setAttribute( name, "auto" );
- return value;
- }
- }
- });
- });
-
- // Set contenteditable to false on removals(#10429)
- // Setting to empty string throws an error as an invalid value
- jQuery.attrHooks.contenteditable = {
- get: nodeHook.get,
- set: function( elem, value, name ) {
- if ( value === "" ) {
- value = "false";
- }
- nodeHook.set( elem, value, name );
- }
- };
-}
-
-
-// Some attributes require a special call on IE
-if ( !jQuery.support.hrefNormalized ) {
- jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- get: function( elem ) {
- var ret = elem.getAttribute( name, 2 );
- return ret === null ? undefined : ret;
- }
- });
- });
-}
-
-if ( !jQuery.support.style ) {
- jQuery.attrHooks.style = {
- get: function( elem ) {
- // Return undefined in the case of empty string
- // Normalize to lowercase since IE uppercases css property names
- return elem.style.cssText.toLowerCase() || undefined;
- },
- set: function( elem, value ) {
- return ( elem.style.cssText = "" + value );
- }
- };
-}
-
-// Safari mis-reports the default selected property of an option
-// Accessing the parent's selectedIndex property fixes it
-if ( !jQuery.support.optSelected ) {
- jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
- get: function( elem ) {
- var parent = elem.parentNode;
-
- if ( parent ) {
- parent.selectedIndex;
-
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- return null;
- }
- });
-}
-
-// IE6/7 call enctype encoding
-if ( !jQuery.support.enctype ) {
- jQuery.propFix.enctype = "encoding";
-}
-
-// Radios and checkboxes getter/setter
-if ( !jQuery.support.checkOn ) {
- jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = {
- get: function( elem ) {
- // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
- return elem.getAttribute("value") === null ? "on" : elem.value;
- }
- };
- });
-}
-jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
- set: function( elem, value ) {
- if ( jQuery.isArray( value ) ) {
- return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
- }
- }
- });
-});
-
-
-
-
-var rformElems = /^(?:textarea|input|select)$/i,
- rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
- rhoverHack = /\bhover(\.\S+)?\b/,
- rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|contextmenu)|click/,
- rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
- rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
- quickParse = function( selector ) {
- var quick = rquickIs.exec( selector );
- if ( quick ) {
- // 0 1 2 3
- // [ _, tag, id, class ]
- quick[1] = ( quick[1] || "" ).toLowerCase();
- quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" );
- }
- return quick;
- },
- quickIs = function( elem, m ) {
- var attrs = elem.attributes || {};
- return (
- (!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
- (!m[2] || (attrs.id || {}).value === m[2]) &&
- (!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))
- );
- },
- hoverHack = function( events ) {
- return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
- };
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
- add: function( elem, types, handler, data, selector ) {
-
- var elemData, eventHandle, events,
- t, tns, type, namespaces, handleObj,
- handleObjIn, quick, handlers, special;
-
- // Don't attach events to noData or text/comment nodes (allow plain objects tho)
- if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
- return;
- }
-
- // Caller can pass in an object of custom data in lieu of the handler
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- }
-
- // Make sure that the handler has a unique ID, used to find/remove it later
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure and main handler, if this is the first
- events = elemData.events;
- if ( !events ) {
- elemData.events = events = {};
- }
- eventHandle = elemData.handle;
- if ( !eventHandle ) {
- elemData.handle = eventHandle = function( e ) {
- // Discard the second event of a jQuery.event.trigger() and
- // when an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
- jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
- undefined;
- };
- // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
- eventHandle.elem = elem;
- }
-
- // Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- types = jQuery.trim( hoverHack(types) ).split( " " );
- for ( t = 0; t < types.length; t++ ) {
-
- tns = rtypenamespace.exec( types[t] ) || [];
- type = tns[1];
- namespaces = ( tns[2] || "" ).split( "." ).sort();
-
- // If event changes its type, use the special event handlers for the changed type
- special = jQuery.event.special[ type ] || {};
-
- // If selector defined, determine special event api type, otherwise given type
- type = ( selector ? special.delegateType : special.bindType ) || type;
-
- // Update special based on newly reset type
- special = jQuery.event.special[ type ] || {};
-
- // handleObj is passed to all event handlers
- handleObj = jQuery.extend({
- type: type,
- origType: tns[1],
- data: data,
- handler: handler,
- guid: handler.guid,
- selector: selector,
- quick: quickParse( selector ),
- namespace: namespaces.join(".")
- }, handleObjIn );
-
- // Init the event handler queue if we're the first
- handlers = events[ type ];
- if ( !handlers ) {
- handlers = events[ type ] = [];
- handlers.delegateCount = 0;
-
- // Only use addEventListener/attachEvent if the special events handler returns false
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
- // Bind the global event handler to the element
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle, false );
-
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add to the element's handler list, delegates in front
- if ( selector ) {
- handlers.splice( handlers.delegateCount++, 0, handleObj );
- } else {
- handlers.push( handleObj );
- }
-
- // Keep track of which events have ever been used, for event optimization
- jQuery.event.global[ type ] = true;
- }
-
- // Nullify elem to prevent memory leaks in IE
- elem = null;
- },
-
- global: {},
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, selector, mappedTypes ) {
-
- var elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
- t, tns, type, origType, namespaces, origCount,
- j, events, special, handle, eventType, handleObj;
-
- if ( !elemData || !(events = elemData.events) ) {
- return;
- }
-
- // Once for each type.namespace in types; type may be omitted
- types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
- for ( t = 0; t < types.length; t++ ) {
- tns = rtypenamespace.exec( types[t] ) || [];
- type = origType = tns[1];
- namespaces = tns[2];
-
- // Unbind all events (on this namespace, if provided) for the element
- if ( !type ) {
- for ( type in events ) {
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
- }
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
- type = ( selector? special.delegateType : special.bindType ) || type;
- eventType = events[ type ] || [];
- origCount = eventType.length;
- namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
-
- // Remove matching events
- for ( j = 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( ( mappedTypes || origType === handleObj.origType ) &&
- ( !handler || handler.guid === handleObj.guid ) &&
- ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
- ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
- eventType.splice( j--, 1 );
-
- if ( handleObj.selector ) {
- eventType.delegateCount--;
- }
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
- }
-
- // Remove generic event handler if we removed something and no more handlers exist
- // (avoids potential for endless recursion during removal of special event handlers)
- if ( eventType.length === 0 && origCount !== eventType.length ) {
- if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
- jQuery.removeEvent( elem, type, elemData.handle );
- }
-
- delete events[ type ];
- }
- }
-
- // Remove the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- handle = elemData.handle;
- if ( handle ) {
- handle.elem = null;
- }
-
- // removeData also checks for emptiness and clears the expando if empty
- // so use it instead of delete
- jQuery.removeData( elem, [ "events", "handle" ], true );
- }
- },
-
- // Events that are safe to short-circuit if no handlers are attached.
- // Native DOM events should not be added, they may have inline handlers.
- customEvent: {
- "getData": true,
- "setData": true,
- "changeData": true
- },
-
- trigger: function( event, data, elem, onlyHandlers ) {
- // Don't do events on text and comment nodes
- if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
- return;
- }
-
- // Event object or event type
- var type = event.type || event,
- namespaces = [],
- cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;
-
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
- return;
- }
-
- if ( type.indexOf( "!" ) >= 0 ) {
- // Exclusive events trigger only for the exact event (no namespaces)
- type = type.slice(0, -1);
- exclusive = true;
- }
-
- if ( type.indexOf( "." ) >= 0 ) {
- // Namespaced trigger; create a regexp to match event type in handle()
- namespaces = type.split(".");
- type = namespaces.shift();
- namespaces.sort();
- }
-
- if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
- // No jQuery handlers for this event type, and it can't have inline handlers
- return;
- }
-
- // Caller can pass in an Event, Object, or just an event type string
- event = typeof event === "object" ?
- // jQuery.Event object
- event[ jQuery.expando ] ? event :
- // Object literal
- new jQuery.Event( type, event ) :
- // Just the event type (string)
- new jQuery.Event( type );
-
- event.type = type;
- event.isTrigger = true;
- event.exclusive = exclusive;
- event.namespace = namespaces.join( "." );
- event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
- ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
-
- // Handle a global trigger
- if ( !elem ) {
-
- // TODO: Stop taunting the data cache; remove global events and always attach to document
- cache = jQuery.cache;
- for ( i in cache ) {
- if ( cache[ i ].events && cache[ i ].events[ type ] ) {
- jQuery.event.trigger( event, data, cache[ i ].handle.elem, true );
- }
- }
- return;
- }
-
- // Clean up the event in case it is being reused
- event.result = undefined;
- if ( !event.target ) {
- event.target = elem;
- }
-
- // Clone any incoming data and prepend the event, creating the handler arg list
- data = data != null ? jQuery.makeArray( data ) : [];
- data.unshift( event );
-
- // Allow special events to draw outside the lines
- special = jQuery.event.special[ type ] || {};
- if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
- return;
- }
-
- // Determine event propagation path in advance, per W3C events spec (#9951)
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
- eventPath = [[ elem, special.bindType || type ]];
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
- bubbleType = special.delegateType || type;
- cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
- old = null;
- for ( ; cur; cur = cur.parentNode ) {
- eventPath.push([ cur, bubbleType ]);
- old = cur;
- }
-
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
- if ( old && old === elem.ownerDocument ) {
- eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
- }
- }
-
- // Fire handlers on the event path
- for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {
-
- cur = eventPath[i][0];
- event.type = eventPath[i][1];
-
- handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
- if ( handle ) {
- handle.apply( cur, data );
- }
- // Note that this is a bare JS function and not a jQuery handler
- handle = ontype && cur[ ontype ];
- if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {
- event.preventDefault();
- }
- }
- event.type = type;
-
- // If nobody prevented the default action, do it now
- if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
- if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
- !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
-
- // Call a native DOM method on the target with the same name name as the event.
- // Can't use an .isFunction() check here because IE6/7 fails that test.
- // Don't do default actions on window, that's where global variables be (#6170)
- // IE<9 dies on focus/blur to hidden element (#1486)
- if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {
-
- // Don't re-trigger an onFOO event when we call its FOO() method
- old = elem[ ontype ];
-
- if ( old ) {
- elem[ ontype ] = null;
- }
-
- // Prevent re-triggering of the same event, since we already bubbled it above
- jQuery.event.triggered = type;
- elem[ type ]();
- jQuery.event.triggered = undefined;
-
- if ( old ) {
- elem[ ontype ] = old;
- }
- }
- }
- }
-
- return event.result;
- },
-
- dispatch: function( event ) {
-
- // Make a writable jQuery.Event from the native event object
- event = jQuery.event.fix( event || window.event );
-
- var handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),
- delegateCount = handlers.delegateCount,
- args = [].slice.call( arguments, 0 ),
- run_all = !event.exclusive && !event.namespace,
- handlerQueue = [],
- i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related;
-
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
- args[0] = event;
- event.delegateTarget = this;
-
- // Determine handlers that should run if there are delegated events
- // Avoid disabled elements in IE (#6911) and non-left-click bubbling in Firefox (#3861)
- if ( delegateCount && !event.target.disabled && !(event.button && event.type === "click") ) {
-
- // Pregenerate a single jQuery object for reuse with .is()
- jqcur = jQuery(this);
- jqcur.context = this.ownerDocument || this;
-
- for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
- selMatch = {};
- matches = [];
- jqcur[0] = cur;
- for ( i = 0; i < delegateCount; i++ ) {
- handleObj = handlers[ i ];
- sel = handleObj.selector;
-
- if ( selMatch[ sel ] === undefined ) {
- selMatch[ sel ] = (
- handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel )
- );
- }
- if ( selMatch[ sel ] ) {
- matches.push( handleObj );
- }
- }
- if ( matches.length ) {
- handlerQueue.push({ elem: cur, matches: matches });
- }
- }
- }
-
- // Add the remaining (directly-bound) handlers
- if ( handlers.length > delegateCount ) {
- handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
- }
-
- // Run delegates first; they may want to stop propagation beneath us
- for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
- matched = handlerQueue[ i ];
- event.currentTarget = matched.elem;
-
- for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
- handleObj = matched.matches[ j ];
-
- // Triggered event must either 1) be non-exclusive and have no namespace, or
- // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
- if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
-
- event.data = handleObj.data;
- event.handleObj = handleObj;
-
- ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
- .apply( matched.elem, args );
-
- if ( ret !== undefined ) {
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
- }
- }
- }
-
- return event.result;
- },
-
- // Includes some event props shared by KeyEvent and MouseEvent
- // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
- props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
-
- fixHooks: {},
-
- keyHooks: {
- props: "char charCode key keyCode".split(" "),
- filter: function( event, original ) {
-
- // Add which for key events
- if ( event.which == null ) {
- event.which = original.charCode != null ? original.charCode : original.keyCode;
- }
-
- return event;
- }
- },
-
- mouseHooks: {
- props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
- filter: function( event, original ) {
- var eventDoc, doc, body,
- button = original.button,
- fromElement = original.fromElement;
-
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && original.clientX != null ) {
- eventDoc = event.target.ownerDocument || document;
- doc = eventDoc.documentElement;
- body = eventDoc.body;
-
- event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
- event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
- }
-
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && fromElement ) {
- event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- // Note: button is not normalized, so don't use it
- if ( !event.which && button !== undefined ) {
- event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
- }
-
- return event;
- }
- },
-
- fix: function( event ) {
- if ( event[ jQuery.expando ] ) {
- return event;
- }
-
- // Create a writable copy of the event object and normalize some properties
- var i, prop,
- originalEvent = event,
- fixHook = jQuery.event.fixHooks[ event.type ] || {},
- copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
-
- event = jQuery.Event( originalEvent );
-
- for ( i = copy.length; i; ) {
- prop = copy[ --i ];
- event[ prop ] = originalEvent[ prop ];
- }
-
- // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
- if ( !event.target ) {
- event.target = originalEvent.srcElement || document;
- }
-
- // Target should not be a text node (#504, Safari)
- if ( event.target.nodeType === 3 ) {
- event.target = event.target.parentNode;
- }
-
- // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
- if ( event.metaKey === undefined ) {
- event.metaKey = event.ctrlKey;
- }
-
- return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
- },
-
- special: {
- ready: {
- // Make sure the ready event is setup
- setup: jQuery.bindReady
- },
-
- load: {
- // Prevent triggered image.load events from bubbling to window.load
- noBubble: true
- },
-
- focus: {
- delegateType: "focusin"
- },
- blur: {
- delegateType: "focusout"
- },
-
- beforeunload: {
- setup: function( data, namespaces, eventHandle ) {
- // We only want to do this special case on windows
- if ( jQuery.isWindow( this ) ) {
- this.onbeforeunload = eventHandle;
- }
- },
-
- teardown: function( namespaces, eventHandle ) {
- if ( this.onbeforeunload === eventHandle ) {
- this.onbeforeunload = null;
- }
- }
- }
- },
-
- simulate: function( type, elem, event, bubble ) {
- // Piggyback on a donor event to simulate a different one.
- // Fake originalEvent to avoid donor's stopPropagation, but if the
- // simulated event prevents default then we do the same on the donor.
- var e = jQuery.extend(
- new jQuery.Event(),
- event,
- { type: type,
- isSimulated: true,
- originalEvent: {}
- }
- );
- if ( bubble ) {
- jQuery.event.trigger( e, null, elem );
- } else {
- jQuery.event.dispatch.call( elem, e );
- }
- if ( e.isDefaultPrevented() ) {
- event.preventDefault();
- }
- }
-};
-
-// Some plugins are using, but it's undocumented/deprecated and will be removed.
-// The 1.7 special event interface should provide all the hooks needed now.
-jQuery.event.handle = jQuery.event.dispatch;
-
-jQuery.removeEvent = document.removeEventListener ?
- function( elem, type, handle ) {
- if ( elem.removeEventListener ) {
- elem.removeEventListener( type, handle, false );
- }
- } :
- function( elem, type, handle ) {
- if ( elem.detachEvent ) {
- elem.detachEvent( "on" + type, handle );
- }
- };
-
-jQuery.Event = function( src, props ) {
- // Allow instantiation without the 'new' keyword
- if ( !(this instanceof jQuery.Event) ) {
- return new jQuery.Event( src, props );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
-
- // Events bubbling up the document may have been marked as prevented
- // by a handler lower down the tree; reflect the correct value.
- this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
- src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
-
- // Event type
- } else {
- this.type = src;
- }
-
- // Put explicitly provided properties onto the event object
- if ( props ) {
- jQuery.extend( this, props );
- }
-
- // Create a timestamp if incoming event doesn't have one
- this.timeStamp = src && src.timeStamp || jQuery.now();
-
- // Mark it as fixed
- this[ jQuery.expando ] = true;
-};
-
-function returnFalse() {
- return false;
-}
-function returnTrue() {
- return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- preventDefault: function() {
- this.isDefaultPrevented = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
-
- // if preventDefault exists run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
-
- // otherwise set the returnValue property of the original event to false (IE)
- } else {
- e.returnValue = false;
- }
- },
- stopPropagation: function() {
- this.isPropagationStopped = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
- // if stopPropagation exists run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
- // otherwise set the cancelBubble property of the original event to true (IE)
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- },
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-jQuery.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- delegateType: fix,
- bindType: fix,
-
- handle: function( event ) {
- var target = this,
- related = event.relatedTarget,
- handleObj = event.handleObj,
- selector = handleObj.selector,
- ret;
-
- // For mousenter/leave call the handler if related is outside the target.
- // NB: No relatedTarget if the mouse left/entered the browser window
- if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
- event.type = handleObj.origType;
- ret = handleObj.handler.apply( this, arguments );
- event.type = fix;
- }
- return ret;
- }
- };
-});
-
-// IE submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
- jQuery.event.special.submit = {
- setup: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Lazy-add a submit handler when a descendant form may potentially be submitted
- jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
- // Node name check avoids a VML-related crash in IE (#9807)
- var elem = e.target,
- form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
- if ( form && !form._submit_attached ) {
- jQuery.event.add( form, "submit._submit", function( event ) {
- // If form was submitted by the user, bubble the event up the tree
- if ( this.parentNode && !event.isTrigger ) {
- jQuery.event.simulate( "submit", this.parentNode, event, true );
- }
- });
- form._submit_attached = true;
- }
- });
- // return undefined since we don't need an event listener
- },
-
- teardown: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
- jQuery.event.remove( this, "._submit" );
- }
- };
-}
-
-// IE change delegation and checkbox/radio fix
-if ( !jQuery.support.changeBubbles ) {
-
- jQuery.event.special.change = {
-
- setup: function() {
-
- if ( rformElems.test( this.nodeName ) ) {
- // IE doesn't fire change on a check/radio until blur; trigger it on click
- // after a propertychange. Eat the blur-change in special.change.handle.
- // This still fires onchange a second time for check/radio after blur.
- if ( this.type === "checkbox" || this.type === "radio" ) {
- jQuery.event.add( this, "propertychange._change", function( event ) {
- if ( event.originalEvent.propertyName === "checked" ) {
- this._just_changed = true;
- }
- });
- jQuery.event.add( this, "click._change", function( event ) {
- if ( this._just_changed && !event.isTrigger ) {
- this._just_changed = false;
- jQuery.event.simulate( "change", this, event, true );
- }
- });
- }
- return false;
- }
- // Delegated event; lazy-add a change handler on descendant inputs
- jQuery.event.add( this, "beforeactivate._change", function( e ) {
- var elem = e.target;
-
- if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
- jQuery.event.add( elem, "change._change", function( event ) {
- if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
- jQuery.event.simulate( "change", this.parentNode, event, true );
- }
- });
- elem._change_attached = true;
- }
- });
- },
-
- handle: function( event ) {
- var elem = event.target;
-
- // Swallow native change events from checkbox/radio, we already triggered them above
- if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
- return event.handleObj.handler.apply( this, arguments );
- }
- },
-
- teardown: function() {
- jQuery.event.remove( this, "._change" );
-
- return rformElems.test( this.nodeName );
- }
- };
-}
-
-// Create "bubbling" focus and blur events
-if ( !jQuery.support.focusinBubbles ) {
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
- // Attach a single capturing handler while someone wants focusin/focusout
- var attaches = 0,
- handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
- };
-
- jQuery.event.special[ fix ] = {
- setup: function() {
- if ( attaches++ === 0 ) {
- document.addEventListener( orig, handler, true );
- }
- },
- teardown: function() {
- if ( --attaches === 0 ) {
- document.removeEventListener( orig, handler, true );
- }
- }
- };
- });
-}
-
-jQuery.fn.extend({
-
- on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
- var origFn, type;
-
- // Types can be a map of types/handlers
- if ( typeof types === "object" ) {
- // ( types-Object, selector, data )
- if ( typeof selector !== "string" ) {
- // ( types-Object, data )
- data = selector;
- selector = undefined;
- }
- for ( type in types ) {
- this.on( type, selector, data, types[ type ], one );
- }
- return this;
- }
-
- if ( data == null && fn == null ) {
- // ( types, fn )
- fn = selector;
- data = selector = undefined;
- } else if ( fn == null ) {
- if ( typeof selector === "string" ) {
- // ( types, selector, fn )
- fn = data;
- data = undefined;
- } else {
- // ( types, data, fn )
- fn = data;
- data = selector;
- selector = undefined;
- }
- }
- if ( fn === false ) {
- fn = returnFalse;
- } else if ( !fn ) {
- return this;
- }
-
- if ( one === 1 ) {
- origFn = fn;
- fn = function( event ) {
- // Can use an empty set, since event contains the info
- jQuery().off( event );
- return origFn.apply( this, arguments );
- };
- // Use same guid so caller can remove using origFn
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
- }
- return this.each( function() {
- jQuery.event.add( this, types, fn, data, selector );
- });
- },
- one: function( types, selector, data, fn ) {
- return this.on.call( this, types, selector, data, fn, 1 );
- },
- off: function( types, selector, fn ) {
- if ( types && types.preventDefault && types.handleObj ) {
- // ( event ) dispatched jQuery.Event
- var handleObj = types.handleObj;
- jQuery( types.delegateTarget ).off(
- handleObj.namespace? handleObj.type + "." + handleObj.namespace : handleObj.type,
- handleObj.selector,
- handleObj.handler
- );
- return this;
- }
- if ( typeof types === "object" ) {
- // ( types-object [, selector] )
- for ( var type in types ) {
- this.off( type, selector, types[ type ] );
- }
- return this;
- }
- if ( selector === false || typeof selector === "function" ) {
- // ( types [, fn] )
- fn = selector;
- selector = undefined;
- }
- if ( fn === false ) {
- fn = returnFalse;
- }
- return this.each(function() {
- jQuery.event.remove( this, types, fn, selector );
- });
- },
-
- bind: function( types, data, fn ) {
- return this.on( types, null, data, fn );
- },
- unbind: function( types, fn ) {
- return this.off( types, null, fn );
- },
-
- live: function( types, data, fn ) {
- jQuery( this.context ).on( types, this.selector, data, fn );
- return this;
- },
- die: function( types, fn ) {
- jQuery( this.context ).off( types, this.selector || "**", fn );
- return this;
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.on( types, selector, data, fn );
- },
- undelegate: function( selector, types, fn ) {
- // ( namespace ) or ( selector, types [, fn] )
- return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );
- },
-
- trigger: function( type, data ) {
- return this.each(function() {
- jQuery.event.trigger( type, data, this );
- });
- },
- triggerHandler: function( type, data ) {
- if ( this[0] ) {
- return jQuery.event.trigger( type, data, this[0], true );
- }
- },
-
- toggle: function( fn ) {
- // Save reference to arguments for access in closure
- var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
-
- // link all the functions, so any of them can unbind this click handler
- toggler.guid = guid;
- while ( i < args.length ) {
- args[ i++ ].guid = guid;
- }
-
- return this.click( toggler );
- },
-
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-});
-
-jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( data, fn ) {
- if ( fn == null ) {
- fn = data;
- data = null;
- }
-
- return arguments.length > 0 ?
- this.on( name, null, data, fn ) :
- this.trigger( name );
- };
-
- if ( jQuery.attrFn ) {
- jQuery.attrFn[ name ] = true;
- }
-
- if ( rkeyEvent.test( name ) ) {
- jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
- }
-
- if ( rmouseEvent.test( name ) ) {
- jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
- }
-});
-
-
-
-/*!
- * Sizzle CSS Selector Engine
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
- expando = "sizcache" + (Math.random() + '').replace('.', ''),
- done = 0,
- toString = Object.prototype.toString,
- hasDuplicate = false,
- baseHasDuplicate = true,
- rBackslash = /\\/g,
- rReturn = /\r\n/g,
- rNonWord = /\W/;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-// Thus far that includes Google Chrome.
-[0, 0].sort(function() {
- baseHasDuplicate = false;
- return 0;
-});
-
-var Sizzle = function( selector, context, results, seed ) {
- results = results || [];
- context = context || document;
-
- var origContext = context;
-
- if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
- return [];
- }
-
- if ( !selector || typeof selector !== "string" ) {
- return results;
- }
-
- var m, set, checkSet, extra, ret, cur, pop, i,
- prune = true,
- contextXML = Sizzle.isXML( context ),
- parts = [],
- soFar = selector;
-
- // Reset the position of the chunker regexp (start from head)
- do {
- chunker.exec( "" );
- m = chunker.exec( soFar );
-
- if ( m ) {
- soFar = m[3];
-
- parts.push( m[1] );
-
- if ( m[2] ) {
- extra = m[3];
- break;
- }
- }
- } while ( m );
-
- if ( parts.length > 1 && origPOS.exec( selector ) ) {
-
- if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
- set = posProcess( parts[0] + parts[1], context, seed );
-
- } else {
- set = Expr.relative[ parts[0] ] ?
- [ context ] :
- Sizzle( parts.shift(), context );
-
- while ( parts.length ) {
- selector = parts.shift();
-
- if ( Expr.relative[ selector ] ) {
- selector += parts.shift();
- }
-
- set = posProcess( selector, set, seed );
- }
- }
-
- } else {
- // Take a shortcut and set the context if the root selector is an ID
- // (but not if it'll be faster if the inner selector is an ID)
- if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
- Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
-
- ret = Sizzle.find( parts.shift(), context, contextXML );
- context = ret.expr ?
- Sizzle.filter( ret.expr, ret.set )[0] :
- ret.set[0];
- }
-
- if ( context ) {
- ret = seed ?
- { expr: parts.pop(), set: makeArray(seed) } :
- Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
-
- set = ret.expr ?
- Sizzle.filter( ret.expr, ret.set ) :
- ret.set;
-
- if ( parts.length > 0 ) {
- checkSet = makeArray( set );
-
- } else {
- prune = false;
- }
-
- while ( parts.length ) {
- cur = parts.pop();
- pop = cur;
-
- if ( !Expr.relative[ cur ] ) {
- cur = "";
- } else {
- pop = parts.pop();
- }
-
- if ( pop == null ) {
- pop = context;
- }
-
- Expr.relative[ cur ]( checkSet, pop, contextXML );
- }
-
- } else {
- checkSet = parts = [];
- }
- }
-
- if ( !checkSet ) {
- checkSet = set;
- }
-
- if ( !checkSet ) {
- Sizzle.error( cur || selector );
- }
-
- if ( toString.call(checkSet) === "[object Array]" ) {
- if ( !prune ) {
- results.push.apply( results, checkSet );
-
- } else if ( context && context.nodeType === 1 ) {
- for ( i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
- results.push( set[i] );
- }
- }
-
- } else {
- for ( i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
- results.push( set[i] );
- }
- }
- }
-
- } else {
- makeArray( checkSet, results );
- }
-
- if ( extra ) {
- Sizzle( extra, origContext, results, seed );
- Sizzle.uniqueSort( results );
- }
-
- return results;
-};
-
-Sizzle.uniqueSort = function( results ) {
- if ( sortOrder ) {
- hasDuplicate = baseHasDuplicate;
- results.sort( sortOrder );
-
- if ( hasDuplicate ) {
- for ( var i = 1; i < results.length; i++ ) {
- if ( results[i] === results[ i - 1 ] ) {
- results.splice( i--, 1 );
- }
- }
- }
- }
-
- return results;
-};
-
-Sizzle.matches = function( expr, set ) {
- return Sizzle( expr, null, null, set );
-};
-
-Sizzle.matchesSelector = function( node, expr ) {
- return Sizzle( expr, null, null, [node] ).length > 0;
-};
-
-Sizzle.find = function( expr, context, isXML ) {
- var set, i, len, match, type, left;
-
- if ( !expr ) {
- return [];
- }
-
- for ( i = 0, len = Expr.order.length; i < len; i++ ) {
- type = Expr.order[i];
-
- if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
- left = match[1];
- match.splice( 1, 1 );
-
- if ( left.substr( left.length - 1 ) !== "\\" ) {
- match[1] = (match[1] || "").replace( rBackslash, "" );
- set = Expr.find[ type ]( match, context, isXML );
-
- if ( set != null ) {
- expr = expr.replace( Expr.match[ type ], "" );
- break;
- }
- }
- }
- }
-
- if ( !set ) {
- set = typeof context.getElementsByTagName !== "undefined" ?
- context.getElementsByTagName( "*" ) :
- [];
- }
-
- return { set: set, expr: expr };
-};
-
-Sizzle.filter = function( expr, set, inplace, not ) {
- var match, anyFound,
- type, found, item, filter, left,
- i, pass,
- old = expr,
- result = [],
- curLoop = set,
- isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
-
- while ( expr && set.length ) {
- for ( type in Expr.filter ) {
- if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
- filter = Expr.filter[ type ];
- left = match[1];
-
- anyFound = false;
-
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) === "\\" ) {
- continue;
- }
-
- if ( curLoop === result ) {
- result = [];
- }
-
- if ( Expr.preFilter[ type ] ) {
- match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
- if ( !match ) {
- anyFound = found = true;
-
- } else if ( match === true ) {
- continue;
- }
- }
-
- if ( match ) {
- for ( i = 0; (item = curLoop[i]) != null; i++ ) {
- if ( item ) {
- found = filter( item, match, i, curLoop );
- pass = not ^ found;
-
- if ( inplace && found != null ) {
- if ( pass ) {
- anyFound = true;
-
- } else {
- curLoop[i] = false;
- }
-
- } else if ( pass ) {
- result.push( item );
- anyFound = true;
- }
- }
- }
- }
-
- if ( found !== undefined ) {
- if ( !inplace ) {
- curLoop = result;
- }
-
- expr = expr.replace( Expr.match[ type ], "" );
-
- if ( !anyFound ) {
- return [];
- }
-
- break;
- }
- }
- }
-
- // Improper expression
- if ( expr === old ) {
- if ( anyFound == null ) {
- Sizzle.error( expr );
-
- } else {
- break;
- }
- }
-
- old = expr;
- }
-
- return curLoop;
-};
-
-Sizzle.error = function( msg ) {
- throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Utility function for retreiving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-var getText = Sizzle.getText = function( elem ) {
- var i, node,
- nodeType = elem.nodeType,
- ret = "";
-
- if ( nodeType ) {
- if ( nodeType === 1 || nodeType === 9 ) {
- // Use textContent || innerText for elements
- if ( typeof elem.textContent === 'string' ) {
- return elem.textContent;
- } else if ( typeof elem.innerText === 'string' ) {
- // Replace IE's carriage returns
- return elem.innerText.replace( rReturn, '' );
- } else {
- // Traverse it's children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling) {
- ret += getText( elem );
- }
- }
- } else if ( nodeType === 3 || nodeType === 4 ) {
- return elem.nodeValue;
- }
- } else {
-
- // If no nodeType, this is expected to be an array
- for ( i = 0; (node = elem[i]); i++ ) {
- // Do not traverse comment nodes
- if ( node.nodeType !== 8 ) {
- ret += getText( node );
- }
- }
- }
- return ret;
-};
-
-var Expr = Sizzle.selectors = {
- order: [ "ID", "NAME", "TAG" ],
-
- match: {
- ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
- CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
- CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- },
-
- leftMatch: {},
-
- attrMap: {
- "class": "className",
- "for": "htmlFor"
- },
-
- attrHandle: {
- href: function( elem ) {
- return elem.getAttribute( "href" );
- },
- type: function( elem ) {
- return elem.getAttribute( "type" );
- }
- },
-
- relative: {
- "+": function(checkSet, part){
- var isPartStr = typeof part === "string",
- isTag = isPartStr && !rNonWord.test( part ),
- isPartStrNotTag = isPartStr && !isTag;
-
- if ( isTag ) {
- part = part.toLowerCase();
- }
-
- for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
- if ( (elem = checkSet[i]) ) {
- while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
- elem || false :
- elem === part;
- }
- }
-
- if ( isPartStrNotTag ) {
- Sizzle.filter( part, checkSet, true );
- }
- },
-
- ">": function( checkSet, part ) {
- var elem,
- isPartStr = typeof part === "string",
- i = 0,
- l = checkSet.length;
-
- if ( isPartStr && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
-
- for ( ; i < l; i++ ) {
- elem = checkSet[i];
-
- if ( elem ) {
- var parent = elem.parentNode;
- checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
- }
- }
-
- } else {
- for ( ; i < l; i++ ) {
- elem = checkSet[i];
-
- if ( elem ) {
- checkSet[i] = isPartStr ?
- elem.parentNode :
- elem.parentNode === part;
- }
- }
-
- if ( isPartStr ) {
- Sizzle.filter( part, checkSet, true );
- }
- }
- },
-
- "": function(checkSet, part, isXML){
- var nodeCheck,
- doneName = done++,
- checkFn = dirCheck;
-
- if ( typeof part === "string" && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
- nodeCheck = part;
- checkFn = dirNodeCheck;
- }
-
- checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
- },
-
- "~": function( checkSet, part, isXML ) {
- var nodeCheck,
- doneName = done++,
- checkFn = dirCheck;
-
- if ( typeof part === "string" && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
- nodeCheck = part;
- checkFn = dirNodeCheck;
- }
-
- checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
- }
- },
-
- find: {
- ID: function( match, context, isXML ) {
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- return m && m.parentNode ? [m] : [];
- }
- },
-
- NAME: function( match, context ) {
- if ( typeof context.getElementsByName !== "undefined" ) {
- var ret = [],
- results = context.getElementsByName( match[1] );
-
- for ( var i = 0, l = results.length; i < l; i++ ) {
- if ( results[i].getAttribute("name") === match[1] ) {
- ret.push( results[i] );
- }
- }
-
- return ret.length === 0 ? null : ret;
- }
- },
-
- TAG: function( match, context ) {
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- return context.getElementsByTagName( match[1] );
- }
- }
- },
- preFilter: {
- CLASS: function( match, curLoop, inplace, result, not, isXML ) {
- match = " " + match[1].replace( rBackslash, "" ) + " ";
-
- if ( isXML ) {
- return match;
- }
-
- for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
- if ( elem ) {
- if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
- if ( !inplace ) {
- result.push( elem );
- }
-
- } else if ( inplace ) {
- curLoop[i] = false;
- }
- }
- }
-
- return false;
- },
-
- ID: function( match ) {
- return match[1].replace( rBackslash, "" );
- },
-
- TAG: function( match, curLoop ) {
- return match[1].replace( rBackslash, "" ).toLowerCase();
- },
-
- CHILD: function( match ) {
- if ( match[1] === "nth" ) {
- if ( !match[2] ) {
- Sizzle.error( match[0] );
- }
-
- match[2] = match[2].replace(/^\+|\s*/g, '');
-
- // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
- var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
- match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
- !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
-
- // calculate the numbers (first)n+(last) including if they are negative
- match[2] = (test[1] + (test[2] || 1)) - 0;
- match[3] = test[3] - 0;
- }
- else if ( match[2] ) {
- Sizzle.error( match[0] );
- }
-
- // TODO: Move to normal caching system
- match[0] = done++;
-
- return match;
- },
-
- ATTR: function( match, curLoop, inplace, result, not, isXML ) {
- var name = match[1] = match[1].replace( rBackslash, "" );
-
- if ( !isXML && Expr.attrMap[name] ) {
- match[1] = Expr.attrMap[name];
- }
-
- // Handle if an un-quoted value was used
- match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
-
- if ( match[2] === "~=" ) {
- match[4] = " " + match[4] + " ";
- }
-
- return match;
- },
-
- PSEUDO: function( match, curLoop, inplace, result, not ) {
- if ( match[1] === "not" ) {
- // If we're dealing with a complex expression, or a simple one
- if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
- match[3] = Sizzle(match[3], null, null, curLoop);
-
- } else {
- var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
-
- if ( !inplace ) {
- result.push.apply( result, ret );
- }
-
- return false;
- }
-
- } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
- return true;
- }
-
- return match;
- },
-
- POS: function( match ) {
- match.unshift( true );
-
- return match;
- }
- },
-
- filters: {
- enabled: function( elem ) {
- return elem.disabled === false && elem.type !== "hidden";
- },
-
- disabled: function( elem ) {
- return elem.disabled === true;
- },
-
- checked: function( elem ) {
- return elem.checked === true;
- },
-
- selected: function( elem ) {
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- if ( elem.parentNode ) {
- elem.parentNode.selectedIndex;
- }
-
- return elem.selected === true;
- },
-
- parent: function( elem ) {
- return !!elem.firstChild;
- },
-
- empty: function( elem ) {
- return !elem.firstChild;
- },
-
- has: function( elem, i, match ) {
- return !!Sizzle( match[3], elem ).length;
- },
-
- header: function( elem ) {
- return (/h\d/i).test( elem.nodeName );
- },
-
- text: function( elem ) {
- var attr = elem.getAttribute( "type" ), type = elem.type;
- // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
- // use getAttribute instead to test this case
- return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
- },
-
- radio: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
- },
-
- checkbox: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
- },
-
- file: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
- },
-
- password: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
- },
-
- submit: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && "submit" === elem.type;
- },
-
- image: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
- },
-
- reset: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && "reset" === elem.type;
- },
-
- button: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && "button" === elem.type || name === "button";
- },
-
- input: function( elem ) {
- return (/input|select|textarea|button/i).test( elem.nodeName );
- },
-
- focus: function( elem ) {
- return elem === elem.ownerDocument.activeElement;
- }
- },
- setFilters: {
- first: function( elem, i ) {
- return i === 0;
- },
-
- last: function( elem, i, match, array ) {
- return i === array.length - 1;
- },
-
- even: function( elem, i ) {
- return i % 2 === 0;
- },
-
- odd: function( elem, i ) {
- return i % 2 === 1;
- },
-
- lt: function( elem, i, match ) {
- return i < match[3] - 0;
- },
-
- gt: function( elem, i, match ) {
- return i > match[3] - 0;
- },
-
- nth: function( elem, i, match ) {
- return match[3] - 0 === i;
- },
-
- eq: function( elem, i, match ) {
- return match[3] - 0 === i;
- }
- },
- filter: {
- PSEUDO: function( elem, match, i, array ) {
- var name = match[1],
- filter = Expr.filters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
-
- } else if ( name === "contains" ) {
- return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
-
- } else if ( name === "not" ) {
- var not = match[3];
-
- for ( var j = 0, l = not.length; j < l; j++ ) {
- if ( not[j] === elem ) {
- return false;
- }
- }
-
- return true;
-
- } else {
- Sizzle.error( name );
- }
- },
-
- CHILD: function( elem, match ) {
- var first, last,
- doneName, parent, cache,
- count, diff,
- type = match[1],
- node = elem;
-
- switch ( type ) {
- case "only":
- case "first":
- while ( (node = node.previousSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
-
- if ( type === "first" ) {
- return true;
- }
-
- node = elem;
-
- case "last":
- while ( (node = node.nextSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
-
- return true;
-
- case "nth":
- first = match[2];
- last = match[3];
-
- if ( first === 1 && last === 0 ) {
- return true;
- }
-
- doneName = match[0];
- parent = elem.parentNode;
-
- if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {
- count = 0;
-
- for ( node = parent.firstChild; node; node = node.nextSibling ) {
- if ( node.nodeType === 1 ) {
- node.nodeIndex = ++count;
- }
- }
-
- parent[ expando ] = doneName;
- }
-
- diff = elem.nodeIndex - last;
-
- if ( first === 0 ) {
- return diff === 0;
-
- } else {
- return ( diff % first === 0 && diff / first >= 0 );
- }
- }
- },
-
- ID: function( elem, match ) {
- return elem.nodeType === 1 && elem.getAttribute("id") === match;
- },
-
- TAG: function( elem, match ) {
- return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;
- },
-
- CLASS: function( elem, match ) {
- return (" " + (elem.className || elem.getAttribute("class")) + " ")
- .indexOf( match ) > -1;
- },
-
- ATTR: function( elem, match ) {
- var name = match[1],
- result = Sizzle.attr ?
- Sizzle.attr( elem, name ) :
- Expr.attrHandle[ name ] ?
- Expr.attrHandle[ name ]( elem ) :
- elem[ name ] != null ?
- elem[ name ] :
- elem.getAttribute( name ),
- value = result + "",
- type = match[2],
- check = match[4];
-
- return result == null ?
- type === "!=" :
- !type && Sizzle.attr ?
- result != null :
- type === "=" ?
- value === check :
- type === "*=" ?
- value.indexOf(check) >= 0 :
- type === "~=" ?
- (" " + value + " ").indexOf(check) >= 0 :
- !check ?
- value && result !== false :
- type === "!=" ?
- value !== check :
- type === "^=" ?
- value.indexOf(check) === 0 :
- type === "$=" ?
- value.substr(value.length - check.length) === check :
- type === "|=" ?
- value === check || value.substr(0, check.length + 1) === check + "-" :
- false;
- },
-
- POS: function( elem, match, i, array ) {
- var name = match[2],
- filter = Expr.setFilters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- }
- }
- }
-};
-
-var origPOS = Expr.match.POS,
- fescape = function(all, num){
- return "\\" + (num - 0 + 1);
- };
-
-for ( var type in Expr.match ) {
- Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
- Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
-}
-
-var makeArray = function( array, results ) {
- array = Array.prototype.slice.call( array, 0 );
-
- if ( results ) {
- results.push.apply( results, array );
- return results;
- }
-
- return array;
-};
-
-// Perform a simple check to determine if the browser is capable of
-// converting a NodeList to an array using builtin methods.
-// Also verifies that the returned array holds DOM nodes
-// (which is not the case in the Blackberry browser)
-try {
- Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
-
-// Provide a fallback method if it does not work
-} catch( e ) {
- makeArray = function( array, results ) {
- var i = 0,
- ret = results || [];
-
- if ( toString.call(array) === "[object Array]" ) {
- Array.prototype.push.apply( ret, array );
-
- } else {
- if ( typeof array.length === "number" ) {
- for ( var l = array.length; i < l; i++ ) {
- ret.push( array[i] );
- }
-
- } else {
- for ( ; array[i]; i++ ) {
- ret.push( array[i] );
- }
- }
- }
-
- return ret;
- };
-}
-
-var sortOrder, siblingCheck;
-
-if ( document.documentElement.compareDocumentPosition ) {
- sortOrder = function( a, b ) {
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
- return a.compareDocumentPosition ? -1 : 1;
- }
-
- return a.compareDocumentPosition(b) & 4 ? -1 : 1;
- };
-
-} else {
- sortOrder = function( a, b ) {
- // The nodes are identical, we can exit early
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
-
- // Fallback to using sourceIndex (in IE) if it's available on both nodes
- } else if ( a.sourceIndex && b.sourceIndex ) {
- return a.sourceIndex - b.sourceIndex;
- }
-
- var al, bl,
- ap = [],
- bp = [],
- aup = a.parentNode,
- bup = b.parentNode,
- cur = aup;
-
- // If the nodes are siblings (or identical) we can do a quick check
- if ( aup === bup ) {
- return siblingCheck( a, b );
-
- // If no parents were found then the nodes are disconnected
- } else if ( !aup ) {
- return -1;
-
- } else if ( !bup ) {
- return 1;
- }
-
- // Otherwise they're somewhere else in the tree so we need
- // to build up a full list of the parentNodes for comparison
- while ( cur ) {
- ap.unshift( cur );
- cur = cur.parentNode;
- }
-
- cur = bup;
-
- while ( cur ) {
- bp.unshift( cur );
- cur = cur.parentNode;
- }
-
- al = ap.length;
- bl = bp.length;
-
- // Start walking down the tree looking for a discrepancy
- for ( var i = 0; i < al && i < bl; i++ ) {
- if ( ap[i] !== bp[i] ) {
- return siblingCheck( ap[i], bp[i] );
- }
- }
-
- // We ended someplace up the tree so do a sibling check
- return i === al ?
- siblingCheck( a, bp[i], -1 ) :
- siblingCheck( ap[i], b, 1 );
- };
-
- siblingCheck = function( a, b, ret ) {
- if ( a === b ) {
- return ret;
- }
-
- var cur = a.nextSibling;
-
- while ( cur ) {
- if ( cur === b ) {
- return -1;
- }
-
- cur = cur.nextSibling;
- }
-
- return 1;
- };
-}
-
-// Check to see if the browser returns elements by name when
-// querying by getElementById (and provide a workaround)
-(function(){
- // We're going to inject a fake input element with a specified name
- var form = document.createElement("div"),
- id = "script" + (new Date()).getTime(),
- root = document.documentElement;
-
- form.innerHTML = " ";
-
- // Inject it into the root element, check its status, and remove it quickly
- root.insertBefore( form, root.firstChild );
-
- // The workaround has to do additional checks after a getElementById
- // Which slows things down for other browsers (hence the branching)
- if ( document.getElementById( id ) ) {
- Expr.find.ID = function( match, context, isXML ) {
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
-
- return m ?
- m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
- [m] :
- undefined :
- [];
- }
- };
-
- Expr.filter.ID = function( elem, match ) {
- var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
-
- return elem.nodeType === 1 && node && node.nodeValue === match;
- };
- }
-
- root.removeChild( form );
-
- // release memory in IE
- root = form = null;
-})();
-
-(function(){
- // Check to see if the browser returns only elements
- // when doing getElementsByTagName("*")
-
- // Create a fake element
- var div = document.createElement("div");
- div.appendChild( document.createComment("") );
-
- // Make sure no comments are found
- if ( div.getElementsByTagName("*").length > 0 ) {
- Expr.find.TAG = function( match, context ) {
- var results = context.getElementsByTagName( match[1] );
-
- // Filter out possible comments
- if ( match[1] === "*" ) {
- var tmp = [];
-
- for ( var i = 0; results[i]; i++ ) {
- if ( results[i].nodeType === 1 ) {
- tmp.push( results[i] );
- }
- }
-
- results = tmp;
- }
-
- return results;
- };
- }
-
- // Check to see if an attribute returns normalized href attributes
- div.innerHTML = " ";
-
- if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
- div.firstChild.getAttribute("href") !== "#" ) {
-
- Expr.attrHandle.href = function( elem ) {
- return elem.getAttribute( "href", 2 );
- };
- }
-
- // release memory in IE
- div = null;
-})();
-
-if ( document.querySelectorAll ) {
- (function(){
- var oldSizzle = Sizzle,
- div = document.createElement("div"),
- id = "__sizzle__";
-
- div.innerHTML = "
";
-
- // Safari can't handle uppercase or unicode characters when
- // in quirks mode.
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
- return;
- }
-
- Sizzle = function( query, context, extra, seed ) {
- context = context || document;
-
- // Only use querySelectorAll on non-XML documents
- // (ID selectors don't work in non-HTML documents)
- if ( !seed && !Sizzle.isXML(context) ) {
- // See if we find a selector to speed up
- var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
-
- if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
- // Speed-up: Sizzle("TAG")
- if ( match[1] ) {
- return makeArray( context.getElementsByTagName( query ), extra );
-
- // Speed-up: Sizzle(".CLASS")
- } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
- return makeArray( context.getElementsByClassName( match[2] ), extra );
- }
- }
-
- if ( context.nodeType === 9 ) {
- // Speed-up: Sizzle("body")
- // The body element only exists once, optimize finding it
- if ( query === "body" && context.body ) {
- return makeArray( [ context.body ], extra );
-
- // Speed-up: Sizzle("#ID")
- } else if ( match && match[3] ) {
- var elem = context.getElementById( match[3] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id === match[3] ) {
- return makeArray( [ elem ], extra );
- }
-
- } else {
- return makeArray( [], extra );
- }
- }
-
- try {
- return makeArray( context.querySelectorAll(query), extra );
- } catch(qsaError) {}
-
- // qSA works strangely on Element-rooted queries
- // We can work around this by specifying an extra ID on the root
- // and working up from there (Thanks to Andrew Dupont for the technique)
- // IE 8 doesn't work on object elements
- } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
- var oldContext = context,
- old = context.getAttribute( "id" ),
- nid = old || id,
- hasParent = context.parentNode,
- relativeHierarchySelector = /^\s*[+~]/.test( query );
-
- if ( !old ) {
- context.setAttribute( "id", nid );
- } else {
- nid = nid.replace( /'/g, "\\$&" );
- }
- if ( relativeHierarchySelector && hasParent ) {
- context = context.parentNode;
- }
-
- try {
- if ( !relativeHierarchySelector || hasParent ) {
- return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
- }
-
- } catch(pseudoError) {
- } finally {
- if ( !old ) {
- oldContext.removeAttribute( "id" );
- }
- }
- }
- }
-
- return oldSizzle(query, context, extra, seed);
- };
-
- for ( var prop in oldSizzle ) {
- Sizzle[ prop ] = oldSizzle[ prop ];
- }
-
- // release memory in IE
- div = null;
- })();
-}
-
-(function(){
- var html = document.documentElement,
- matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
-
- if ( matches ) {
- // Check to see if it's possible to do matchesSelector
- // on a disconnected node (IE 9 fails this)
- var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
- pseudoWorks = false;
-
- try {
- // This should fail with an exception
- // Gecko does not error, returns false instead
- matches.call( document.documentElement, "[test!='']:sizzle" );
-
- } catch( pseudoError ) {
- pseudoWorks = true;
- }
-
- Sizzle.matchesSelector = function( node, expr ) {
- // Make sure that attribute selectors are quoted
- expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
-
- if ( !Sizzle.isXML( node ) ) {
- try {
- if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
- var ret = matches.call( node, expr );
-
- // IE 9's matchesSelector returns false on disconnected nodes
- if ( ret || !disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9, so check for that
- node.document && node.document.nodeType !== 11 ) {
- return ret;
- }
- }
- } catch(e) {}
- }
-
- return Sizzle(expr, null, null, [node]).length > 0;
- };
- }
-})();
-
-(function(){
- var div = document.createElement("div");
-
- div.innerHTML = "
";
-
- // Opera can't find a second classname (in 9.6)
- // Also, make sure that getElementsByClassName actually exists
- if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
- return;
- }
-
- // Safari caches class attributes, doesn't catch changes (in 3.2)
- div.lastChild.className = "e";
-
- if ( div.getElementsByClassName("e").length === 1 ) {
- return;
- }
-
- Expr.order.splice(1, 0, "CLASS");
- Expr.find.CLASS = function( match, context, isXML ) {
- if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
- return context.getElementsByClassName(match[1]);
- }
- };
-
- // release memory in IE
- div = null;
-})();
-
-function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
-
- if ( elem ) {
- var match = false;
-
- elem = elem[dir];
-
- while ( elem ) {
- if ( elem[ expando ] === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 && !isXML ){
- elem[ expando ] = doneName;
- elem.sizset = i;
- }
-
- if ( elem.nodeName.toLowerCase() === cur ) {
- match = elem;
- break;
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
-
- if ( elem ) {
- var match = false;
-
- elem = elem[dir];
-
- while ( elem ) {
- if ( elem[ expando ] === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 ) {
- if ( !isXML ) {
- elem[ expando ] = doneName;
- elem.sizset = i;
- }
-
- if ( typeof cur !== "string" ) {
- if ( elem === cur ) {
- match = true;
- break;
- }
-
- } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
- match = elem;
- break;
- }
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-if ( document.documentElement.contains ) {
- Sizzle.contains = function( a, b ) {
- return a !== b && (a.contains ? a.contains(b) : true);
- };
-
-} else if ( document.documentElement.compareDocumentPosition ) {
- Sizzle.contains = function( a, b ) {
- return !!(a.compareDocumentPosition(b) & 16);
- };
-
-} else {
- Sizzle.contains = function() {
- return false;
- };
-}
-
-Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
-
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-var posProcess = function( selector, context, seed ) {
- var match,
- tmpSet = [],
- later = "",
- root = context.nodeType ? [context] : context;
-
- // Position selectors must be done after the filter
- // And so must :not(positional) so we move all PSEUDOs to the end
- while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
- later += match[0];
- selector = selector.replace( Expr.match.PSEUDO, "" );
- }
-
- selector = Expr.relative[selector] ? selector + "*" : selector;
-
- for ( var i = 0, l = root.length; i < l; i++ ) {
- Sizzle( selector, root[i], tmpSet, seed );
- }
-
- return Sizzle.filter( later, tmpSet );
-};
-
-// EXPOSE
-// Override sizzle attribute retrieval
-Sizzle.attr = jQuery.attr;
-Sizzle.selectors.attrMap = {};
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[":"] = jQuery.expr.filters;
-jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-
-
-})();
-
-
-var runtil = /Until$/,
- rparentsprev = /^(?:parents|prevUntil|prevAll)/,
- // Note: This RegExp should be improved, or likely pulled from Sizzle
- rmultiselector = /,/,
- isSimple = /^.[^:#\[\.,]*$/,
- slice = Array.prototype.slice,
- POS = jQuery.expr.match.POS,
- // methods guaranteed to produce a unique set when starting from a unique set
- guaranteedUnique = {
- children: true,
- contents: true,
- next: true,
- prev: true
- };
-
-jQuery.fn.extend({
- find: function( selector ) {
- var self = this,
- i, l;
-
- if ( typeof selector !== "string" ) {
- return jQuery( selector ).filter(function() {
- for ( i = 0, l = self.length; i < l; i++ ) {
- if ( jQuery.contains( self[ i ], this ) ) {
- return true;
- }
- }
- });
- }
-
- var ret = this.pushStack( "", "find", selector ),
- length, n, r;
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- length = ret.length;
- jQuery.find( selector, this[i], ret );
-
- if ( i > 0 ) {
- // Make sure that the results are unique
- for ( n = length; n < ret.length; n++ ) {
- for ( r = 0; r < length; r++ ) {
- if ( ret[r] === ret[n] ) {
- ret.splice(n--, 1);
- break;
- }
- }
- }
- }
- }
-
- return ret;
- },
-
- has: function( target ) {
- var targets = jQuery( target );
- return this.filter(function() {
- for ( var i = 0, l = targets.length; i < l; i++ ) {
- if ( jQuery.contains( this, targets[i] ) ) {
- return true;
- }
- }
- });
- },
-
- not: function( selector ) {
- return this.pushStack( winnow(this, selector, false), "not", selector);
- },
-
- filter: function( selector ) {
- return this.pushStack( winnow(this, selector, true), "filter", selector );
- },
-
- is: function( selector ) {
- return !!selector && (
- typeof selector === "string" ?
- // If this is a positional selector, check membership in the returned set
- // so $("p:first").is("p:last") won't return true for a doc with two "p".
- POS.test( selector ) ?
- jQuery( selector, this.context ).index( this[0] ) >= 0 :
- jQuery.filter( selector, this ).length > 0 :
- this.filter( selector ).length > 0 );
- },
-
- closest: function( selectors, context ) {
- var ret = [], i, l, cur = this[0];
-
- // Array (deprecated as of jQuery 1.7)
- if ( jQuery.isArray( selectors ) ) {
- var level = 1;
-
- while ( cur && cur.ownerDocument && cur !== context ) {
- for ( i = 0; i < selectors.length; i++ ) {
-
- if ( jQuery( cur ).is( selectors[ i ] ) ) {
- ret.push({ selector: selectors[ i ], elem: cur, level: level });
- }
- }
-
- cur = cur.parentNode;
- level++;
- }
-
- return ret;
- }
-
- // String
- var pos = POS.test( selectors ) || typeof selectors !== "string" ?
- jQuery( selectors, context || this.context ) :
- 0;
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- cur = this[i];
-
- while ( cur ) {
- if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
- ret.push( cur );
- break;
-
- } else {
- cur = cur.parentNode;
- if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
- break;
- }
- }
- }
- }
-
- ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
-
- return this.pushStack( ret, "closest", selectors );
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
-
- // No argument, return index in parent
- if ( !elem ) {
- return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
- }
-
- // index in selector
- if ( typeof elem === "string" ) {
- return jQuery.inArray( this[0], jQuery( elem ) );
- }
-
- // Locate the position of the desired element
- return jQuery.inArray(
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[0] : elem, this );
- },
-
- add: function( selector, context ) {
- var set = typeof selector === "string" ?
- jQuery( selector, context ) :
- jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
- all = jQuery.merge( this.get(), set );
-
- return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
- all :
- jQuery.unique( all ) );
- },
-
- andSelf: function() {
- return this.add( this.prevObject );
- }
-});
-
-// A painfully simple check to see if an element is disconnected
-// from a document (should be improved, where feasible).
-function isDisconnected( node ) {
- return !node || !node.parentNode || node.parentNode.nodeType === 11;
-}
-
-jQuery.each({
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return jQuery.dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return jQuery.nth( elem, 2, "nextSibling" );
- },
- prev: function( elem ) {
- return jQuery.nth( elem, 2, "previousSibling" );
- },
- nextAll: function( elem ) {
- return jQuery.dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return jQuery.dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return jQuery.sibling( elem.parentNode.firstChild, elem );
- },
- children: function( elem ) {
- return jQuery.sibling( elem.firstChild );
- },
- contents: function( elem ) {
- return jQuery.nodeName( elem, "iframe" ) ?
- elem.contentDocument || elem.contentWindow.document :
- jQuery.makeArray( elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var ret = jQuery.map( this, fn, until );
-
- if ( !runtil.test( name ) ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- ret = jQuery.filter( selector, ret );
- }
-
- ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
-
- if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
- ret = ret.reverse();
- }
-
- return this.pushStack( ret, name, slice.call( arguments ).join(",") );
- };
-});
-
-jQuery.extend({
- filter: function( expr, elems, not ) {
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- return elems.length === 1 ?
- jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
- jQuery.find.matches(expr, elems);
- },
-
- dir: function( elem, dir, until ) {
- var matched = [],
- cur = elem[ dir ];
-
- while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
- if ( cur.nodeType === 1 ) {
- matched.push( cur );
- }
- cur = cur[dir];
- }
- return matched;
- },
-
- nth: function( cur, result, dir, elem ) {
- result = result || 1;
- var num = 0;
-
- for ( ; cur; cur = cur[dir] ) {
- if ( cur.nodeType === 1 && ++num === result ) {
- break;
- }
- }
-
- return cur;
- },
-
- sibling: function( n, elem ) {
- var r = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- r.push( n );
- }
- }
-
- return r;
- }
-});
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, keep ) {
-
- // Can't pass null or undefined to indexOf in Firefox 4
- // Set to 0 to skip string check
- qualifier = qualifier || 0;
-
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep(elements, function( elem, i ) {
- var retVal = !!qualifier.call( elem, i, elem );
- return retVal === keep;
- });
-
- } else if ( qualifier.nodeType ) {
- return jQuery.grep(elements, function( elem, i ) {
- return ( elem === qualifier ) === keep;
- });
-
- } else if ( typeof qualifier === "string" ) {
- var filtered = jQuery.grep(elements, function( elem ) {
- return elem.nodeType === 1;
- });
-
- if ( isSimple.test( qualifier ) ) {
- return jQuery.filter(qualifier, filtered, !keep);
- } else {
- qualifier = jQuery.filter( qualifier, filtered );
- }
- }
-
- return jQuery.grep(elements, function( elem, i ) {
- return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
- });
-}
-
-
-
-
-function createSafeFragment( document ) {
- var list = nodeNames.split( "|" ),
- safeFrag = document.createDocumentFragment();
-
- if ( safeFrag.createElement ) {
- while ( list.length ) {
- safeFrag.createElement(
- list.pop()
- );
- }
- }
- return safeFrag;
-}
-
-var nodeNames = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|" +
- "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
- rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
- rleadingWhitespace = /^\s+/,
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
- rtagName = /<([\w:]+)/,
- rtbody = /", "" ],
- legend: [ 1, "", " " ],
- thead: [ 1, "" ],
- tr: [ 2, "" ],
- td: [ 3, "" ],
- col: [ 2, "" ],
- area: [ 1, "", " " ],
- _default: [ 0, "", "" ]
- },
- safeFragment = createSafeFragment( document );
-
-wrapMap.optgroup = wrapMap.option;
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// IE can't serialize and